Chromium Code Reviews| Index: src/heap/mark-compact.cc |
| diff --git a/src/heap/mark-compact.cc b/src/heap/mark-compact.cc |
| index af6894c5755b2a6d7a14a853c3d3fd1ddb83de73..4c8db42035bb8c5722fe9b2fbe73b35d87f43f54 100644 |
| --- a/src/heap/mark-compact.cc |
| +++ b/src/heap/mark-compact.cc |
| @@ -519,12 +519,15 @@ void MarkCompactCollector::EnsureSweepingCompleted() { |
| SweepInParallel(heap()->paged_space(CODE_SPACE), 0); |
| SweepInParallel(heap()->paged_space(MAP_SPACE), 0); |
| } |
| - // Wait twice for both jobs. |
| + |
| if (heap()->concurrent_sweeping_enabled()) { |
| pending_sweeper_jobs_semaphore_.Wait(); |
| pending_sweeper_jobs_semaphore_.Wait(); |
| pending_sweeper_jobs_semaphore_.Wait(); |
| } |
| + |
| + heap()->WaitUntilUnmappingOfFreeChunksCompleted(); |
|
Michael Lippautz
2015/08/21 12:28:58
Just a note: This is dependent on "sweeping_in_pro
Hannes Payer (out of office)
2015/08/21 12:56:04
Acknowledged.
|
| + |
| ParallelSweepSpacesComplete(); |
| sweeping_in_progress_ = false; |
| RefillFreeList(heap()->paged_space(OLD_SPACE)); |