Chromium Code Reviews| Index: src/heap/heap.cc |
| diff --git a/src/heap/heap.cc b/src/heap/heap.cc |
| index d4550949035c07e573287a67ce0596a885c5d064..bc55f9e1c5f8fb88a9a3db623d2dba0efd3bc2d9 100644 |
| --- a/src/heap/heap.cc |
| +++ b/src/heap/heap.cc |
| @@ -827,7 +827,8 @@ bool Heap::CollectGarbage(GarbageCollector collector, const char* gc_reason, |
| const intptr_t kStepSizeWhenDelayedByScavenge = 1 * MB; |
| incremental_marking()->Step(kStepSizeWhenDelayedByScavenge, |
| IncrementalMarking::NO_GC_VIA_STACK_GUARD); |
| - if (!incremental_marking()->IsComplete() && !FLAG_gc_global) { |
| + if (!incremental_marking()->IsComplete() && |
| + !mark_compact_collector_.marking_deque_.IsEmpty() && !FLAG_gc_global) { |
|
jochen (gone - plz use gerrit)
2015/01/26 14:09:01
should this check for overflow as well?
Hannes Payer (out of office)
2015/01/26 14:52:45
An overflowed marking deque will be full.
|
| if (FLAG_trace_incremental_marking) { |
| PrintF("[IncrementalMarking] Delaying MarkSweep.\n"); |
| } |