| 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.
 | 
| 
 |