Commit cf4ec5aa authored by Dominik Inführ's avatar Dominik Inführ Committed by Commit Bot

[heap] Skip unswept pages for CheckPossiblyEmptyBuckets

Sweeping was already restarted, ignore chunks that might be swept
concurrently.

Bug: chromium:1174007
Change-Id: I954bf4b25ddb27a612b9fd33bad1f1ba34358719
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2674005Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#72529}
parent 03a468f8
...@@ -410,7 +410,13 @@ void ScavengerCollector::CollectGarbage() { ...@@ -410,7 +410,13 @@ void ScavengerCollector::CollectGarbage() {
MemoryChunk* chunk; MemoryChunk* chunk;
while (empty_chunks.Pop(kMainThreadId, &chunk)) { while (empty_chunks.Pop(kMainThreadId, &chunk)) {
// Since sweeping was already restarted only check chunks that already got
// swept.
if (chunk->SweepingDone()) {
RememberedSet<OLD_TO_NEW>::CheckPossiblyEmptyBuckets(chunk); RememberedSet<OLD_TO_NEW>::CheckPossiblyEmptyBuckets(chunk);
} else {
chunk->possibly_empty_buckets()->Release();
}
} }
#ifdef DEBUG #ifdef DEBUG
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment