Index: src/heap.cc |
diff --git a/src/heap.cc b/src/heap.cc |
index a4596d38c2c777e6222bef4d488d1831d2f4d018..46f8dc9389ed0780b3d2a98e5945601257a4d4f7 100644 |
--- a/src/heap.cc |
+++ b/src/heap.cc |
@@ -478,7 +478,7 @@ bool Heap::CollectGarbage(AllocationSpace space, GarbageCollector collector) { |
if (collector == MARK_COMPACTOR && |
!mark_compact_collector()->PreciseSweepingRequired() && |
- incremental_marking()->IsMarking() && |
+ incremental_marking()->IsMarkingIncomplete() && |
!incremental_marking()->should_hurry() && |
FLAG_incremental_marking_steps) { |
if (FLAG_trace_incremental_marking) { |
@@ -1003,6 +1003,9 @@ void Heap::Scavenge() { |
incremental_marking()->PrepareForScavenge(); |
+ old_pointer_space()->AdvanceSweeper(new_space_.Size()); |
+ old_data_space()->AdvanceSweeper(new_space_.Size()); |
+ |
// Flip the semispaces. After flipping, to space is empty, from space has |
// live objects. |
new_space_.Flip(); |