comparison src/share/vm/runtime/java.cpp @ 3769:ef2d1b8f2dd4

7051430: CMS: ongoing CMS cycle should terminate abruptly to allow prompt JVM termination at exit Summary: It turns out that there is no need to explicitly stop CMS since the JVM is taken down at a terminal safepoint during which CMS threads are (terminally) inactive. This will need to be revised if and when we evolve in the future to a point where we allow JVM reincarnation in the same process, but those changes will be much more sweeping than just terminating CMS threads. The unused ::stop() methods will be removed in a separate CR. Also include in this CR is the fix for a small typo in the spelling of UseGCLogFileRotation in a message in arguments.cpp, brought to our attention by Rainer Jung and reviewed by minqi. Reviewed-by: johnc, jwilhelm
author ysr
date Mon, 13 Jun 2011 09:58:16 -0700
parents 23ae54207126
children 0f34fdee809e
comparison
equal deleted inserted replaced
3768:42df21744b50 3769:ef2d1b8f2dd4
466 466
467 // shut down the StatSampler task 467 // shut down the StatSampler task
468 StatSampler::disengage(); 468 StatSampler::disengage();
469 StatSampler::destroy(); 469 StatSampler::destroy();
470 470
471 #ifndef SERIALGC 471 // We do not need to explicitly stop concurrent GC threads because the
472 // stop CMS threads 472 // JVM will be taken down at a safepoint when such threads are inactive --
473 if (UseConcMarkSweepGC) { 473 // except for some concurrent G1 threads, see (comment in)
474 ConcurrentMarkSweepThread::stop(); 474 // Threads::destroy_vm().
475 }
476 #endif // SERIALGC
477 475
478 // Print GC/heap related information. 476 // Print GC/heap related information.
479 if (PrintGCDetails) { 477 if (PrintGCDetails) {
480 Universe::print(); 478 Universe::print();
481 AdaptiveSizePolicyOutput(0); 479 AdaptiveSizePolicyOutput(0);