Index: src/heap/mark-compact.h |
diff --git a/src/heap/mark-compact.h b/src/heap/mark-compact.h |
index 0e5d860e774be668385a3c6c86c2b911ddd81a28..07b289e2ba10225be9ef8a509e84783a88639fd3 100644 |
--- a/src/heap/mark-compact.h |
+++ b/src/heap/mark-compact.h |
@@ -408,6 +408,7 @@ class MarkCompactCollector { |
enum SweepingMode { SWEEP_ONLY, SWEEP_AND_VISIT_LIVE_OBJECTS }; |
enum SkipListRebuildingMode { REBUILD_SKIP_LIST, IGNORE_SKIP_LIST }; |
+ enum FreeListRebuildingMode { REBUILD_FREE_LIST, IGNORE_FREE_LIST }; |
enum FreeSpaceTreatmentMode { IGNORE_FREE_SPACE, ZAP_FREE_SPACE }; |
enum SweepingParallelism { SWEEP_ON_MAIN_THREAD, SWEEP_IN_PARALLEL }; |
@@ -416,6 +417,7 @@ class MarkCompactCollector { |
template <SweepingMode sweeping_mode, SweepingParallelism parallelism, |
SkipListRebuildingMode skip_list_mode, |
+ FreeListRebuildingMode free_list_mode, |
FreeSpaceTreatmentMode free_space_mode> |
static int RawSweep(PagedSpace* space, Page* p, ObjectVisitor* v); |
@@ -434,11 +436,12 @@ class MarkCompactCollector { |
int ParallelSweepSpace(AllocationSpace identity, int required_freed_bytes, |
int max_pages = 0); |
- int ParallelSweepPage(Page* page, PagedSpace* space); |
+ int ParallelSweepPage(Page* page, AllocationSpace identity); |
void StartSweeping(); |
void StartSweepingHelper(AllocationSpace space_to_start); |
void EnsureCompleted(); |
+ void EnsureNewSpaceCompleted(); |
bool IsSweepingCompleted(); |
void SweepOrWaitUntilSweepingCompleted(Page* page); |
@@ -791,7 +794,6 @@ class MarkCompactCollector { |
void SweepSpaces(); |
void EvacuateNewSpacePrologue(); |
- void EvacuateNewSpaceEpilogue(); |
void EvacuatePagesInParallel(); |