• Omer Katz's avatar
    cppgc-js, heap: Concurrently push references from v8 to Oilpan · d10f61e1
    Omer Katz authored
    Included in this CL:
    (*) Introduce CppMarkingState that V8 should use to push references to
        Oilpan. CppMarkingState allocates its own Worklist::Locals to
        support concurrent updates from V8.
    (*) Split Oilpan MarkingWorklist object to form a base class used by
        CppMarkingState.
    (*) Remove MarkerFactory and split marking initialization. Marking
        worklists should already be initialized when V8 initializes
        visitors. For incremental marking, this requires splitting
        marking initialization and marking start.
    (*) Drive-by: Mark JSObject::IsApiWrapper and
        JSObject::IsDroppableApiWrapper as const.
    
    Bug: v8:12407
    Change-Id: I35cc816343da86f69a68306204675720e9b3913f
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3293410Reviewed-by: 's avatarDominik Inführ <dinfuehr@chromium.org>
    Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
    Commit-Queue: Omer Katz <omerkatz@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#78446}
    d10f61e1
concurrent-marking.cc 24.5 KB