Index: src/heap/incremental-marking-job.cc |
diff --git a/src/heap/incremental-marking-job.cc b/src/heap/incremental-marking-job.cc |
index c20cffcdef75b259dc1d22b6991b8b16c57823c1..393b9cce7eeace05b893679d448bfb54490261df 100644 |
--- a/src/heap/incremental-marking-job.cc |
+++ b/src/heap/incremental-marking-job.cc |
@@ -45,6 +45,14 @@ void IncrementalMarkingJob::Task::RunInternal() { |
Heap* heap = isolate()->heap(); |
job_->NotifyTask(); |
IncrementalMarking* incremental_marking = heap->incremental_marking(); |
+ if (incremental_marking->IsStopped()) { |
+ if (heap->IncrementalMarkingLimitReached() != |
+ Heap::IncrementalMarkingLimit::kNoLimit) { |
+ heap->StartIncrementalMarking(Heap::kNoGCFlags, |
+ GarbageCollectionReason::kIdleTask, |
+ kNoGCCallbackFlags); |
+ } |
+ } |
if (!incremental_marking->IsStopped()) { |
Step(heap); |
if (!incremental_marking->IsStopped()) { |