< prev index next >

src/share/vm/runtime/thread.cpp

Print this page




3679   }
3680 
3681   // Launch -Xrun agents
3682   // Must be done in the JVMTI live phase so that for backward compatibility the JDWP
3683   // back-end can launch with -Xdebug -Xrunjdwp.
3684   if (!EagerXrunInit && Arguments::init_libraries_at_startup()) {
3685     create_vm_init_libraries();
3686   }
3687 
3688   // Notify JVMTI agents that VM initialization is complete - nop if no agents.
3689   JvmtiExport::post_vm_initialized();
3690 
3691   if (TRACE_START() != JNI_OK) {
3692     vm_exit_during_initialization("Failed to start tracing backend.");
3693   }
3694 
3695   if (CleanChunkPoolAsync) {
3696     Chunk::start_chunk_pool_cleaner_task();
3697   }
3698 
3699 #if INCLUDE_JVMCI
3700   if (EnableJVMCI) {
3701     const char* jvmciCompiler = Arguments::PropertyList_get_value(Arguments::system_properties(), "jvmci.compiler");
3702     if (jvmciCompiler != NULL) {
3703       JVMCIRuntime::save_compiler(jvmciCompiler);
3704     }
3705   }
3706 #endif // INCLUDE_JVMCI
3707 
3708   // initialize compiler(s)
3709 #if defined(COMPILER1) || defined(COMPILER2) || defined(SHARK) || INCLUDE_JVMCI
3710   CompileBroker::compilation_init(CHECK_JNI_ERR);
3711 #endif
3712 
3713   // Pre-initialize some JSR292 core classes to avoid deadlock during class loading.
3714   // It is done after compilers are initialized, because otherwise compilations of
3715   // signature polymorphic MH intrinsics can be missed
3716   // (see SystemDictionary::find_method_handle_intrinsic).
3717   initialize_jsr292_core_classes(CHECK_JNI_ERR);
3718 
3719 #if INCLUDE_MANAGEMENT
3720   Management::initialize(THREAD);
3721 
3722   if (HAS_PENDING_EXCEPTION) {
3723     // management agent fails to start possibly due to
3724     // configuration problem and is responsible for printing
3725     // stack trace if appropriate. Simply exit VM.
3726     vm_exit(1);
3727   }




3679   }
3680 
3681   // Launch -Xrun agents
3682   // Must be done in the JVMTI live phase so that for backward compatibility the JDWP
3683   // back-end can launch with -Xdebug -Xrunjdwp.
3684   if (!EagerXrunInit && Arguments::init_libraries_at_startup()) {
3685     create_vm_init_libraries();
3686   }
3687 
3688   // Notify JVMTI agents that VM initialization is complete - nop if no agents.
3689   JvmtiExport::post_vm_initialized();
3690 
3691   if (TRACE_START() != JNI_OK) {
3692     vm_exit_during_initialization("Failed to start tracing backend.");
3693   }
3694 
3695   if (CleanChunkPoolAsync) {
3696     Chunk::start_chunk_pool_cleaner_task();
3697   }
3698 









3699   // initialize compiler(s)
3700 #if defined(COMPILER1) || defined(COMPILER2) || defined(SHARK) || INCLUDE_JVMCI
3701   CompileBroker::compilation_init(CHECK_JNI_ERR);
3702 #endif
3703 
3704   // Pre-initialize some JSR292 core classes to avoid deadlock during class loading.
3705   // It is done after compilers are initialized, because otherwise compilations of
3706   // signature polymorphic MH intrinsics can be missed
3707   // (see SystemDictionary::find_method_handle_intrinsic).
3708   initialize_jsr292_core_classes(CHECK_JNI_ERR);
3709 
3710 #if INCLUDE_MANAGEMENT
3711   Management::initialize(THREAD);
3712 
3713   if (HAS_PENDING_EXCEPTION) {
3714     // management agent fails to start possibly due to
3715     // configuration problem and is responsible for printing
3716     // stack trace if appropriate. Simply exit VM.
3717     vm_exit(1);
3718   }


< prev index next >