133 do_klass(Thread_klass, java_lang_Thread, Pre ) \ |
133 do_klass(Thread_klass, java_lang_Thread, Pre ) \ |
134 do_klass(ThreadGroup_klass, java_lang_ThreadGroup, Pre ) \ |
134 do_klass(ThreadGroup_klass, java_lang_ThreadGroup, Pre ) \ |
135 do_klass(Properties_klass, java_util_Properties, Pre ) \ |
135 do_klass(Properties_klass, java_util_Properties, Pre ) \ |
136 do_klass(reflect_AccessibleObject_klass, java_lang_reflect_AccessibleObject, Pre ) \ |
136 do_klass(reflect_AccessibleObject_klass, java_lang_reflect_AccessibleObject, Pre ) \ |
137 do_klass(reflect_Field_klass, java_lang_reflect_Field, Pre ) \ |
137 do_klass(reflect_Field_klass, java_lang_reflect_Field, Pre ) \ |
|
138 do_klass(reflect_Module_klass, java_lang_reflect_Module, Pre ) \ |
138 do_klass(reflect_Parameter_klass, java_lang_reflect_Parameter, Opt ) \ |
139 do_klass(reflect_Parameter_klass, java_lang_reflect_Parameter, Opt ) \ |
139 do_klass(reflect_Method_klass, java_lang_reflect_Method, Pre ) \ |
140 do_klass(reflect_Method_klass, java_lang_reflect_Method, Pre ) \ |
140 do_klass(reflect_Constructor_klass, java_lang_reflect_Constructor, Pre ) \ |
141 do_klass(reflect_Constructor_klass, java_lang_reflect_Constructor, Pre ) \ |
141 \ |
142 \ |
142 /* NOTE: needed too early in bootstrapping process to have checks based on JDK version */ \ |
143 /* NOTE: needed too early in bootstrapping process to have checks based on JDK version */ \ |
165 /* Note: MethodHandle must be first, and VolatileCallSite last in group */ \ |
166 /* Note: MethodHandle must be first, and VolatileCallSite last in group */ \ |
166 \ |
167 \ |
167 do_klass(StringBuffer_klass, java_lang_StringBuffer, Pre ) \ |
168 do_klass(StringBuffer_klass, java_lang_StringBuffer, Pre ) \ |
168 do_klass(StringBuilder_klass, java_lang_StringBuilder, Pre ) \ |
169 do_klass(StringBuilder_klass, java_lang_StringBuilder, Pre ) \ |
169 do_klass(internal_Unsafe_klass, jdk_internal_misc_Unsafe, Pre ) \ |
170 do_klass(internal_Unsafe_klass, jdk_internal_misc_Unsafe, Pre ) \ |
|
171 do_klass(module_Modules_klass, jdk_internal_module_Modules, Pre ) \ |
170 \ |
172 \ |
171 /* support for CDS */ \ |
173 /* support for CDS */ \ |
172 do_klass(ByteArrayInputStream_klass, java_io_ByteArrayInputStream, Pre ) \ |
174 do_klass(ByteArrayInputStream_klass, java_io_ByteArrayInputStream, Pre ) \ |
173 do_klass(File_klass, java_io_File, Pre ) \ |
175 do_klass(File_klass, java_io_File, Pre ) \ |
174 do_klass(URLClassLoader_klass, java_net_URLClassLoader, Pre ) \ |
|
175 do_klass(URL_klass, java_net_URL, Pre ) \ |
176 do_klass(URL_klass, java_net_URL, Pre ) \ |
176 do_klass(Jar_Manifest_klass, java_util_jar_Manifest, Pre ) \ |
177 do_klass(Jar_Manifest_klass, java_util_jar_Manifest, Pre ) \ |
177 do_klass(sun_misc_Launcher_klass, sun_misc_Launcher, Pre ) \ |
178 do_klass(jdk_internal_loader_ClassLoaders_AppClassLoader_klass, jdk_internal_loader_ClassLoaders_AppClassLoader, Pre ) \ |
|
179 do_klass(jdk_internal_loader_ClassLoaders_PlatformClassLoader_klass, jdk_internal_loader_ClassLoaders_PlatformClassLoader, Pre ) \ |
178 do_klass(CodeSource_klass, java_security_CodeSource, Pre ) \ |
180 do_klass(CodeSource_klass, java_security_CodeSource, Pre ) \ |
|
181 do_klass(ParseUtil_klass, sun_net_www_ParseUtil, Pre ) \ |
179 \ |
182 \ |
180 do_klass(StackTraceElement_klass, java_lang_StackTraceElement, Opt ) \ |
183 do_klass(StackTraceElement_klass, java_lang_StackTraceElement, Opt ) \ |
181 \ |
184 \ |
182 /* It's okay if this turns out to be NULL in non-1.4 JDKs. */ \ |
185 /* It's okay if this turns out to be NULL in non-1.4 JDKs. */ \ |
183 do_klass(nio_Buffer_klass, java_nio_Buffer, Opt ) \ |
186 do_klass(nio_Buffer_klass, java_nio_Buffer, Opt ) \ |
637 static void double_lock_wait(Handle lockObject, TRAPS); |
640 static void double_lock_wait(Handle lockObject, TRAPS); |
638 static void define_instance_class(instanceKlassHandle k, TRAPS); |
641 static void define_instance_class(instanceKlassHandle k, TRAPS); |
639 static instanceKlassHandle find_or_define_instance_class(Symbol* class_name, |
642 static instanceKlassHandle find_or_define_instance_class(Symbol* class_name, |
640 Handle class_loader, |
643 Handle class_loader, |
641 instanceKlassHandle k, TRAPS); |
644 instanceKlassHandle k, TRAPS); |
|
645 static bool is_shared_class_visible(Symbol* class_name, instanceKlassHandle ik, |
|
646 Handle class_loader, TRAPS); |
642 static instanceKlassHandle load_shared_class(instanceKlassHandle ik, |
647 static instanceKlassHandle load_shared_class(instanceKlassHandle ik, |
643 Handle class_loader, |
648 Handle class_loader, |
644 Handle protection_domain, |
649 Handle protection_domain, |
645 TRAPS); |
650 TRAPS); |
646 static instanceKlassHandle load_instance_class(Symbol* class_name, Handle class_loader, TRAPS); |
651 static instanceKlassHandle load_instance_class(Symbol* class_name, Handle class_loader, TRAPS); |