src/hotspot/share/classfile/systemDictionary.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File open Cdiff src/hotspot/share/classfile/systemDictionary.cpp

src/hotspot/share/classfile/systemDictionary.cpp

Print this page

        

*** 1057,1072 **** ClassFileStream* st, TRAPS) { #if INCLUDE_CDS ResourceMark rm(THREAD); if (DumpSharedSpaces && !class_loader.is_null() && ! !UseAppCDS && strcmp(class_name->as_C_string(), "Unnamed") != 0) { // If AppCDS is not enabled, don't define the class at dump time (except for the "Unnamed" // class, which is used by MethodHandles). THROW_MSG_NULL(vmSymbols::java_lang_ClassNotFoundException(), class_name->as_C_string()); } ! #endif HandleMark hm(THREAD); // Classloaders that support parallelism, e.g. bootstrap classloader, // do not acquire lock here --- 1057,1079 ---- ClassFileStream* st, TRAPS) { #if INCLUDE_CDS ResourceMark rm(THREAD); if (DumpSharedSpaces && !class_loader.is_null() && ! !UseAppCDS && (strcmp(class_name->as_C_string(), "Unnamed") != 0) // If AppCDS is not enabled, don't define the class at dump time (except for the "Unnamed" // class, which is used by MethodHandles). + #if INCLUDE_JVMCI + // Need to define the class if force initialization of JVMCI runtime. Otherwise the <clinit> of the + // JVMCI class will result in ClassNotFoundException. + && !Arguments::is_force_init_jvmci_runtime()) { + #else + ) { + #endif // INCLUDE_JVMCI THROW_MSG_NULL(vmSymbols::java_lang_ClassNotFoundException(), class_name->as_C_string()); } ! #endif // INCLUDE_CDS HandleMark hm(THREAD); // Classloaders that support parallelism, e.g. bootstrap classloader, // do not acquire lock here
src/hotspot/share/classfile/systemDictionary.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File