• Ulan Degenbaev's avatar
    [heap] Refactor marking worklists · 6b5bc5e9
    Ulan Degenbaev authored
    This unifies marking worklists handling by the main thread marker and
    by the concurrent markers. A new class called MarkingWorklistsHolder
    owns all marking worklists: the default worklist, the on-hold worklist,
    and the embedder worklist. Each thread creates a local view of the
    marking worklists by creating an instance of MarkingWorklists.
    
    Additionally, marking visitors now work on MarkingWorklists instead of
    accessing each worklist individually.
    
    Besides cleaning the code up, this CL provides a bottleneck for
    implementing per-context worklists.
    
    Bug: chromium:973627
    Change-Id: I52ad65c94bc0695287ba7bf4d8a814a9035e2888
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1941947Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
    Reviewed-by: 's avatarDominik Inführ <dinfuehr@chromium.org>
    Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#65421}
    6b5bc5e9
concurrent-marking.h 4.17 KB