[heap] Use global safepoint with shared space incremental marking start
Use a global safepoint when starting incremental marking in the shared space isolate. This is required to start black allocation in all shared LABs of all client isolates. Bug: v8:13267 Change-Id: I4995dded2546f090cb3b074ee808992e3eb5f741 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3934103 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@chromium.org> Cr-Commit-Position: refs/heads/main@{#83566}
This commit is contained in:
parent
f29f082eef
commit
03e7db10ce
@ -1840,13 +1840,19 @@ void Heap::StartIncrementalMarking(int gc_flags,
|
||||
CompleteSweepingFull();
|
||||
}
|
||||
|
||||
base::Optional<GlobalSafepointScope> global_safepoint_scope;
|
||||
base::Optional<SafepointScope> safepoint_scope;
|
||||
|
||||
{
|
||||
AllowGarbageCollection allow_shared_gc;
|
||||
IgnoreLocalGCRequests ignore_gc_requests(this);
|
||||
|
||||
if (isolate()->is_shared_heap_isolate()) {
|
||||
global_safepoint_scope.emplace(isolate());
|
||||
} else {
|
||||
safepoint_scope.emplace(this);
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
VerifyCountersAfterSweeping();
|
||||
|
Loading…
Reference in New Issue
Block a user