• Michael Lippautz's avatar
    heap: ArrayBufferSweeper refactoring · 210987a5
    Michael Lippautz authored
    The refactoring is triggered by https://crrev.com/c/3121905 where we
    noticed that a bunch of tricky counter paths could be simplified,
    making reasoning about corectness easier.
    
    In this CL:
    1. Use uniqe_ptr instead of Optional to allow moving SweepingJob away
       from the header file.
    2. sweeping_in_progress_ is replaced with simply checking for a job.
    3. freed_bytes_ are moved to the job and the dependency is reversed,
       avoiding the inside-out (Job->Sweeper) dependency completely.
    4. Merge() and counter updates are merged into a Finalize() method.
    5. FinishIfDone() allows for conditional finization.
    6. young_bytes_ and old_bytes_ are removed as they were always updated
       when the corresponding bytes in the ArrayBufferList was updated.
    
    Change-Id: I56e5b04087166ce03d3a9195ac48359122a84c73
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3124776Reviewed-by: 's avatarDominik Inführ <dinfuehr@chromium.org>
    Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#76795}
    210987a5
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-shared-heap.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...