# HG changeset patch # User iklam # Date 1532114368 25200 # Node ID b7eb9cc56277749f9cef94557fc35ec75a32e300 # Parent 516acf6956a27a0562ecb477c444e5d386fdbd84 8203382: Rename SystemDictionary::initialize_wk_klass to resolve_wk_klass Reviewed-by: jiangli diff -r 516acf6956a2 -r b7eb9cc56277 src/hotspot/share/classfile/systemDictionary.cpp --- a/src/hotspot/share/classfile/systemDictionary.cpp Fri Jul 20 14:52:11 2018 -0400 +++ b/src/hotspot/share/classfile/systemDictionary.cpp Fri Jul 20 12:19:28 2018 -0700 @@ -1908,7 +1908,7 @@ // Allocate private object used as system class loader lock _system_loader_lock_obj = oopFactory::new_intArray(0, CHECK); // Initialize basic classes - initialize_preloaded_classes(CHECK); + resolve_preloaded_classes(CHECK); } // Compact table of directions on the initialization of klasses: @@ -1922,7 +1922,7 @@ 0 }; -bool SystemDictionary::initialize_wk_klass(WKID id, int init_opt, TRAPS) { +bool SystemDictionary::resolve_wk_klass(WKID id, int init_opt, TRAPS) { assert(id >= (int)FIRST_WKID && id < (int)WKID_LIMIT, "oob"); int info = wk_init_info[id - FIRST_WKID]; int sid = (info >> CEIL_LG_OPTION_LIMIT); @@ -1952,7 +1952,7 @@ return ((*klassp) != NULL); } -void SystemDictionary::initialize_wk_klasses_until(WKID limit_id, WKID &start_id, TRAPS) { +void SystemDictionary::resolve_wk_klasses_until(WKID limit_id, WKID &start_id, TRAPS) { assert((int)start_id <= (int)limit_id, "IDs are out of order!"); for (int id = (int)start_id; id < (int)limit_id; id++) { assert(id >= (int)FIRST_WKID && id < (int)WKID_LIMIT, "oob"); @@ -1960,14 +1960,14 @@ int sid = (info >> CEIL_LG_OPTION_LIMIT); int opt = (info & right_n_bits(CEIL_LG_OPTION_LIMIT)); - initialize_wk_klass((WKID)id, opt, CHECK); + resolve_wk_klass((WKID)id, opt, CHECK); } // move the starting value forward to the limit: start_id = limit_id; } -void SystemDictionary::initialize_preloaded_classes(TRAPS) { +void SystemDictionary::resolve_preloaded_classes(TRAPS) { assert(WK_KLASS(Object_klass) == NULL, "preloaded classes should only be initialized once"); // Create the ModuleEntry for java.base. This call needs to be done here, @@ -1979,14 +1979,14 @@ // first do Object, then String, Class #if INCLUDE_CDS if (UseSharedSpaces) { - initialize_wk_klasses_through(WK_KLASS_ENUM_NAME(Object_klass), scan, CHECK); + resolve_wk_klasses_through(WK_KLASS_ENUM_NAME(Object_klass), scan, CHECK); // Initialize the constant pool for the Object_class Object_klass()->constants()->restore_unshareable_info(CHECK); - initialize_wk_klasses_through(WK_KLASS_ENUM_NAME(Class_klass), scan, CHECK); + resolve_wk_klasses_through(WK_KLASS_ENUM_NAME(Class_klass), scan, CHECK); } else #endif { - initialize_wk_klasses_through(WK_KLASS_ENUM_NAME(Class_klass), scan, CHECK); + resolve_wk_klasses_through(WK_KLASS_ENUM_NAME(Class_klass), scan, CHECK); } // Calculate offsets for String and Class classes since they are loaded and @@ -2003,13 +2003,13 @@ Universe::fixup_mirrors(CHECK); // do a bunch more: - initialize_wk_klasses_through(WK_KLASS_ENUM_NAME(Reference_klass), scan, CHECK); + resolve_wk_klasses_through(WK_KLASS_ENUM_NAME(Reference_klass), scan, CHECK); // Preload ref klasses and set reference types InstanceKlass::cast(WK_KLASS(Reference_klass))->set_reference_type(REF_OTHER); InstanceRefKlass::update_nonstatic_oop_maps(WK_KLASS(Reference_klass)); - initialize_wk_klasses_through(WK_KLASS_ENUM_NAME(PhantomReference_klass), scan, CHECK); + resolve_wk_klasses_through(WK_KLASS_ENUM_NAME(PhantomReference_klass), scan, CHECK); InstanceKlass::cast(WK_KLASS(SoftReference_klass))->set_reference_type(REF_SOFT); InstanceKlass::cast(WK_KLASS(WeakReference_klass))->set_reference_type(REF_WEAK); InstanceKlass::cast(WK_KLASS(FinalReference_klass))->set_reference_type(REF_FINAL); @@ -2018,9 +2018,9 @@ // JSR 292 classes WKID jsr292_group_start = WK_KLASS_ENUM_NAME(MethodHandle_klass); WKID jsr292_group_end = WK_KLASS_ENUM_NAME(VolatileCallSite_klass); - initialize_wk_klasses_until(jsr292_group_start, scan, CHECK); - initialize_wk_klasses_through(jsr292_group_end, scan, CHECK); - initialize_wk_klasses_until(NOT_JVMCI(WKID_LIMIT) JVMCI_ONLY(FIRST_JVMCI_WKID), scan, CHECK); + resolve_wk_klasses_until(jsr292_group_start, scan, CHECK); + resolve_wk_klasses_through(jsr292_group_end, scan, CHECK); + resolve_wk_klasses_until(NOT_JVMCI(WKID_LIMIT) JVMCI_ONLY(FIRST_JVMCI_WKID), scan, CHECK); _box_klasses[T_BOOLEAN] = WK_KLASS(Boolean_klass); _box_klasses[T_CHAR] = WK_KLASS(Character_klass); diff -r 516acf6956a2 -r b7eb9cc56277 src/hotspot/share/classfile/systemDictionary.hpp --- a/src/hotspot/share/classfile/systemDictionary.hpp Fri Jul 20 14:52:11 2018 -0400 +++ b/src/hotspot/share/classfile/systemDictionary.hpp Fri Jul 20 12:19:28 2018 -0700 @@ -98,7 +98,7 @@ // that makes some minor distinctions, like whether the klass // is preloaded, optional, release-specific, etc. // The order of these definitions is significant; it is the order in which -// preloading is actually performed by initialize_preloaded_classes. +// preloading is actually performed by resolve_preloaded_classes. #define WK_KLASSES_DO(do_klass) \ /* well-known classes */ \ @@ -417,11 +417,11 @@ JVMCI_ONLY(static InstanceKlass* check_klass_Jvmci(InstanceKlass* k) { return k; }) - static bool initialize_wk_klass(WKID id, int init_opt, TRAPS); - static void initialize_wk_klasses_until(WKID limit_id, WKID &start_id, TRAPS); - static void initialize_wk_klasses_through(WKID end_id, WKID &start_id, TRAPS) { + static bool resolve_wk_klass(WKID id, int init_opt, TRAPS); + static void resolve_wk_klasses_until(WKID limit_id, WKID &start_id, TRAPS); + static void resolve_wk_klasses_through(WKID end_id, WKID &start_id, TRAPS) { int limit = (int)end_id + 1; - initialize_wk_klasses_until((WKID) limit, start_id, THREAD); + resolve_wk_klasses_until((WKID) limit, start_id, THREAD); } public: @@ -708,8 +708,8 @@ ClassLoaderData* loader_data, TRAPS); - // Initialization - static void initialize_preloaded_classes(TRAPS); + // Resolve preloaded classes so they can be used like SystemDictionary::String_klass() + static void resolve_preloaded_classes(TRAPS); // Class loader constraints static void check_constraints(unsigned int hash, diff -r 516acf6956a2 -r b7eb9cc56277 src/hotspot/share/jvmci/jvmciRuntime.cpp --- a/src/hotspot/share/jvmci/jvmciRuntime.cpp Fri Jul 20 14:52:11 2018 -0400 +++ b/src/hotspot/share/jvmci/jvmciRuntime.cpp Fri Jul 20 12:19:28 2018 -0700 @@ -715,7 +715,7 @@ if (JVMCIRuntime::_well_known_classes_initialized == false) { guarantee(can_initialize_JVMCI(), "VM is not yet sufficiently booted to initialize JVMCI"); SystemDictionary::WKID scan = SystemDictionary::FIRST_JVMCI_WKID; - SystemDictionary::initialize_wk_klasses_through(SystemDictionary::LAST_JVMCI_WKID, scan, CHECK); + SystemDictionary::resolve_wk_klasses_through(SystemDictionary::LAST_JVMCI_WKID, scan, CHECK); JVMCIJavaClasses::compute_offsets(CHECK); JVMCIRuntime::_well_known_classes_initialized = true; }