-
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: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/master@{#65385}
56f56df6