Title: [275229] trunk/Source/_javascript_Core
Revision
275229
Author
[email protected]
Date
2021-03-30 13:21:32 -0700 (Tue, 30 Mar 2021)

Log Message

Add more information to GC verifier verbose dumps.
https://bugs.webkit.org/show_bug.cgi?id=223951

Reviewed by Yusuke Suzuki.

* heap/VerifierSlotVisitor.cpp:
(JSC::VerifierSlotVisitor::dumpMarkerData):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (275228 => 275229)


--- trunk/Source/_javascript_Core/ChangeLog	2021-03-30 19:47:31 UTC (rev 275228)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-03-30 20:21:32 UTC (rev 275229)
@@ -1,5 +1,15 @@
 2021-03-30  Mark Lam  <[email protected]>
 
+        Add more information to GC verifier verbose dumps.
+        https://bugs.webkit.org/show_bug.cgi?id=223951
+
+        Reviewed by Yusuke Suzuki.
+
+        * heap/VerifierSlotVisitor.cpp:
+        (JSC::VerifierSlotVisitor::dumpMarkerData):
+
+2021-03-30  Mark Lam  <[email protected]>
+
         Ensure that GlobalPropertyInfo is allocated on the stack.
         https://bugs.webkit.org/show_bug.cgi?id=223911
         rdar://75865742

Modified: trunk/Source/_javascript_Core/heap/VerifierSlotVisitor.cpp (275228 => 275229)


--- trunk/Source/_javascript_Core/heap/VerifierSlotVisitor.cpp	2021-03-30 19:47:31 UTC (rev 275228)
+++ trunk/Source/_javascript_Core/heap/VerifierSlotVisitor.cpp	2021-03-30 20:21:32 UTC (rev 275229)
@@ -252,6 +252,11 @@
         if (cell) {
             if (isJSCellKind(cell->cellKind()))
                 dataLogLn(JSValue(static_cast<JSCell*>(cell)));
+
+            bool isMarked = heap()->isMarked(cell);
+            const char* wasOrWasNot = isMarked ? "was" : "was NOT";
+            dataLogLn("In the real GC, cell ", RawPointer(cell), " ", wasOrWasNot, " marked.");
+
             if (cell->isPreciseAllocation())
                 markerData = markerDataForPreciseAllocation(cell->preciseAllocation());
             else
@@ -260,7 +265,7 @@
                 dataLogLn("Marker data is not available for cell ", RawPointer(cell));
                 break;
             }
-            dataLog("Cell ", RawPointer(cell), " was visited");
+            dataLog("In the verifier GC, cell ", RawPointer(cell), " was visited");
 
         } else {
             RELEASE_ASSERT(opaqueRoot);
@@ -267,7 +272,7 @@
 
             bool containsOpaqueRoot = heap()->m_opaqueRoots.contains(opaqueRoot);
             const char* wasOrWasNot = containsOpaqueRoot ? "was" : "was NOT";
-            dataLogLn("In the real GC, opaque root", RawPointer(opaqueRoot), " ", wasOrWasNot, " added to the heap's opaque roots.");
+            dataLogLn("In the real GC, opaque root ", RawPointer(opaqueRoot), " ", wasOrWasNot, " added to the heap's opaque roots.");
 
             markerData = markerDataForOpaqueRoot(opaqueRoot);
             if (!markerData) {
@@ -274,7 +279,7 @@
                 dataLogLn("Marker data is not available for opaque root ", RawPointer(opaqueRoot));
                 break;
             }
-            dataLog("Opaque root ", RawPointer(opaqueRoot), " was added");
+            dataLog("In the verifier GC, opaque root ", RawPointer(opaqueRoot), " was added");
         }
 
         ReferrerToken referrer = markerData->referrer();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to