hotspot/src/share/vm/runtime/java.cpp
changeset 25070 ec13ac30b16d
parent 24848 34d57b35331b
child 25715 d5a8dbdc5150
equal deleted inserted replaced
24943:1a5de4af4ffe 25070:ec13ac30b16d
   499   // Hang forever on exit if we're reporting an error.
   499   // Hang forever on exit if we're reporting an error.
   500   if (ShowMessageBoxOnError && is_error_reported()) {
   500   if (ShowMessageBoxOnError && is_error_reported()) {
   501     os::infinite_sleep();
   501     os::infinite_sleep();
   502   }
   502   }
   503 
   503 
   504   // Stop any ongoing concurrent GC work
       
   505   Universe::heap()->stop();
       
   506 
       
   507   // Terminate watcher thread - must before disenrolling any periodic task
   504   // Terminate watcher thread - must before disenrolling any periodic task
   508   if (PeriodicTask::num_tasks() > 0)
   505   if (PeriodicTask::num_tasks() > 0)
   509     WatcherThread::stop();
   506     WatcherThread::stop();
   510 
   507 
   511   // Print statistics gathered (profiling ...)
   508   // Print statistics gathered (profiling ...)
   516 
   513 
   517   // shut down the StatSampler task
   514   // shut down the StatSampler task
   518   StatSampler::disengage();
   515   StatSampler::disengage();
   519   StatSampler::destroy();
   516   StatSampler::destroy();
   520 
   517 
   521   // We do not need to explicitly stop concurrent GC threads because the
   518   // Stop concurrent GC threads
   522   // JVM will be taken down at a safepoint when such threads are inactive --
   519   Universe::heap()->stop();
   523   // except for some concurrent G1 threads, see (comment in)
       
   524   // Threads::destroy_vm().
       
   525 
   520 
   526   // Print GC/heap related information.
   521   // Print GC/heap related information.
   527   if (PrintGCDetails) {
   522   if (PrintGCDetails) {
   528     Universe::print();
   523     Universe::print();
   529     AdaptiveSizePolicyOutput(0);
   524     AdaptiveSizePolicyOutput(0);