Index: src/heap/mark-compact.h |
diff --git a/src/heap/mark-compact.h b/src/heap/mark-compact.h |
index d0fb955d8bc7499a1cbbbbedc22fd4a406737275..c82d0cf934ddfbb14fc44ce9765e2208bbeb9947 100644 |
--- a/src/heap/mark-compact.h |
+++ b/src/heap/mark-compact.h |
@@ -627,6 +627,9 @@ class MarkCompactCollector { |
// increase chances of reusing of map transition tree in future. |
void RetainMaps(); |
+ // Collects a list of dependent code from maps embedded in optimize code. |
+ DependentCode* DependentCodeListFromNonLiveMaps(); |
+ |
// Mark objects reachable (transitively) from objects in the marking |
// stack. This function empties the marking stack, but may leave |
// overflowed objects in the heap, in which case the marking stack's |
@@ -657,6 +660,7 @@ class MarkCompactCollector { |
void ClearNonLiveMapTransitions(Map* map); |
void ClearMapTransitions(Map* map, Map* dead_transition); |
bool ClearMapBackPointer(Map* map); |
+ void MarkDependentCodeListForDeoptimization(DependentCode* list_head); |
void TrimDescriptorArray(Map* map, DescriptorArray* descriptors, |
int number_of_own_descriptors); |
void TrimEnumCache(Map* map, DescriptorArray* descriptors); |
@@ -683,6 +687,9 @@ class MarkCompactCollector { |
// trimming or clearing out the entire optimized code map. |
void ProcessAndClearOptimizedCodeMaps(); |
+ // Process non-live references in maps and optimized code. |
+ void ProcessWeakReferences(); |
+ |
// ----------------------------------------------------------------------- |
// Phase 2: Sweeping to clear mark bits and free non-live objects for |
// a non-compacting collection. |