Title: [239788] trunk/Source/_javascript_Core
Revision
239788
Author
[email protected]
Date
2019-01-09 15:03:23 -0800 (Wed, 09 Jan 2019)

Log Message

Restore bytecode dumper's ability to dump jump target as offset#(->targetBytecodeIndex#).
https://bugs.webkit.org/show_bug.cgi?id=193300

Reviewed by Saam Barati.

For example, instead of:
    [  95] jtrue              loc11, 9
We can now again (as before the bytecode format rewrite) have:
    [  95] jtrue              loc11, 9(->104)

* bytecode/BytecodeDumper.cpp:
(JSC::BytecodeDumper<Block>::printLocationAndOp):
* bytecode/BytecodeDumper.h:
(JSC::BytecodeDumper::dumpValue):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (239787 => 239788)


--- trunk/Source/_javascript_Core/ChangeLog	2019-01-09 22:45:06 UTC (rev 239787)
+++ trunk/Source/_javascript_Core/ChangeLog	2019-01-09 23:03:23 UTC (rev 239788)
@@ -1,5 +1,22 @@
 2019-01-09  Mark Lam  <[email protected]>
 
+        Restore bytecode dumper's ability to dump jump target as offset#(->targetBytecodeIndex#).
+        https://bugs.webkit.org/show_bug.cgi?id=193300
+
+        Reviewed by Saam Barati.
+
+        For example, instead of:
+            [  95] jtrue              loc11, 9
+        We can now again (as before the bytecode format rewrite) have:
+            [  95] jtrue              loc11, 9(->104)
+
+        * bytecode/BytecodeDumper.cpp:
+        (JSC::BytecodeDumper<Block>::printLocationAndOp):
+        * bytecode/BytecodeDumper.h:
+        (JSC::BytecodeDumper::dumpValue):
+
+2019-01-09  Mark Lam  <[email protected]>
+
         Gigacage disabling checks should handle the GIGACAGE_ALLOCATION_CAN_FAIL case properly.
         https://bugs.webkit.org/show_bug.cgi?id=193292
         <rdar://problem/46485450>

Modified: trunk/Source/_javascript_Core/bytecode/BytecodeDumper.cpp (239787 => 239788)


--- trunk/Source/_javascript_Core/bytecode/BytecodeDumper.cpp	2019-01-09 22:45:06 UTC (rev 239787)
+++ trunk/Source/_javascript_Core/bytecode/BytecodeDumper.cpp	2019-01-09 23:03:23 UTC (rev 239788)
@@ -79,6 +79,7 @@
 template<class Block>
 void BytecodeDumper<Block>::printLocationAndOp(InstructionStream::Offset location, const char* op)
 {
+    m_currentLocation = location;
     m_out.printf("[%4u] %-18s ", location, op);
 }
 

Modified: trunk/Source/_javascript_Core/bytecode/BytecodeDumper.h (239787 => 239788)


--- trunk/Source/_javascript_Core/bytecode/BytecodeDumper.h	2019-01-09 22:45:06 UTC (rev 239787)
+++ trunk/Source/_javascript_Core/bytecode/BytecodeDumper.h	2019-01-09 23:03:23 UTC (rev 239788)
@@ -53,7 +53,11 @@
     }
 
     void dumpValue(VirtualRegister reg) { m_out.printf("%s", registerName(reg.offset()).data()); }
-    void dumpValue(BoundLabel label) { m_out.print(label.target()); }
+    void dumpValue(BoundLabel label)
+    {
+        InstructionStream::Offset targetOffset = label.target() + m_currentLocation;
+        m_out.print(label.target(), "(->", targetOffset, ")");
+    }
     template<typename T>
     void dumpValue(T v) { m_out.print(v); }
 
@@ -83,6 +87,7 @@
 
     Block* m_block;
     PrintStream& m_out;
+    InstructionStream::Offset m_currentLocation { 0 };
 };
 
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to