Title: [211300] trunk/Source/_javascript_Core
Revision
211300
Author
fpi...@apple.com
Date
2017-01-27 13:01:50 -0800 (Fri, 27 Jan 2017)

Log Message

scanExternalRememberedSet needs to mergeIfNecessary
https://bugs.webkit.org/show_bug.cgi?id=167523

Reviewed by Keith Miller.
        
The protocol for opaque roots is that if you add to them outside of draining, then you need to call
mergeIfNecessary.
        
This means that every MarkingConstraint that adds opaque roots needs to mergeIfNecessary after.
        
scanExternalRememberedSet transitively calls addOpaqueRoot, is called from a MarkingConstraint, and
was missing a call to mergeIfNecessary. This fixes it.

* API/JSVirtualMachine.mm:
(scanExternalRememberedSet):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/API/JSVirtualMachine.mm (211299 => 211300)


--- trunk/Source/_javascript_Core/API/JSVirtualMachine.mm	2017-01-27 20:41:21 UTC (rev 211299)
+++ trunk/Source/_javascript_Core/API/JSVirtualMachine.mm	2017-01-27 21:01:50 UTC (rev 211300)
@@ -326,6 +326,8 @@
         }
         [externalRememberedSet removeAllObjects];
     }
+
+    visitor.mergeIfNecessary();
 }
 
 #endif // JSC_OBJC_API_ENABLED

Modified: trunk/Source/_javascript_Core/ChangeLog (211299 => 211300)


--- trunk/Source/_javascript_Core/ChangeLog	2017-01-27 20:41:21 UTC (rev 211299)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-01-27 21:01:50 UTC (rev 211300)
@@ -1,3 +1,21 @@
+2017-01-27  Filip Pizlo  <fpi...@apple.com>
+
+        scanExternalRememberedSet needs to mergeIfNecessary
+        https://bugs.webkit.org/show_bug.cgi?id=167523
+
+        Reviewed by Keith Miller.
+        
+        The protocol for opaque roots is that if you add to them outside of draining, then you need to call
+        mergeIfNecessary.
+        
+        This means that every MarkingConstraint that adds opaque roots needs to mergeIfNecessary after.
+        
+        scanExternalRememberedSet transitively calls addOpaqueRoot, is called from a MarkingConstraint, and
+        was missing a call to mergeIfNecessary. This fixes it.
+
+        * API/JSVirtualMachine.mm:
+        (scanExternalRememberedSet):
+
 2017-01-27  Carlos Garcia Campos  <cgar...@igalia.com>
 
         Unreviewed. Fix GTK+ debug build after r211247.
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to