diff --git a/src/hotspot/share/oops/instanceKlass.cpp b/src/hotspot/share/oops/instanceKlass.cpp index 50d744d..a6961ec 100644 --- a/src/hotspot/share/oops/instanceKlass.cpp +++ b/src/hotspot/share/oops/instanceKlass.cpp @@ -51,6 +51,7 @@ #include "memory/metaspaceShared.hpp" #include "memory/oopFactory.hpp" #include "memory/resourceArea.hpp" +#include "oops/access.inline.hpp" #include "oops/fieldStreams.hpp" #include "oops/instanceClassLoaderKlass.hpp" #include "oops/instanceKlass.inline.hpp" @@ -3416,13 +3417,12 @@ void JNIid::verify(Klass* holder) { } oop InstanceKlass::klass_holder_phantom() { - oop* addr; if (is_anonymous()) { - addr = _java_mirror.ptr_raw(); + oop* addr = _java_mirror.ptr_raw(); + return RootAccess::oop_load(addr); } else { - addr = &class_loader_data()->_class_loader; + return Klass::klass_holder_phantom(); } - return RootAccess::oop_load(addr); } #ifdef ASSERT