1.1 --- a/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp Mon Aug 31 05:27:29 2009 -0700 1.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp Wed Sep 02 00:04:29 2009 -0700 1.3 @@ -901,7 +901,8 @@ 1.4 static void marking_phase(ParCompactionManager* cm, 1.5 bool maximum_heap_compaction); 1.6 static void follow_stack(ParCompactionManager* cm); 1.7 - static void follow_weak_klass_links(ParCompactionManager* cm); 1.8 + static void follow_weak_klass_links(); 1.9 + static void follow_mdo_weak_refs(); 1.10 1.11 template <class T> static inline void adjust_pointer(T* p, bool is_root); 1.12 static void adjust_root_pointer(oop* p) { adjust_pointer(p, true); } 1.13 @@ -1221,6 +1222,9 @@ 1.14 // Update subklass/sibling/implementor links at end of marking. 1.15 static void revisit_weak_klass_link(ParCompactionManager* cm, Klass* k); 1.16 1.17 + // Clear unmarked oops in MDOs at the end of marking. 1.18 + static void revisit_mdo(ParCompactionManager* cm, DataLayout* p); 1.19 + 1.20 #ifndef PRODUCT 1.21 // Debugging support. 1.22 static const char* space_names[last_space_id];