diff -r c139884bd80e -r 3e0ebf913679 src/hotspot/share/memory/heapShared.cpp --- a/src/hotspot/share/memory/heapShared.cpp Thu Nov 08 15:19:14 2018 -0800 +++ b/src/hotspot/share/memory/heapShared.cpp Thu Nov 08 19:16:16 2018 -0500 @@ -886,6 +886,10 @@ Klass* k = SystemDictionary::resolve_or_null(klass_name, THREAD); assert(k != NULL && !HAS_PENDING_EXCEPTION, "class must exist"); InstanceKlass* ik = InstanceKlass::cast(k); + assert(InstanceKlass::cast(ik)->is_shared_boot_class(), + "Only support boot classes"); + ik->initialize(THREAD); + guarantee(!HAS_PENDING_EXCEPTION, "exception in initialize"); ArchivableStaticFieldFinder finder(ik, field_name); ik->do_local_static_fields(&finder);