3609
3610 // Launch -Xrun agents
3611 // Must be done in the JVMTI live phase so that for backward compatibility the JDWP
3612 // back-end can launch with -Xdebug -Xrunjdwp.
3613 if (!EagerXrunInit && Arguments::init_libraries_at_startup()) {
3614 create_vm_init_libraries();
3615 }
3616
3617 // Notify JVMTI agents that VM initialization is complete - nop if no agents.
3618 JvmtiExport::post_vm_initialized();
3619
3620 if (!TRACE_START()) {
3621 vm_exit_during_initialization(Handle(THREAD, PENDING_EXCEPTION));
3622 }
3623
3624 if (CleanChunkPoolAsync) {
3625 Chunk::start_chunk_pool_cleaner_task();
3626 }
3627
3628 // initialize compiler(s)
3629 #if defined(COMPILER1) || defined(COMPILER2)
3630 CompileBroker::compilation_init();
3631 #endif
3632
3633 #if INCLUDE_MANAGEMENT
3634 Management::initialize(THREAD);
3635 #endif // INCLUDE_MANAGEMENT
3636
3637 if (HAS_PENDING_EXCEPTION) {
3638 // management agent fails to start possibly due to
3639 // configuration problem and is responsible for printing
3640 // stack trace if appropriate. Simply exit VM.
3641 vm_exit(1);
3642 }
3643
3644 if (Arguments::has_profile()) FlatProfiler::engage(main_thread, true);
3645 if (Arguments::has_alloc_profile()) AllocationProfiler::engage();
3646 if (MemProfiling) MemProfiler::engage();
3647 StatSampler::engage();
3648 if (CheckJNICalls) JniPeriodicChecker::engage();
3649
|
3609
3610 // Launch -Xrun agents
3611 // Must be done in the JVMTI live phase so that for backward compatibility the JDWP
3612 // back-end can launch with -Xdebug -Xrunjdwp.
3613 if (!EagerXrunInit && Arguments::init_libraries_at_startup()) {
3614 create_vm_init_libraries();
3615 }
3616
3617 // Notify JVMTI agents that VM initialization is complete - nop if no agents.
3618 JvmtiExport::post_vm_initialized();
3619
3620 if (!TRACE_START()) {
3621 vm_exit_during_initialization(Handle(THREAD, PENDING_EXCEPTION));
3622 }
3623
3624 if (CleanChunkPoolAsync) {
3625 Chunk::start_chunk_pool_cleaner_task();
3626 }
3627
3628 // initialize compiler(s)
3629 #if defined(COMPILER1) || defined(COMPILER2) || defined(SHARK)
3630 CompileBroker::compilation_init();
3631 #endif
3632
3633 #if INCLUDE_MANAGEMENT
3634 Management::initialize(THREAD);
3635 #endif // INCLUDE_MANAGEMENT
3636
3637 if (HAS_PENDING_EXCEPTION) {
3638 // management agent fails to start possibly due to
3639 // configuration problem and is responsible for printing
3640 // stack trace if appropriate. Simply exit VM.
3641 vm_exit(1);
3642 }
3643
3644 if (Arguments::has_profile()) FlatProfiler::engage(main_thread, true);
3645 if (Arguments::has_alloc_profile()) AllocationProfiler::engage();
3646 if (MemProfiling) MemProfiler::engage();
3647 StatSampler::engage();
3648 if (CheckJNICalls) JniPeriodicChecker::engage();
3649
|