| Index: src/heap/mark-compact.h
|
| diff --git a/src/heap/mark-compact.h b/src/heap/mark-compact.h
|
| index e0b7c38ca0bd0cfc2c0f785b31c59c476a576943..714ad16bc8b3005bb31649aa6a17fea3ac7ea6f9 100644
|
| --- a/src/heap/mark-compact.h
|
| +++ b/src/heap/mark-compact.h
|
| @@ -553,8 +553,11 @@ class MarkCompactCollector {
|
| // Synchronize sweeper threads.
|
| base::Semaphore pending_sweeper_jobs_semaphore_;
|
|
|
| - // Synchronize compaction threads.
|
| - base::Semaphore pending_compaction_jobs_semaphore_;
|
| + // Synchronize compaction tasks.
|
| + base::Semaphore pending_compaction_tasks_semaphore_;
|
| +
|
| + // Number of active compaction tasks (including main thread).
|
| + intptr_t concurrent_compaction_tasks_active_;
|
|
|
| bool evacuation_;
|
|
|
| @@ -712,12 +715,17 @@ class MarkCompactCollector {
|
|
|
| void EvacuateNewSpace();
|
|
|
| - void EvacuateLiveObjectsFromPage(Page* p, PagedSpace* target_space);
|
| -
|
| - void EvacuatePages();
|
| + bool EvacuateLiveObjectsFromPage(Page* p, PagedSpace* target_space);
|
|
|
| + void EvacuatePages(CompactionSpaceCollection* compaction_spaces);
|
| void EvacuatePagesInParallel();
|
|
|
| + int NumberOfParallelCompactionTasks() {
|
| + // TODO(hpayer, mlippautz): Figure out some logic to determine the number
|
| + // of compaction tasks.
|
| + return 1;
|
| + }
|
| +
|
| void WaitUntilCompactionCompleted();
|
|
|
| void EvacuateNewSpaceAndCandidates();
|
|
|