7051430: CMS: ongoing CMS cycle should terminate abruptly to allow prompt JVM termination at exit

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
This commit is contained in:
Y. Srinivas Ramakrishna 2011-06-13 09:58:16 -07:00
parent f79196c54c
commit 9ca97e4c78
3 changed files with 13 additions and 7 deletions

View file

@ -468,12 +468,10 @@ void before_exit(JavaThread * thread) {
StatSampler::disengage();
StatSampler::destroy();
#ifndef SERIALGC
// stop CMS threads
if (UseConcMarkSweepGC) {
ConcurrentMarkSweepThread::stop();
}
#endif // SERIALGC
// 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().
// Print GC/heap related information.
if (PrintGCDetails) {