8069005: Hotspot crashes in System.out.println with assert(resolved_method->method_holder()->is_linked()) failed: must be linked
authorcoleenp
Tue, 05 May 2015 16:09:30 -0400
changeset 30606 9dae6b41c617
parent 30605 94be2f15efe5
child 30607 035f5801a92e
child 30615 4713e7c7b96f
child 30616 fde3a4fee412
8069005: Hotspot crashes in System.out.println with assert(resolved_method->method_holder()->is_linked()) failed: must be linked Summary: move java.lang.Class initialization sooner in bootstrapping the jvm Reviewed-by: dholmes, hseigel
hotspot/src/share/vm/runtime/thread.cpp
--- a/hotspot/src/share/vm/runtime/thread.cpp	Thu Apr 23 18:00:50 2015 +0200
+++ b/hotspot/src/share/vm/runtime/thread.cpp	Tue May 05 16:09:30 2015 -0400
@@ -3230,6 +3230,8 @@
 
   // Initialize java_lang.System (needed before creating the thread)
   initialize_class(vmSymbols::java_lang_System(), CHECK);
+  // The VM creates & returns objects of this class. Make sure it's initialized.
+  initialize_class(vmSymbols::java_lang_Class(), CHECK);
   initialize_class(vmSymbols::java_lang_ThreadGroup(), CHECK);
   Handle thread_group = create_initial_thread_group(CHECK);
   Universe::set_main_thread_group(thread_group());
@@ -3241,9 +3243,6 @@
   java_lang_Thread::set_thread_status(thread_object,
                                       java_lang_Thread::RUNNABLE);
 
-  // The VM creates & returns objects of this class. Make sure it's initialized.
-  initialize_class(vmSymbols::java_lang_Class(), CHECK);
-
   // The VM preresolves methods to these classes. Make sure that they get initialized
   initialize_class(vmSymbols::java_lang_reflect_Method(), CHECK);
   initialize_class(vmSymbols::java_lang_ref_Finalizer(), CHECK);