Index: src/heap/store-buffer.cc |
diff --git a/src/heap/store-buffer.cc b/src/heap/store-buffer.cc |
index a5191dc748e34e944b015b52c67207c6ba537553..a1968442541d166f33281e62644d1272d806200c 100644 |
--- a/src/heap/store-buffer.cc |
+++ b/src/heap/store-buffer.cc |
@@ -468,16 +468,8 @@ void StoreBuffer::IteratePointersToNewSpace(ObjectSlotCallback slot_callback) { |
} |
} |
} else { |
- if (!page->SweepingCompleted()) { |
- heap_->mark_compact_collector()->SweepInParallel(page, owner); |
- if (!page->SweepingCompleted()) { |
- // We were not able to sweep that page, i.e., a concurrent |
- // sweeper thread currently owns this page. Wait for the sweeper |
- // thread to be done with this page. |
- page->WaitUntilSweepingCompleted(); |
- } |
- } |
- CHECK(page->owner() == heap_->old_space()); |
+ heap_->mark_compact_collector()->SweepOrWaitUntilSweepingCompleted( |
+ page); |
HeapObjectIterator iterator(page, NULL); |
for (HeapObject* heap_object = iterator.Next(); heap_object != NULL; |
heap_object = iterator.Next()) { |