| Index: src/heap/mark-compact.h
|
| diff --git a/src/heap/mark-compact.h b/src/heap/mark-compact.h
|
| index 5858ba0ffaa001efde9849ec86fe3cd8e30fa5fc..640a7f9dfffe969f3d084a92daedd0d129e88e47 100644
|
| --- a/src/heap/mark-compact.h
|
| +++ b/src/heap/mark-compact.h
|
| @@ -19,10 +19,15 @@ namespace internal {
|
|
|
| // Forward declarations.
|
| class CodeFlusher;
|
| +class EvacuationJobTraits;
|
| class HeapObjectVisitor;
|
| class MarkCompactCollector;
|
| class MinorMarkCompactCollector;
|
| class MarkingVisitor;
|
| +class MigrationObserver;
|
| +template <typename JobTraits>
|
| +class PageParallelJob;
|
| +class RecordMigratedSlotVisitor;
|
| class ThreadLocalTop;
|
|
|
| class ObjectMarking : public AllStatic {
|
| @@ -439,6 +444,12 @@ class MarkCompactCollectorBase {
|
| // The number of parallel compaction tasks, including the main thread.
|
| int NumberOfParallelCompactionTasks(int pages, intptr_t live_bytes);
|
|
|
| + template <class Evacuator, class Collector>
|
| + void CreateAndExecuteEvacuationTasks(
|
| + Collector* collector, PageParallelJob<EvacuationJobTraits>* job,
|
| + RecordMigratedSlotVisitor* record_visitor, const intptr_t live_bytes,
|
| + const int& abandoned_pages);
|
| +
|
| Heap* heap_;
|
| };
|
|
|
|
|