3650
3651 // Launch -Xrun agents
3652 // Must be done in the JVMTI live phase so that for backward compatibility the JDWP
3653 // back-end can launch with -Xdebug -Xrunjdwp.
3654 if (!EagerXrunInit && Arguments::init_libraries_at_startup()) {
3655 create_vm_init_libraries();
3656 }
3657
3658 // Notify JVMTI agents that VM initialization is complete - nop if no agents.
3659 JvmtiExport::post_vm_initialized();
3660
3661 if (!TRACE_START()) {
3662 vm_exit_during_initialization(Handle(THREAD, PENDING_EXCEPTION));
3663 }
3664
3665 if (CleanChunkPoolAsync) {
3666 Chunk::start_chunk_pool_cleaner_task();
3667 }
3668
3669 // initialize compiler(s)
3670 #if defined(COMPILER1) || defined(COMPILER2)
3671 CompileBroker::compilation_init();
3672 #endif
3673
3674 #if INCLUDE_MANAGEMENT
3675 Management::initialize(THREAD);
3676 #endif // INCLUDE_MANAGEMENT
3677
3678 if (HAS_PENDING_EXCEPTION) {
3679 // management agent fails to start possibly due to
3680 // configuration problem and is responsible for printing
3681 // stack trace if appropriate. Simply exit VM.
3682 vm_exit(1);
3683 }
3684
3685 if (Arguments::has_profile()) FlatProfiler::engage(main_thread, true);
3686 if (Arguments::has_alloc_profile()) AllocationProfiler::engage();
3687 if (MemProfiling) MemProfiler::engage();
3688 StatSampler::engage();
3689 if (CheckJNICalls) JniPeriodicChecker::engage();
3690
|
3650
3651 // Launch -Xrun agents
3652 // Must be done in the JVMTI live phase so that for backward compatibility the JDWP
3653 // back-end can launch with -Xdebug -Xrunjdwp.
3654 if (!EagerXrunInit && Arguments::init_libraries_at_startup()) {
3655 create_vm_init_libraries();
3656 }
3657
3658 // Notify JVMTI agents that VM initialization is complete - nop if no agents.
3659 JvmtiExport::post_vm_initialized();
3660
3661 if (!TRACE_START()) {
3662 vm_exit_during_initialization(Handle(THREAD, PENDING_EXCEPTION));
3663 }
3664
3665 if (CleanChunkPoolAsync) {
3666 Chunk::start_chunk_pool_cleaner_task();
3667 }
3668
3669 // initialize compiler(s)
3670 #if defined(COMPILER1) || defined(COMPILER2) || defined(SHARK)
3671 CompileBroker::compilation_init();
3672 #endif
3673
3674 #if INCLUDE_MANAGEMENT
3675 Management::initialize(THREAD);
3676 #endif // INCLUDE_MANAGEMENT
3677
3678 if (HAS_PENDING_EXCEPTION) {
3679 // management agent fails to start possibly due to
3680 // configuration problem and is responsible for printing
3681 // stack trace if appropriate. Simply exit VM.
3682 vm_exit(1);
3683 }
3684
3685 if (Arguments::has_profile()) FlatProfiler::engage(main_thread, true);
3686 if (Arguments::has_alloc_profile()) AllocationProfiler::engage();
3687 if (MemProfiling) MemProfiler::engage();
3688 StatSampler::engage();
3689 if (CheckJNICalls) JniPeriodicChecker::engage();
3690
|