| Index: src/heap/store-buffer.cc
|
| diff --git a/src/heap/store-buffer.cc b/src/heap/store-buffer.cc
|
| index 03f587f2154e14bc3093a920cc5be7c4ba200154..a5191dc748e34e944b015b52c67207c6ba537553 100644
|
| --- a/src/heap/store-buffer.cc
|
| +++ b/src/heap/store-buffer.cc
|
| @@ -472,10 +472,9 @@ void StoreBuffer::IteratePointersToNewSpace(ObjectSlotCallback slot_callback) {
|
| 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.
|
| - // TODO(hpayer): This may introduce a huge pause here. We
|
| - // just care about finish sweeping of the scan on scavenge page.
|
| - heap_->mark_compact_collector()->EnsureSweepingCompleted();
|
| + // 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());
|
|
|