| Index: src/heap/mark-compact.h
|
| diff --git a/src/heap/mark-compact.h b/src/heap/mark-compact.h
|
| index 1b7cef59e47177035be58457cb088c77ba63dbeb..7e1fa9e1c6863aae4ca8f7c84f04e92f97b739da 100644
|
| --- a/src/heap/mark-compact.h
|
| +++ b/src/heap/mark-compact.h
|
| @@ -314,6 +314,15 @@ class ThreadLocalTop;
|
| // Mark-Compact collector
|
| class MarkCompactCollector {
|
| public:
|
| + enum IterationMode {
|
| + kKeepMarking,
|
| + kClearMarkbits,
|
| + };
|
| +
|
| + class EvacuateNewSpaceVisitor;
|
| + class EvacuateOldSpaceVisitor;
|
| + class HeapObjectVisitor;
|
| +
|
| static void Initialize();
|
|
|
| void SetUp();
|
| @@ -695,14 +704,13 @@ class MarkCompactCollector {
|
| // regions to each space's free list.
|
| void SweepSpaces();
|
|
|
| - int DiscoverAndEvacuateBlackObjectsOnPage(NewSpace* new_space,
|
| - NewSpacePage* p);
|
| + // Iterates through all live objects on a page using marking information.
|
| + // Returns whether all objects have successfully been visited.
|
| + bool IterateLiveObjectsOnPage(MemoryChunk* page, HeapObjectVisitor* visitor,
|
| + IterationMode mode);
|
|
|
| void EvacuateNewSpace();
|
|
|
| - bool EvacuateLiveObjectsFromPage(Page* p, PagedSpace* target_space,
|
| - SlotsBuffer** evacuation_slots_buffer);
|
| -
|
| void AddEvacuationSlotsBufferSynchronized(
|
| SlotsBuffer* evacuation_slots_buffer);
|
|
|
|
|