Index: src/heap/heap.cc |
diff --git a/src/heap/heap.cc b/src/heap/heap.cc |
index 0bd763bc763b7d22826cbd0646ac4dd69860640b..dc20710cbe83c75e11a7bbfc10464441b92b66a2 100644 |
--- a/src/heap/heap.cc |
+++ b/src/heap/heap.cc |
@@ -940,7 +940,8 @@ bool Heap::CollectGarbage(GarbageCollector collector, const char* gc_reason, |
if (collector == MARK_COMPACTOR && !ShouldFinalizeIncrementalMarking() && |
!ShouldAbortIncrementalMarking() && !incremental_marking()->IsStopped() && |
- !incremental_marking()->should_hurry() && FLAG_incremental_marking) { |
+ !incremental_marking()->should_hurry() && FLAG_incremental_marking && |
+ OldGenerationAllocationLimitReached()) { |
// Make progress in incremental marking. |
const intptr_t kStepSizeWhenDelayedByScavenge = 1 * MB; |
incremental_marking()->Step(kStepSizeWhenDelayedByScavenge, |