Index: src/heap/heap.cc |
diff --git a/src/heap/heap.cc b/src/heap/heap.cc |
index b9f633a43990dc6fef572677f5cdca8a7bb718c8..d0fb9a4ff1ff793ce75dabcad6daec7f092245af 100644 |
--- a/src/heap/heap.cc |
+++ b/src/heap/heap.cc |
@@ -5544,9 +5544,15 @@ bool Heap::ShouldExpandOldGenerationOnSlowAllocation() { |
Heap::IncrementalMarkingLimit Heap::IncrementalMarkingLimitReached() { |
// Code using an AlwaysAllocateScope assumes that the GC state does not |
// change; that implies that no marking steps must be performed. |
- if (!incremental_marking()->CanBeActivated() || always_allocate() || |
- PromotedSpaceSizeOfObjects() <= |
- IncrementalMarking::kActivationThreshold) { |
+ if (!incremental_marking()->CanBeActivated() || always_allocate()) { |
+ // Incremental marking is disabled or it is too early to start. |
+ return IncrementalMarkingLimit::kNoLimit; |
+ } |
+ if (FLAG_stress_incremental_marking) { |
+ return IncrementalMarkingLimit::kHardLimit; |
+ } |
+ if (PromotedSpaceSizeOfObjects() <= |
+ IncrementalMarking::kActivationThreshold) { |
// Incremental marking is disabled or it is too early to start. |
return IncrementalMarkingLimit::kNoLimit; |
} |