Changeset 96980 in webkit


Ignore:
Timestamp:
Oct 7, 2011 1:52:56 PM (13 years ago)
Author:
fpizlo@apple.com
Message:

DFG ConvertThis speculation logic is wrong
https://bugs.webkit.org/show_bug.cgi?id=69663

Reviewed by Oliver Hunt.

  • dfg/DFGPropagator.cpp:

(JSC::DFG::Propagator::fixupNode):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

Location:
trunk/Source/JavaScriptCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r96978 r96980  
     12011-10-07  Filip Pizlo  <fpizlo@apple.com>
     2
     3        DFG ConvertThis speculation logic is wrong
     4        https://bugs.webkit.org/show_bug.cgi?id=69663
     5
     6        Reviewed by Oliver Hunt.
     7
     8        * dfg/DFGPropagator.cpp:
     9        (JSC::DFG::Propagator::fixupNode):
     10        * dfg/DFGSpeculativeJIT32_64.cpp:
     11        (JSC::DFG::SpeculativeJIT::compile):
     12        * dfg/DFGSpeculativeJIT64.cpp:
     13        (JSC::DFG::SpeculativeJIT::compile):
     14
    1152011-10-07  Oliver Hunt  <oliver@apple.com>
    216
  • trunk/Source/JavaScriptCore/dfg/DFGPropagator.cpp

    r96962 r96980  
    721721           
    722722#if ENABLE(DFG_DEBUG_PROPAGATION_VERBOSE)
    723             printf("  @%u -> %s", nodeIndex, isArray ? "GetArrayLength" : "GetStringLength");
     723            printf("  @%u -> %s", m_compileIndex, isArray ? "GetArrayLength" : "GetStringLength");
    724724#endif
    725725            node.op = isArray ? GetArrayLength : GetStringLength;
  • trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp

    r96962 r96980  
    17111711       
    17121712    case ConvertThis: {
    1713         if (isOtherPrediction(node.prediction())) {
     1713        if (isOtherPrediction(at(node.child1()).prediction())) {
    17141714            JSValueOperand thisValue(this, node.child1());
    17151715            GPRTemporary scratch(this, thisValue);
     
    17271727        }
    17281728       
    1729         if (isObjectPrediction(node.prediction())) {
     1729        if (isObjectPrediction(at(node.child1()).prediction())) {
    17301730            SpeculateCellOperand thisValue(this, node.child1());
    17311731           
  • trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp

    r96962 r96980  
    17871787       
    17881788    case ConvertThis: {
    1789         if (isOtherPrediction(node.prediction())) {
     1789        if (isOtherPrediction(at(node.child1()).prediction())) {
    17901790            JSValueOperand thisValue(this, node.child1());
    17911791            GPRTemporary scratch(this, thisValue);
     
    18021802        }
    18031803       
    1804         if (isObjectPrediction(node.prediction())) {
     1804        if (isObjectPrediction(at(node.child1()).prediction())) {
    18051805            SpeculateCellOperand thisValue(this, node.child1());
    18061806           
Note: See TracChangeset for help on using the changeset viewer.