Title: [92892] trunk/Source/_javascript_Core
- Revision
- 92892
- Author
- [email protected]
- Date
- 2011-08-11 17:11:08 -0700 (Thu, 11 Aug 2011)
Log Message
DFG JIT verbose mode does not report the generated types of nodes
https://bugs.webkit.org/show_bug.cgi?id=65830
Reviewed by Sam Weinig.
Added code that prints the type selected for each node's result.
* dfg/DFGGenerationInfo.h:
(JSC::DFG::dataFormatToString):
* dfg/DFGNonSpeculativeJIT.cpp:
(JSC::DFG::NonSpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compile):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (92891 => 92892)
--- trunk/Source/_javascript_Core/ChangeLog 2011-08-11 23:43:11 UTC (rev 92891)
+++ trunk/Source/_javascript_Core/ChangeLog 2011-08-12 00:11:08 UTC (rev 92892)
@@ -1,3 +1,19 @@
+2011-08-11 Filip Pizlo <[email protected]>
+
+ DFG JIT verbose mode does not report the generated types of nodes
+ https://bugs.webkit.org/show_bug.cgi?id=65830
+
+ Reviewed by Sam Weinig.
+
+ Added code that prints the type selected for each node's result.
+
+ * dfg/DFGGenerationInfo.h:
+ (JSC::DFG::dataFormatToString):
+ * dfg/DFGNonSpeculativeJIT.cpp:
+ (JSC::DFG::NonSpeculativeJIT::compile):
+ * dfg/DFGSpeculativeJIT.cpp:
+ (JSC::DFG::SpeculativeJIT::compile):
+
2011-08-11 James Robinson <[email protected]>
nullptr can't be used for PassRefPtr
Modified: trunk/Source/_javascript_Core/dfg/DFGGenerationInfo.h (92891 => 92892)
--- trunk/Source/_javascript_Core/dfg/DFGGenerationInfo.h 2011-08-11 23:43:11 UTC (rev 92891)
+++ trunk/Source/_javascript_Core/dfg/DFGGenerationInfo.h 2011-08-12 00:11:08 UTC (rev 92892)
@@ -49,6 +49,32 @@
DataFormatJSCell = DataFormatJS | DataFormatCell,
};
+#ifndef NDEBUG
+inline const char* dataFormatToString(DataFormat dataFormat)
+{
+ switch (dataFormat) {
+ case DataFormatNone:
+ return "None";
+ case DataFormatInteger:
+ return "Integer";
+ case DataFormatDouble:
+ return "Double";
+ case DataFormatCell:
+ return "Cell";
+ case DataFormatJS:
+ return "JS";
+ case DataFormatJSInteger:
+ return "JSInteger";
+ case DataFormatJSDouble:
+ return "JSDouble";
+ case DataFormatJSCell:
+ return "JSCell";
+ default:
+ return "Unknown";
+ }
+}
+#endif
+
inline bool needDataFormatConversion(DataFormat from, DataFormat to)
{
ASSERT(from != DataFormatNone);
Modified: trunk/Source/_javascript_Core/dfg/DFGNonSpeculativeJIT.cpp (92891 => 92892)
--- trunk/Source/_javascript_Core/dfg/DFGNonSpeculativeJIT.cpp 2011-08-11 23:43:11 UTC (rev 92891)
+++ trunk/Source/_javascript_Core/dfg/DFGNonSpeculativeJIT.cpp 2011-08-12 00:11:08 UTC (rev 92892)
@@ -1186,7 +1186,7 @@
continue;
#if DFG_DEBUG_VERBOSE
- fprintf(stderr, "NonSpeculativeJIT generating Node @%d at code offset 0x%x\n", (int)m_compileIndex, m_jit.debugOffset());
+ fprintf(stderr, "NonSpeculativeJIT generating Node @%d at code offset 0x%x ", (int)m_compileIndex, m_jit.debugOffset());
#endif
#if DFG_JIT_BREAK_ON_EVERY_NODE
m_jit.breakpoint();
@@ -1194,6 +1194,12 @@
checkConsistency();
compile(checkIterator, node);
+#if DFG_DEBUG_VERBOSE
+ if (node.hasResult())
+ fprintf(stderr, "-> %s\n", dataFormatToString(m_generationInfo[node.virtualRegister()].registerFormat()));
+ else
+ fprintf(stderr, "\n");
+#endif
checkConsistency();
}
}
Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp (92891 => 92892)
--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp 2011-08-11 23:43:11 UTC (rev 92891)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp 2011-08-12 00:11:08 UTC (rev 92892)
@@ -1283,7 +1283,7 @@
continue;
#if DFG_DEBUG_VERBOSE
- fprintf(stderr, "SpeculativeJIT generating Node @%d at JIT offset 0x%x\n", (int)m_compileIndex, m_jit.debugOffset());
+ fprintf(stderr, "SpeculativeJIT generating Node @%d at JIT offset 0x%x ", (int)m_compileIndex, m_jit.debugOffset());
#endif
#if DFG_JIT_BREAK_ON_EVERY_NODE
m_jit.breakpoint();
@@ -1292,6 +1292,12 @@
compile(node);
if (!m_compileOkay)
return;
+#if DFG_DEBUG_VERBOSE
+ if (node.hasResult())
+ fprintf(stderr, "-> %s\n", dataFormatToString(m_generationInfo[node.virtualRegister()].registerFormat()));
+ else
+ fprintf(stderr, "\n");
+#endif
checkConsistency();
}
}
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes