| Index: src/heap/mark-compact.cc
|
| diff --git a/src/heap/mark-compact.cc b/src/heap/mark-compact.cc
|
| index 738e00b09ceb6fd0a4ae804dbe3b1e27aef125c0..590f5cb60c3d1ef9f70564918c450c27ea410f46 100644
|
| --- a/src/heap/mark-compact.cc
|
| +++ b/src/heap/mark-compact.cc
|
| @@ -550,8 +550,6 @@ void MarkCompactCollector::EnsureSweepingCompleted() {
|
| pending_sweeper_jobs_semaphore_.Wait();
|
| }
|
|
|
| - heap()->WaitUntilUnmappingOfFreeChunksCompleted();
|
| -
|
| ParallelSweepSpacesComplete();
|
| sweeping_in_progress_ = false;
|
| RefillFreeList(heap()->paged_space(OLD_SPACE));
|
| @@ -812,6 +810,10 @@ void MarkCompactCollector::Prepare() {
|
| EnsureSweepingCompleted();
|
| }
|
|
|
| + // If concurrent unmapping tasks are still running, we should wait for
|
| + // them here.
|
| + heap()->WaitUntilUnmappingOfFreeChunksCompleted();
|
| +
|
| // Clear marking bits if incremental marking is aborted.
|
| if (was_marked_incrementally_ && heap_->ShouldAbortIncrementalMarking()) {
|
| heap()->incremental_marking()->Stop();
|
|
|