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