diff --git a/src/hotspot/share/gc/parallel/psCompactionManager.inline.hpp b/src/hotspot/share/gc/parallel/psCompactionManager.inline.hpp index 065ef2029b8..fa3f7203df0 100644 --- a/src/hotspot/share/gc/parallel/psCompactionManager.inline.hpp +++ b/src/hotspot/share/gc/parallel/psCompactionManager.inline.hpp @@ -127,7 +127,10 @@ inline void ParCompactionManager::follow_array(objArrayOop obj, int index) { } inline void ParCompactionManager::update_contents(oop obj) { - obj->pc_update_contents(this); + if (!obj->klass()->is_typeArray_klass()) { + PSAdjustPointerClosure apc(this); + obj->oop_iterate(&apc); + } } class PSMarkAndPushClosure: public OopClosure {