src/share/vm/runtime/thread.cpp

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


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