src/share/vm/runtime/thread.cpp

Print this page
rev 3850 : [mq]: shark.patch


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