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(); |