hotspot/src/share/vm/runtime/thread.cpp
changeset 11776 519643dbbefb
parent 11637 030466036615
child 12108 b2ee55606008
equal deleted inserted replaced
11775:3da369c2b70d 11776:519643dbbefb
  3218     delete main_thread;
  3218     delete main_thread;
  3219     *canTryAgain = false; // don't let caller call JNI_CreateJavaVM again
  3219     *canTryAgain = false; // don't let caller call JNI_CreateJavaVM again
  3220     return status;
  3220     return status;
  3221   }
  3221   }
  3222 
  3222 
  3223   // Must be run after init_ft which initializes ft_enabled
       
  3224   if (TRACE_INITIALIZE() != JNI_OK) {
       
  3225     vm_exit_during_initialization("Failed to initialize tracing backend");
       
  3226   }
       
  3227 
       
  3228   // Should be done after the heap is fully created
  3223   // Should be done after the heap is fully created
  3229   main_thread->cache_global_variables();
  3224   main_thread->cache_global_variables();
  3230 
  3225 
  3231   HandleMark hm;
  3226   HandleMark hm;
  3232 
  3227 
  3364       initialize_class(vmSymbols::java_lang_ClassCastException(), CHECK_0);
  3359       initialize_class(vmSymbols::java_lang_ClassCastException(), CHECK_0);
  3365       initialize_class(vmSymbols::java_lang_ArrayStoreException(), CHECK_0);
  3360       initialize_class(vmSymbols::java_lang_ArrayStoreException(), CHECK_0);
  3366       initialize_class(vmSymbols::java_lang_ArithmeticException(), CHECK_0);
  3361       initialize_class(vmSymbols::java_lang_ArithmeticException(), CHECK_0);
  3367       initialize_class(vmSymbols::java_lang_StackOverflowError(), CHECK_0);
  3362       initialize_class(vmSymbols::java_lang_StackOverflowError(), CHECK_0);
  3368       initialize_class(vmSymbols::java_lang_IllegalMonitorStateException(), CHECK_0);
  3363       initialize_class(vmSymbols::java_lang_IllegalMonitorStateException(), CHECK_0);
       
  3364       initialize_class(vmSymbols::java_lang_IllegalArgumentException(), CHECK_0);
  3369     } else {
  3365     } else {
  3370       warning("java.lang.OutOfMemoryError has not been initialized");
  3366       warning("java.lang.OutOfMemoryError has not been initialized");
  3371       warning("java.lang.NullPointerException has not been initialized");
  3367       warning("java.lang.NullPointerException has not been initialized");
  3372       warning("java.lang.ClassCastException has not been initialized");
  3368       warning("java.lang.ClassCastException has not been initialized");
  3373       warning("java.lang.ArrayStoreException has not been initialized");
  3369       warning("java.lang.ArrayStoreException has not been initialized");
  3374       warning("java.lang.ArithmeticException has not been initialized");
  3370       warning("java.lang.ArithmeticException has not been initialized");
  3375       warning("java.lang.StackOverflowError has not been initialized");
  3371       warning("java.lang.StackOverflowError has not been initialized");
       
  3372       warning("java.lang.IllegalArgumentException has not been initialized");
  3376     }
  3373     }
  3377   }
  3374   }
  3378 
  3375 
  3379   // See        : bugid 4211085.
  3376   // See        : bugid 4211085.
  3380   // Background : the static initializer of java.lang.Compiler tries to read
  3377   // Background : the static initializer of java.lang.Compiler tries to read
  3399   // hotspot vm says "nojit" all the time which is confusing.  So, we reset it here.
  3396   // hotspot vm says "nojit" all the time which is confusing.  So, we reset it here.
  3400   // This should also be taken out as soon as 4211383 gets fixed.
  3397   // This should also be taken out as soon as 4211383 gets fixed.
  3401   reset_vm_info_property(CHECK_0);
  3398   reset_vm_info_property(CHECK_0);
  3402 
  3399 
  3403   quicken_jni_functions();
  3400   quicken_jni_functions();
       
  3401 
       
  3402   // Must be run after init_ft which initializes ft_enabled
       
  3403   if (TRACE_INITIALIZE() != JNI_OK) {
       
  3404     vm_exit_during_initialization("Failed to initialize tracing backend");
       
  3405   }
  3404 
  3406 
  3405   // Set flag that basic initialization has completed. Used by exceptions and various
  3407   // Set flag that basic initialization has completed. Used by exceptions and various
  3406   // debug stuff, that does not work until all basic classes have been initialized.
  3408   // debug stuff, that does not work until all basic classes have been initialized.
  3407   set_init_completed();
  3409   set_init_completed();
  3408 
  3410