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