• Dominik Inführ's avatar
    [heap] Reland: Reduce size of possibly empty buckets · 56f56df6
    Dominik Inführ authored
    Before this CL a byte was used per bucket to store whether the bucket
    is possibly empty or not. This CL changes this such that each bucket
    only needs a single bit.
    
    PossiblyEmptyBuckets is now a word in the page header. If more bits
    are needed than fit into a single word, an external bitmap is
    allocated using AlignedAlloc. Storing this on the page header, allows
    to remove initial_buckets from the SlotSet. The SlotSet allocation is
    then again a power-of-2 in release mode.
    
    Reland of https://crrev.com/c/1906376: Incorrect DCHECK was removed.
    WordsForBuckets was simplified and a test was added for it.
    
    Bug: chromium:1023139
    Change-Id: I9a08e03a9c10e5781a146b9a28dab38824aad91f
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1954391Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#65385}
    56f56df6
remembered-set.h 15 KB