• Michael Lippautz's avatar
    [heap] Rework Worklist base type · a19316d9
    Michael Lippautz authored
    Worklist uses a singly-linked list of segments to hold entries.
    Segment size was based on a compile-time constant but already stored
    in the segment itself.
    
    Rework the segments to query `malloc_usable_size()` on allocation and
    adjust the capacity properly. For PartitionAlloc, it turns out that
    there's ~20% more capacity available for the 64-element segments.
    
    This slows down actual allocation of the segments with the upside of
    improving utilization and requiring 20% less segments.
    
    Change-Id: Ib8595c3fb9fb75b02e4022f6c525bb59a2df7ab7
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3826047
    Commit-Queue: Anton Bikineev <bikineev@chromium.org>
    Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    Reviewed-by: 's avatarAnton Bikineev <bikineev@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#82432}
    a19316d9
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-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-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...