Index: src/heap/incremental-marking.cc |
diff --git a/src/heap/incremental-marking.cc b/src/heap/incremental-marking.cc |
index 17c609c3f64668db620eedd017dcdb541a4222bd..2ba969432d0a009690f08226e19af6086e8da719 100644 |
--- a/src/heap/incremental-marking.cc |
+++ b/src/heap/incremental-marking.cc |
@@ -818,7 +818,7 @@ void IncrementalMarking::OldSpaceStep(intptr_t allocated) { |
if (IsStopped() && ShouldActivateEvenWithoutIdleNotification()) { |
Start(); |
} else { |
- Step(allocated * kOldSpaceAllocationMarkingFactor, GC_VIA_STACK_GUARD); |
+ Step(allocated * kFastMarking / kInitialMarkingSpeed, GC_VIA_STACK_GUARD); |
} |
} |
@@ -894,7 +894,8 @@ intptr_t IncrementalMarking::Step(intptr_t allocated_bytes, |
ForceMarkingAction marking, |
ForceCompletionAction completion) { |
if (heap_->gc_state() != Heap::NOT_IN_GC || !FLAG_incremental_marking || |
- !CanDoSteps()) { |
+ !FLAG_incremental_marking_steps || |
+ (state_ != SWEEPING && state_ != MARKING)) { |
return 0; |
} |