equal
deleted
inserted
replaced
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); |