Changeset 166662 in webkit


Ignore:
Timestamp:
Apr 2, 2014 1:49:27 PM (10 years ago)
Author:
mark.lam@apple.com
Message:

Added some more dataLog info for OSR exits.
<https://webkit.org/b/131120>

Reviewed by Michael Saboff.

Adding info about the OSR exit index, the bytecode index of the bytecode
that is OSR exiting, and the reason for the OSR exit. This change is
for debugging code which only comes into play when we use the
--printEachOSRExit option.

  • dfg/DFGOSRExit.h:
  • dfg/DFGOSRExitCompiler32_64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGOSRExitCompiler64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGOperations.cpp:
Location:
trunk/Source/JavaScriptCore
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r166648 r166662  
     12014-04-02  Mark Lam  <mark.lam@apple.com>
     2
     3        Added some more dataLog info for OSR exits.
     4        <https://webkit.org/b/131120>
     5
     6        Reviewed by Michael Saboff.
     7
     8        Adding info about the OSR exit index, the bytecode index of the bytecode
     9        that is OSR exiting, and the reason for the OSR exit.  This change is
     10        for debugging code which only comes into play when we use the
     11        --printEachOSRExit option.
     12
     13        * dfg/DFGOSRExit.h:
     14        * dfg/DFGOSRExitCompiler32_64.cpp:
     15        (JSC::DFG::OSRExitCompiler::compileExit):
     16        * dfg/DFGOSRExitCompiler64.cpp:
     17        (JSC::DFG::OSRExitCompiler::compileExit):
     18        * dfg/DFGOperations.cpp:
     19
    1202014-04-02  Martin Robinson  <mrobinson@igalia.com>
    221
  • trunk/Source/JavaScriptCore/dfg/DFGOSRExit.h

    r164424 r166662  
    113113struct SpeculationFailureDebugInfo {
    114114    CodeBlock* codeBlock;
     115    ExitKind kind;
     116    unsigned bytecodeOffset;
    115117};
    116118
  • trunk/Source/JavaScriptCore/dfg/DFGOSRExitCompiler32_64.cpp

    r164923 r166662  
    4343        SpeculationFailureDebugInfo* debugInfo = new SpeculationFailureDebugInfo;
    4444        debugInfo->codeBlock = m_jit.codeBlock();
     45        debugInfo->kind = exit.m_kind;
     46        debugInfo->bytecodeOffset = exit.m_codeOrigin.bytecodeIndex;
    4547       
    4648        m_jit.debugCall(debugOperationPrintSpeculationFailure, debugInfo);
  • trunk/Source/JavaScriptCore/dfg/DFGOSRExitCompiler64.cpp

    r164923 r166662  
    4747        SpeculationFailureDebugInfo* debugInfo = new SpeculationFailureDebugInfo;
    4848        debugInfo->codeBlock = m_jit.codeBlock();
     49        debugInfo->kind = exit.m_kind;
     50        debugInfo->bytecodeOffset = exit.m_codeOrigin.bytecodeIndex;
    4951       
    5052        m_jit.debugCall(debugOperationPrintSpeculationFailure, debugInfo);
  • trunk/Source/JavaScriptCore/dfg/DFGOperations.cpp

    r165005 r166662  
    10411041    CodeBlock* codeBlock = debugInfo->codeBlock;
    10421042    CodeBlock* alternative = codeBlock->alternative();
    1043     dataLog(
    1044         "Speculation failure in ", *codeBlock, " with ");
     1043    dataLog("Speculation failure in ", *codeBlock);
     1044    dataLog(" @ exit #", vm->osrExitIndex, " (bc#", debugInfo->bytecodeOffset, ", ", exitKindToString(debugInfo->kind), ") with ");
    10451045    if (alternative) {
    10461046        dataLog(
Note: See TracChangeset for help on using the changeset viewer.