| Index: src/heap/store-buffer.cc
|
| diff --git a/src/heap/store-buffer.cc b/src/heap/store-buffer.cc
|
| index a5191dc748e34e944b015b52c67207c6ba537553..b555c3eb2c36d8eb60c173543c6f54f008e4c594 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, owner);
|
| HeapObjectIterator iterator(page, NULL);
|
| for (HeapObject* heap_object = iterator.Next(); heap_object != NULL;
|
| heap_object = iterator.Next()) {
|
|
|