--- old/src/share/vm/gc/parallel/psCompactionManager.cpp 2017-03-16 13:22:45.417143554 +0100 +++ new/src/share/vm/gc/parallel/psCompactionManager.cpp 2017-03-16 13:22:45.277140633 +0100 @@ -295,10 +295,10 @@ 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(valueArrayOop(obj), &cl); } }