• hlopko's avatar
    Use EmbedderHeapTracer instead of object grouping when embedder sets the heap tracer. · 6d1f7282
    hlopko authored
    When the embedder sets the heap tracer, V8, during marking, will collect all reachable wrappers, and then ask embedder to trace its heap. The embedder is expected to call PersistentBase::RegisterExternalReference with all wrappers reachable from the given ones. This fixed point iteration happens in MarkCompact::ProcessEphemeralMarking.
    
    For more efficient object visiting during marking, we need a special JS_API_OBJECT_TYPE (in tandem with already existing JS_SPECIAL_API_OBJECT_TYPE) and corresponding visitor (JSApiObjectVisitor).
    
    BUG=chromium:468240
    LOG=no
    
    Review URL: https://codereview.chromium.org/1844413002
    
    Cr-Commit-Position: refs/heads/master@{#35412}
    6d1f7282
objects.cc 693 KB