900 |
900 |
901 // Mark live objects |
901 // Mark live objects |
902 static void marking_phase(ParCompactionManager* cm, |
902 static void marking_phase(ParCompactionManager* cm, |
903 bool maximum_heap_compaction); |
903 bool maximum_heap_compaction); |
904 static void follow_stack(ParCompactionManager* cm); |
904 static void follow_stack(ParCompactionManager* cm); |
905 static void follow_weak_klass_links(ParCompactionManager* cm); |
905 static void follow_weak_klass_links(); |
|
906 static void follow_mdo_weak_refs(); |
906 |
907 |
907 template <class T> static inline void adjust_pointer(T* p, bool is_root); |
908 template <class T> static inline void adjust_pointer(T* p, bool is_root); |
908 static void adjust_root_pointer(oop* p) { adjust_pointer(p, true); } |
909 static void adjust_root_pointer(oop* p) { adjust_pointer(p, true); } |
909 |
910 |
910 template <class T> |
911 template <class T> |
1218 #endif // #ifdef VALIDATE_MARK_SWEEP |
1219 #endif // #ifdef VALIDATE_MARK_SWEEP |
1219 |
1220 |
1220 // Call backs for class unloading |
1221 // Call backs for class unloading |
1221 // Update subklass/sibling/implementor links at end of marking. |
1222 // Update subklass/sibling/implementor links at end of marking. |
1222 static void revisit_weak_klass_link(ParCompactionManager* cm, Klass* k); |
1223 static void revisit_weak_klass_link(ParCompactionManager* cm, Klass* k); |
|
1224 |
|
1225 // Clear unmarked oops in MDOs at the end of marking. |
|
1226 static void revisit_mdo(ParCompactionManager* cm, DataLayout* p); |
1223 |
1227 |
1224 #ifndef PRODUCT |
1228 #ifndef PRODUCT |
1225 // Debugging support. |
1229 // Debugging support. |
1226 static const char* space_names[last_space_id]; |
1230 static const char* space_names[last_space_id]; |
1227 static void print_region_ranges(); |
1231 static void print_region_ranges(); |