--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp Fri Sep 18 09:57:47 2009 -0700
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp Wed Sep 23 23:56:15 2009 -0700
@@ -902,7 +902,8 @@
static void marking_phase(ParCompactionManager* cm,
bool maximum_heap_compaction);
static void follow_stack(ParCompactionManager* cm);
- static void follow_weak_klass_links(ParCompactionManager* cm);
+ static void follow_weak_klass_links();
+ static void follow_mdo_weak_refs();
template <class T> static inline void adjust_pointer(T* p, bool is_root);
static void adjust_root_pointer(oop* p) { adjust_pointer(p, true); }
@@ -1221,6 +1222,9 @@
// Update subklass/sibling/implementor links at end of marking.
static void revisit_weak_klass_link(ParCompactionManager* cm, Klass* k);
+ // Clear unmarked oops in MDOs at the end of marking.
+ static void revisit_mdo(ParCompactionManager* cm, DataLayout* p);
+
#ifndef PRODUCT
// Debugging support.
static const char* space_names[last_space_id];