Title: [101615] trunk/Source/_javascript_Core
- Revision
- 101615
- Author
- [email protected]
- Date
- 2011-11-30 23:11:19 -0800 (Wed, 30 Nov 2011)
Log Message
DFG should make it easier to notice node boundaries in disassembly
https://bugs.webkit.org/show_bug.cgi?id=73509
Rubber-stamped by Gavin Barraclough
If you set XOR_DEBUG_AID to 1 in DFGCommon.h, a pair of xor's will
be emitted at node boundaries, where the immediate being xor'd is the
node index.
* dfg/DFGCommon.h:
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compile):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (101614 => 101615)
--- trunk/Source/_javascript_Core/ChangeLog 2011-12-01 07:01:47 UTC (rev 101614)
+++ trunk/Source/_javascript_Core/ChangeLog 2011-12-01 07:11:19 UTC (rev 101615)
@@ -1,3 +1,18 @@
+2011-11-30 Filip Pizlo <[email protected]>
+
+ DFG should make it easier to notice node boundaries in disassembly
+ https://bugs.webkit.org/show_bug.cgi?id=73509
+
+ Rubber-stamped by Gavin Barraclough
+
+ If you set XOR_DEBUG_AID to 1 in DFGCommon.h, a pair of xor's will
+ be emitted at node boundaries, where the immediate being xor'd is the
+ node index.
+
+ * dfg/DFGCommon.h:
+ * dfg/DFGSpeculativeJIT.cpp:
+ (JSC::DFG::SpeculativeJIT::compile):
+
2011-11-30 Geoffrey Garen <[email protected]>
Removed ArgList iterators.
Modified: trunk/Source/_javascript_Core/dfg/DFGCommon.h (101614 => 101615)
--- trunk/Source/_javascript_Core/dfg/DFGCommon.h 2011-12-01 07:01:47 UTC (rev 101614)
+++ trunk/Source/_javascript_Core/dfg/DFGCommon.h 2011-12-01 07:11:19 UTC (rev 101615)
@@ -57,6 +57,8 @@
#define DFG_ENABLE_JIT_BREAK_ON_EVERY_BLOCK 0
// Emit a breakpoint into the head of every generated node, to aid debugging in GDB.
#define DFG_ENABLE_JIT_BREAK_ON_EVERY_NODE 0
+// Emit a pair of xorPtr()'s on regT0 with the node index to make it easy to spot node boundaries in disassembled code.
+#define DFG_ENABLE_XOR_DEBUG_AID 0
// Emit a breakpoint into the speculation failure code.
#define DFG_ENABLE_JIT_BREAK_ON_SPECULATION_FAILURE 0
// Log every speculation failure.
Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp (101614 => 101615)
--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp 2011-12-01 07:01:47 UTC (rev 101614)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp 2011-12-01 07:11:19 UTC (rev 101615)
@@ -986,6 +986,10 @@
#if DFG_ENABLE(JIT_BREAK_ON_EVERY_NODE)
m_jit.breakpoint();
#endif
+#if DFG_ENABLE(XOR_DEBUG_AID)
+ m_jit.xorPtr(JITCompiler::TrustedImm32(m_compileIndex), GPRInfo::regT0);
+ m_jit.xorPtr(JITCompiler::TrustedImm32(m_compileIndex), GPRInfo::regT0);
+#endif
checkConsistency();
compile(node);
if (!m_compileOkay) {
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes