Index: src/heap/heap.cc |
diff --git a/src/heap/heap.cc b/src/heap/heap.cc |
index e47478d4ea28b0a7578e0b5864936021c1c4ed41..29cfd04117fd994f4a3f4126200192e69df42704 100644 |
--- a/src/heap/heap.cc |
+++ b/src/heap/heap.cc |
@@ -264,6 +264,12 @@ GarbageCollector Heap::SelectGarbageCollector(AllocationSpace space, |
return MARK_COMPACTOR; |
} |
+ if (incremental_marking()->NeedsFinalization() && |
+ OldGenerationSpaceAvailable() == 0) { |
+ *reason = "Incremental marking needs finalization"; |
+ return MARK_COMPACTOR; |
+ } |
+ |
// Is there enough space left in OLD to guarantee that a scavenge can |
// succeed? |
// |