| Index: src/heap/mark-compact.h
|
| diff --git a/src/heap/mark-compact.h b/src/heap/mark-compact.h
|
| index d0fb955d8bc7499a1cbbbbedc22fd4a406737275..c24542dfc0bd8596671488815981a9c413c6c379 100644
|
| --- a/src/heap/mark-compact.h
|
| +++ b/src/heap/mark-compact.h
|
| @@ -329,6 +329,15 @@ class ThreadLocalTop;
|
| // Mark-Compact collector
|
| class MarkCompactCollector {
|
| public:
|
| + enum IterationMode {
|
| + kKeepMarking,
|
| + kClearMarkbits,
|
| + };
|
| +
|
| + class HeapObjectVisitor;
|
| + class EvacuateNewSpaceVisitor;
|
| + class EvacuateOldSpaceVisitor;
|
| +
|
| static void Initialize();
|
|
|
| void SetUp();
|
| @@ -699,14 +708,11 @@ class MarkCompactCollector {
|
| // regions to each space's free list.
|
| void SweepSpaces();
|
|
|
| - int DiscoverAndEvacuateBlackObjectsOnPage(NewSpace* new_space,
|
| - NewSpacePage* p);
|
| + void 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);
|
|
|
|
|