| Index: src/heap.cc
|
| diff --git a/src/heap.cc b/src/heap.cc
|
| index 4855ac08aeb8e1a56b23df4e527edd97208e977e..a3113c8177964beb2890fafc720870fedee6b45d 100644
|
| --- a/src/heap.cc
|
| +++ b/src/heap.cc
|
| @@ -860,10 +860,11 @@ bool Heap::CollectGarbage(GarbageCollector collector,
|
|
|
| // Start incremental marking for the next cycle. The heap snapshot
|
| // generator needs incremental marking to stay off after it aborted.
|
| - if (!mark_compact_collector()->abort_incremental_marking() &&
|
| - incremental_marking()->IsStopped() &&
|
| - incremental_marking()->WorthActivating() &&
|
| - NextGCIsLikelyToBeFull()) {
|
| + if (incremental_marking()->IsStopped() &&
|
| + (FLAG_always_incremental_marking ||
|
| + (!mark_compact_collector()->abort_incremental_marking() &&
|
| + incremental_marking()->WorthActivating() &&
|
| + NextGCIsLikelyToBeFull()))) {
|
| incremental_marking()->Start();
|
| }
|
|
|
|
|