diff options
Diffstat (limited to 'deps/v8/src/heap/embedder-tracing.cc')
-rw-r--r-- | deps/v8/src/heap/embedder-tracing.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/deps/v8/src/heap/embedder-tracing.cc b/deps/v8/src/heap/embedder-tracing.cc index c032f384b3..ab91367bc6 100644 --- a/deps/v8/src/heap/embedder-tracing.cc +++ b/deps/v8/src/heap/embedder-tracing.cc @@ -34,7 +34,7 @@ void LocalEmbedderHeapTracer::TraceEpilogue() { EmbedderHeapTracer::TraceSummary summary; remote_tracer_->TraceEpilogue(&summary); - remote_stats_.allocated_size = summary.allocated_size; + remote_stats_.used_size = summary.allocated_size; // Force a check next time increased memory is reported. This allows for // setting limits close to actual heap sizes. remote_stats_.allocated_size_limit_for_check = 0; @@ -118,6 +118,10 @@ void LocalEmbedderHeapTracer::StartIncrementalMarkingIfNeeded() { heap->StartIncrementalMarkingIfAllocationLimitIsReached( heap->GCFlagsForIncrementalMarking(), kGCCallbackScheduleIdleGarbageCollection); + if (heap->AllocationLimitOvershotByLargeMargin()) { + heap->FinalizeIncrementalMarkingAtomically( + i::GarbageCollectionReason::kExternalFinalize); + } } } // namespace internal |