[heap] Make shared heap allocations in GC more robust
Bug: v8:13267, v8:13591 Change-Id: I8797a871479f13d1d45a6c9e7d9063a661a3ff8f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4106368 Auto-Submit: Dominik Inführ <dinfuehr@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#84843}
This commit is contained in:
parent
e7c12c00d8
commit
4677d3ba1b
@ -2553,8 +2553,8 @@ void Heap::MarkCompact() {
|
||||
// Disable soft allocation limits in the shared heap, if one exists, as
|
||||
// promotions into the shared heap should always succeed.
|
||||
OptionalAlwaysAllocateScope always_allocate_shared_heap(
|
||||
isolate()->shared_isolate() ? isolate()->shared_isolate()->heap()
|
||||
: nullptr);
|
||||
isolate()->has_shared_heap() ? isolate()->shared_heap_isolate()->heap()
|
||||
: nullptr);
|
||||
|
||||
UpdateOldGenerationAllocationCounter();
|
||||
uint64_t size_of_objects_before_gc = SizeOfObjects();
|
||||
@ -2597,8 +2597,8 @@ void Heap::MinorMarkCompact() {
|
||||
// Disable soft allocation limits in the shared heap, if one exists, as
|
||||
// promotions into the shared heap should always succeed.
|
||||
OptionalAlwaysAllocateScope always_allocate_shared_heap(
|
||||
isolate()->shared_isolate() ? isolate()->shared_isolate()->heap()
|
||||
: nullptr);
|
||||
isolate()->has_shared_heap() ? isolate()->shared_heap_isolate()->heap()
|
||||
: nullptr);
|
||||
|
||||
minor_mark_compact_collector_->Prepare();
|
||||
minor_mark_compact_collector_->CollectGarbage();
|
||||
@ -2651,8 +2651,8 @@ void Heap::Scavenge() {
|
||||
// Disable soft allocation limits in the shared heap, if one exists, as
|
||||
// promotions into the shared heap should always succeed.
|
||||
OptionalAlwaysAllocateScope always_allocate_shared_heap(
|
||||
isolate()->shared_isolate() ? isolate()->shared_isolate()->heap()
|
||||
: nullptr);
|
||||
isolate()->has_shared_heap() ? isolate()->shared_heap_isolate()->heap()
|
||||
: nullptr);
|
||||
|
||||
// Bump-pointer allocations done during scavenge are not real allocations.
|
||||
// Pause the inline allocation steps.
|
||||
|
Loading…
Reference in New Issue
Block a user