Changeset 96178 in webkit


Ignore:
Timestamp:
Sep 27, 2011 6:52:21 PM (13 years ago)
Author:
barraclough@apple.com
Message:

DFG JIT - merge changes between 95905 - 96175
https://bugs.webkit.org/show_bug.cgi?id=68963

Reviewed by Sam Weinig.

Merge missing changes from bug#68677, bug#68784, bug#68785.

  • dfg/DFGJITCompiler32_64.cpp:

(JSC::DFG::JITCompiler::exitSpeculativeWithOSR):
(JSC::DFG::JITCompiler::compileEntry):
(JSC::DFG::JITCompiler::compileBody):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

Location:
trunk/Source/JavaScriptCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r96175 r96178  
     12011-09-27  Gavin Barraclough  <barraclough@apple.com>
     2
     3        DFG JIT - merge changes between 95905 - 96175
     4        https://bugs.webkit.org/show_bug.cgi?id=68963
     5
     6        Reviewed by Sam Weinig.
     7
     8        Merge missing changes from bug#68677, bug#68784, bug#68785.
     9
     10        * dfg/DFGJITCompiler32_64.cpp:
     11        (JSC::DFG::JITCompiler::exitSpeculativeWithOSR):
     12        (JSC::DFG::JITCompiler::compileEntry):
     13        (JSC::DFG::JITCompiler::compileBody):
     14        * dfg/DFGSpeculativeJIT32_64.cpp:
     15        (JSC::DFG::SpeculativeJIT::compile):
     16
    1172011-09-27  Gavin Barraclough  <barraclough@apple.com>
    218
  • trunk/Source/JavaScriptCore/dfg/DFGJITCompiler32_64.cpp

    r96175 r96178  
    9696    exit.dump(stderr);
    9797#endif
    98 #if ENABLE(DFG_JIT_BREAK_ON_SPECULATION_FAILURE)
    99     breakpoint();
    100 #endif
    101    
    10298#if ENABLE(DFG_VERBOSE_SPECULATION_FAILURE)
    10399    SpeculationFailureDebugInfo* debugInfo = new SpeculationFailureDebugInfo;
     
    106102   
    107103    debugCall(debugOperationPrintSpeculationFailure, debugInfo);
     104#endif
     105   
     106#if ENABLE(DFG_JIT_BREAK_ON_SPECULATION_FAILURE)
     107    breakpoint();
    108108#endif
    109109   
     
    523523    preserveReturnAddressAfterCall(GPRInfo::regT2);
    524524    emitPutToCallFrameHeader(GPRInfo::regT2, RegisterFile::ReturnPC);
    525 
    526     addPtr(Imm32(1), AbsoluteAddress(codeBlock()->addressOfSpeculativeSuccessCounter()));
    527525}
    528526
     
    534532    breakpoint();
    535533#endif
     534   
     535    addPtr(Imm32(1), AbsoluteAddress(codeBlock()->addressOfSpeculativeSuccessCounter()));
    536536
    537537    Label speculativePathBegin = label();
  • trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp

    r96175 r96178  
    602602
    603603    case GetLocal: {
     604        PredictedType prediction = m_jit.graph().getPrediction(node.local());
     605
     606        // If we have no prediction for this local, then don't attempt to compile.
     607        if (prediction == PredictNone) {
     608            terminateSpeculativeExecution();
     609            break;
     610        }
     611       
    604612        GPRTemporary result(this);
    605         PredictedType prediction = m_jit.graph().getPrediction(node.local());
    606613        VirtualRegister virtualRegister = node.virtualRegister();
    607614        m_jit.load32(JITCompiler::payloadFor(node.local()), result.gpr());
Note: See TracChangeset for help on using the changeset viewer.