--- old/src/share/vm/runtime/java.cpp 2014-05-27 13:04:23.931187878 +0200 +++ new/src/share/vm/runtime/java.cpp 2014-05-27 13:04:23.791223818 +0200 @@ -500,9 +500,6 @@ os::infinite_sleep(); } - // Stop any ongoing concurrent GC work - Universe::heap()->stop(); - // Terminate watcher thread - must before disenrolling any periodic task if (PeriodicTask::num_tasks() > 0) WatcherThread::stop(); @@ -517,10 +514,8 @@ StatSampler::disengage(); StatSampler::destroy(); - // We do not need to explicitly stop concurrent GC threads because the - // JVM will be taken down at a safepoint when such threads are inactive -- - // except for some concurrent G1 threads, see (comment in) - // Threads::destroy_vm(). + // Stop concurrent GC threads + Universe::heap()->stop(); // Print GC/heap related information. if (PrintGCDetails) {