Commit b692e8b1 authored by mlippautz's avatar mlippautz Committed by Commit bot

[heap] Add concept of migration observers to evacuation

Currently used for observing moves for profiling. In the future this
will be used to transfer colors for the minor MC too.

BUG=chromium:651354

Review-Url: https://codereview.chromium.org/2846043003
Cr-Commit-Position: refs/heads/master@{#45021}
parent d5401cb2
This diff is collapsed.
...@@ -19,10 +19,15 @@ namespace internal { ...@@ -19,10 +19,15 @@ namespace internal {
// Forward declarations. // Forward declarations.
class CodeFlusher; class CodeFlusher;
class EvacuationJobTraits;
class HeapObjectVisitor; class HeapObjectVisitor;
class MarkCompactCollector; class MarkCompactCollector;
class MinorMarkCompactCollector; class MinorMarkCompactCollector;
class MarkingVisitor; class MarkingVisitor;
class MigrationObserver;
template <typename JobTraits>
class PageParallelJob;
class RecordMigratedSlotVisitor;
class ThreadLocalTop; class ThreadLocalTop;
class ObjectMarking : public AllStatic { class ObjectMarking : public AllStatic {
...@@ -439,6 +444,12 @@ class MarkCompactCollectorBase { ...@@ -439,6 +444,12 @@ class MarkCompactCollectorBase {
// The number of parallel compaction tasks, including the main thread. // The number of parallel compaction tasks, including the main thread.
int NumberOfParallelCompactionTasks(int pages, intptr_t live_bytes); 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_; Heap* heap_;
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment