< prev index next >

src/share/vm/gc/parallel/psCompactionManager.cpp

Print this page

        

@@ -293,14 +293,14 @@
   // know that Universe::TypeArrayKlass never moves.
 }
 
 void ValueArrayKlass::oop_pc_follow_contents(oop obj, ParCompactionManager* cm) {
   assert(obj->is_valueArray(),"must be a value array");
-
   cm->follow_klass(this);
-  if (contains_oops()) {
-    Unimplemented(); // Don't have embedded oops to test with just now
+  if (contains_oops()) { // CMH: parallel version (like objArrayTask) missing, treat as single obj for now
+    ParCompactionManager::MarkAndPushClosure cl(cm);
+    ValueArrayKlass::oop_oop_iterate_elements<true>(valueArrayOop(obj), &cl);
   }
 }
 
 void ParCompactionManager::follow_marking_stacks() {
   do {
< prev index next >