• Ulan Degenbaev's avatar
    Reland "[heap] Add concurrent marking write barrier" · e0ad32ce
    Ulan Degenbaev authored
    This is a reland of 1dd7f3a9
    
    Original change's description:
    > [heap] Add concurrent marking write barrier
    > 
    > A LocalHeap creates and owns an instance of MarkingBarrier. A pointer to
    > the marking barrier is set to a thread_local variable for a quick access.
    > 
    > WriteBarrier::MarkingSlow fetches the thread_local variable and invokes
    > the write barrier if it is set. Otherwise, it invokes the main thread
    > heap()->marking_barrier().
    > 
    > Each marking barrier has its own local marking worklist that is
    > published during scavenge (for updating pointers) and at finalization
    > of incremental marking.
    > 
    > Typed-slot recording does not work yet because it is not thread-safe.
    > It will be fixed in a subsequent CL.
    > 
    > Bug: v8:10315
    > Change-Id: I221a906436cd91e7405a253ce0eb06cf68046f2c
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2354809
    > Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
    > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#69448}
    
    Bug: v8:10315
    Change-Id: I155bb0aadd53a5333672fb085b33d8da86f3f336
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2364509Reviewed-by: 's avatarDominik Inführ <dinfuehr@chromium.org>
    Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#69517}
    e0ad32ce
Name
Last commit
Last update
..
heap-tester.h Loading commit data...
heap-utils.cc Loading commit data...
heap-utils.h Loading commit data...
test-alloc.cc Loading commit data...
test-array-buffer-tracker.cc Loading commit data...
test-compaction.cc Loading commit data...
test-concurrent-allocation.cc Loading commit data...
test-concurrent-marking.cc Loading commit data...
test-embedder-tracing.cc Loading commit data...
test-external-string-tracker.cc Loading commit data...
test-heap.cc Loading commit data...
test-incremental-marking.cc Loading commit data...
test-invalidated-slots.cc Loading commit data...
test-iterators.cc Loading commit data...
test-lab.cc Loading commit data...
test-mark-compact.cc Loading commit data...
test-memory-measurement.cc Loading commit data...
test-page-promotion.cc Loading commit data...
test-spaces.cc Loading commit data...
test-unmapper.cc Loading commit data...
test-weak-references.cc Loading commit data...
test-write-barrier.cc Loading commit data...