--- old/src/hotspot/share/classfile/javaClasses.cpp 2020-04-14 22:03:04.343923537 -0700 +++ new/src/hotspot/share/classfile/javaClasses.cpp 2020-04-14 22:03:03.987910137 -0700 @@ -1255,16 +1255,16 @@ } void java_lang_Class::update_archived_mirror_native_pointers(oop archived_mirror) { - if (MetaspaceShared::relocation_delta() != 0) { - Klass* k = ((Klass*)archived_mirror->metadata_field(_klass_offset)); - archived_mirror->metadata_field_put(_klass_offset, - (Klass*)(address(k) + MetaspaceShared::relocation_delta())); - - Klass* ak = ((Klass*)archived_mirror->metadata_field(_array_klass_offset)); - if (ak != NULL) { - archived_mirror->metadata_field_put(_array_klass_offset, - (Klass*)(address(ak) + MetaspaceShared::relocation_delta())); - } + assert(MetaspaceShared::relocation_delta() != 0, "must be"); + + Klass* k = ((Klass*)archived_mirror->metadata_field(_klass_offset)); + archived_mirror->metadata_field_put(_klass_offset, + (Klass*)(address(k) + MetaspaceShared::relocation_delta())); + + Klass* ak = ((Klass*)archived_mirror->metadata_field(_array_klass_offset)); + if (ak != NULL) { + archived_mirror->metadata_field_put(_array_klass_offset, + (Klass*)(address(ak) + MetaspaceShared::relocation_delta())); } } @@ -1291,7 +1291,6 @@ // mirror is archived, restore log_debug(cds, mirror)("Archived mirror is: " PTR_FORMAT, p2i(m)); assert(HeapShared::is_archived_object(m), "must be archived mirror object"); - update_archived_mirror_native_pointers(m); assert(as_Klass(m) == k, "must be"); Handle mirror(THREAD, m);