⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 211300 in webkit


Ignore:
Timestamp:
Jan 27, 2017, 1:01:50 PM (10 years ago)
Author:
fpizlo@apple.com
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):

Location:
trunk/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/API/JSVirtualMachine.mm

    r210458 r211300  
    327327        [externalRememberedSet removeAllObjects];
    328328    }
     329
     330    visitor.mergeIfNecessary();
    329331}
    330332
  • trunk/Source/JavaScriptCore/ChangeLog

    r211276 r211300  
     12017-01-27  Filip Pizlo  <fpizlo@apple.com>
     2
     3        scanExternalRememberedSet needs to mergeIfNecessary
     4        https://bugs.webkit.org/show_bug.cgi?id=167523
     5
     6        Reviewed by Keith Miller.
     7       
     8        The protocol for opaque roots is that if you add to them outside of draining, then you need to call
     9        mergeIfNecessary.
     10       
     11        This means that every MarkingConstraint that adds opaque roots needs to mergeIfNecessary after.
     12       
     13        scanExternalRememberedSet transitively calls addOpaqueRoot, is called from a MarkingConstraint, and
     14        was missing a call to mergeIfNecessary. This fixes it.
     15
     16        * API/JSVirtualMachine.mm:
     17        (scanExternalRememberedSet):
     18
    1192017-01-27  Carlos Garcia Campos  <cgarcia@igalia.com>
    220
Note: See TracChangeset for help on using the changeset viewer.