Title: [166662] trunk/Source/_javascript_Core
Revision
166662
Author
[email protected]
Date
2014-04-02 13:49:27 -0700 (Wed, 02 Apr 2014)

Log 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:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (166661 => 166662)


--- trunk/Source/_javascript_Core/ChangeLog	2014-04-02 20:07:33 UTC (rev 166661)
+++ trunk/Source/_javascript_Core/ChangeLog	2014-04-02 20:49:27 UTC (rev 166662)
@@ -1,3 +1,22 @@
+2014-04-02  Mark Lam  <[email protected]>
+
+        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:
+
 2014-04-02  Martin Robinson  <[email protected]>
 
         REGRESSION(r165704): [GTK] Inspector resources not correctly generated

Modified: trunk/Source/_javascript_Core/dfg/DFGOSRExit.h (166661 => 166662)


--- trunk/Source/_javascript_Core/dfg/DFGOSRExit.h	2014-04-02 20:07:33 UTC (rev 166661)
+++ trunk/Source/_javascript_Core/dfg/DFGOSRExit.h	2014-04-02 20:49:27 UTC (rev 166662)
@@ -112,6 +112,8 @@
 
 struct SpeculationFailureDebugInfo {
     CodeBlock* codeBlock;
+    ExitKind kind;
+    unsigned bytecodeOffset;
 };
 
 } } // namespace JSC::DFG

Modified: trunk/Source/_javascript_Core/dfg/DFGOSRExitCompiler32_64.cpp (166661 => 166662)


--- trunk/Source/_javascript_Core/dfg/DFGOSRExitCompiler32_64.cpp	2014-04-02 20:07:33 UTC (rev 166661)
+++ trunk/Source/_javascript_Core/dfg/DFGOSRExitCompiler32_64.cpp	2014-04-02 20:49:27 UTC (rev 166662)
@@ -42,6 +42,8 @@
     if (Options::printEachOSRExit()) {
         SpeculationFailureDebugInfo* debugInfo = new SpeculationFailureDebugInfo;
         debugInfo->codeBlock = m_jit.codeBlock();
+        debugInfo->kind = exit.m_kind;
+        debugInfo->bytecodeOffset = exit.m_codeOrigin.bytecodeIndex;
         
         m_jit.debugCall(debugOperationPrintSpeculationFailure, debugInfo);
     }

Modified: trunk/Source/_javascript_Core/dfg/DFGOSRExitCompiler64.cpp (166661 => 166662)


--- trunk/Source/_javascript_Core/dfg/DFGOSRExitCompiler64.cpp	2014-04-02 20:07:33 UTC (rev 166661)
+++ trunk/Source/_javascript_Core/dfg/DFGOSRExitCompiler64.cpp	2014-04-02 20:49:27 UTC (rev 166662)
@@ -46,6 +46,8 @@
     if (Options::printEachOSRExit()) {
         SpeculationFailureDebugInfo* debugInfo = new SpeculationFailureDebugInfo;
         debugInfo->codeBlock = m_jit.codeBlock();
+        debugInfo->kind = exit.m_kind;
+        debugInfo->bytecodeOffset = exit.m_codeOrigin.bytecodeIndex;
         
         m_jit.debugCall(debugOperationPrintSpeculationFailure, debugInfo);
     }

Modified: trunk/Source/_javascript_Core/dfg/DFGOperations.cpp (166661 => 166662)


--- trunk/Source/_javascript_Core/dfg/DFGOperations.cpp	2014-04-02 20:07:33 UTC (rev 166661)
+++ trunk/Source/_javascript_Core/dfg/DFGOperations.cpp	2014-04-02 20:49:27 UTC (rev 166662)
@@ -1040,8 +1040,8 @@
     SpeculationFailureDebugInfo* debugInfo = static_cast<SpeculationFailureDebugInfo*>(debugInfoRaw);
     CodeBlock* codeBlock = debugInfo->codeBlock;
     CodeBlock* alternative = codeBlock->alternative();
-    dataLog(
-        "Speculation failure in ", *codeBlock, " with ");
+    dataLog("Speculation failure in ", *codeBlock);
+    dataLog(" @ exit #", vm->osrExitIndex, " (bc#", debugInfo->bytecodeOffset, ", ", exitKindToString(debugInfo->kind), ") with ");
     if (alternative) {
         dataLog(
             "executeCounter = ", alternative->jitExecuteCounter(),
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to