Title: [277773] trunk/Source/_javascript_Core
Revision
277773
Author
[email protected]
Date
2021-05-19 20:34:28 -0700 (Wed, 19 May 2021)

Log Message

AbstractSlotVisitor::containsOpaqueRoot() should only declare didFindOpaqueRoot if the root is actually found.
https://bugs.webkit.org/show_bug.cgi?id=226000
rdar://78208014

Reviewed by Robin Morisset.

It was erroneously calling didFindOpaqueRoot() all the time even when the root is
not found.  This only affects the GC verifier tool.  It has no effect on production
code.

* heap/AbstractSlotVisitorInlines.h:
(JSC::AbstractSlotVisitor::containsOpaqueRoot const):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (277772 => 277773)


--- trunk/Source/_javascript_Core/ChangeLog	2021-05-20 02:26:07 UTC (rev 277772)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-05-20 03:34:28 UTC (rev 277773)
@@ -1,5 +1,20 @@
 2021-05-19  Mark Lam  <[email protected]>
 
+        AbstractSlotVisitor::containsOpaqueRoot() should only declare didFindOpaqueRoot if the root is actually found.
+        https://bugs.webkit.org/show_bug.cgi?id=226000
+        rdar://78208014
+
+        Reviewed by Robin Morisset.
+
+        It was erroneously calling didFindOpaqueRoot() all the time even when the root is
+        not found.  This only affects the GC verifier tool.  It has no effect on production
+        code.
+
+        * heap/AbstractSlotVisitorInlines.h:
+        (JSC::AbstractSlotVisitor::containsOpaqueRoot const):
+
+2021-05-19  Mark Lam  <[email protected]>
+
         Speed up debug validation in CacheableIdentifier::createFromIdentifierOwnedByCodeBlock().
         https://bugs.webkit.org/show_bug.cgi?id=225948
 

Modified: trunk/Source/_javascript_Core/heap/AbstractSlotVisitorInlines.h (277772 => 277773)


--- trunk/Source/_javascript_Core/heap/AbstractSlotVisitorInlines.h	2021-05-20 02:26:07 UTC (rev 277772)
+++ trunk/Source/_javascript_Core/heap/AbstractSlotVisitorInlines.h	2021-05-20 03:34:28 UTC (rev 277773)
@@ -133,7 +133,7 @@
 inline bool AbstractSlotVisitor::containsOpaqueRoot(void* ptr) const
 {
     bool found = m_opaqueRoots.contains(ptr);
-    if (UNLIKELY(m_needsExtraOpaqueRootHandling)) {
+    if (UNLIKELY(found && m_needsExtraOpaqueRootHandling)) {
         auto* nonConstThis = const_cast<AbstractSlotVisitor*>(this);
         nonConstThis->didFindOpaqueRoot(ptr);
     }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to