Changeset 157429 in webkit


Ignore:
Timestamp:
Oct 14, 2013 4:30:37 PM (10 years ago)
Author:
mark.lam@apple.com
Message:

Add FTL support for LogicalNot(string)
https://bugs.webkit.org/show_bug.cgi?id=122765

Patch by Nadav Rotem <nrotem@apple.com> on 2013-10-14
Reviewed by Filip Pizlo.

This patch is tested by:
regress/script-tests/emscripten-cube2hash.js.ftl-eager

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileLogicalNot):

Location:
trunk/Source/JavaScriptCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r157427 r157429  
     12013-10-14  Nadav Rotem  <nrotem@apple.com>
     2
     3        Add FTL support for LogicalNot(string)
     4        https://bugs.webkit.org/show_bug.cgi?id=122765
     5
     6        Reviewed by Filip Pizlo.
     7
     8        This patch is tested by:
     9        regress/script-tests/emscripten-cube2hash.js.ftl-eager
     10
     11        * ftl/FTLCapabilities.cpp:
     12        (JSC::FTL::canCompile):
     13        * ftl/FTLLowerDFGToLLVM.cpp:
     14        (JSC::FTL::LowerDFGToLLVM::compileLogicalNot):
     15
    1162013-10-14  Julien Brianceau  <jbriance@cisco.com>
    217
  • trunk/Source/JavaScriptCore/ftl/FTLCapabilities.cpp

    r157409 r157429  
    190190        case Int32Use:
    191191        case NumberUse:
     192        case StringUse:
    192193        case ObjectOrOtherUse:
    193194            break;
  • trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp

    r157409 r157429  
    21102110                    edge, CellCaseSpeculatesObject, SpeculateNullOrUndefined,
    21112111                    ManualOperandSpeculation));
     2112        case StringUse: {
     2113            LValue stringValue = lowString(m_node->child1());
     2114            LValue length = m_out.load32(stringValue, m_heaps.JSString_length);
     2115            return m_out.notEqual(length, m_out.int32Zero);
     2116        }
    21122117        default:
    21132118            RELEASE_ASSERT_NOT_REACHED();
Note: See TracChangeset for help on using the changeset viewer.