# HG changeset patch # User ysr # Date 1252626377 25200 # Node ID cf9a1b408c4fd15a9895edf2a8c3a65bc7920c52 # Parent 3114dcd8414989643d614aff92614057b3dd3d05 6872136: CMS: confusing message may be printed when a collector is switched off implicitly Summary: Fix CDS/CMS option overrides related to iCMS option CMSIncrementalMode; explicate overrides to error stream. Reviewed-by: coleenp diff -r 3114dcd84149 -r cf9a1b408c4f hotspot/src/share/vm/runtime/arguments.cpp --- a/hotspot/src/share/vm/runtime/arguments.cpp Thu Sep 03 19:21:55 2009 -0700 +++ b/hotspot/src/share/vm/runtime/arguments.cpp Thu Sep 10 16:46:17 2009 -0700 @@ -1450,6 +1450,7 @@ FLAG_SET_DEFAULT(UseSerialGC, true); FLAG_SET_DEFAULT(UseParNewGC, false); FLAG_SET_DEFAULT(UseConcMarkSweepGC, false); + FLAG_SET_DEFAULT(CMSIncrementalMode, false); // special CMS suboption FLAG_SET_DEFAULT(UseParallelGC, false); FLAG_SET_DEFAULT(UseParallelOldGC, false); FLAG_SET_DEFAULT(UseG1GC, false); @@ -1457,7 +1458,7 @@ static bool verify_serial_gc_flags() { return (UseSerialGC && - !(UseParNewGC || UseConcMarkSweepGC || UseG1GC || + !(UseParNewGC || (UseConcMarkSweepGC || CMSIncrementalMode) || UseG1GC || UseParallelGC || UseParallelOldGC)); } @@ -1572,7 +1573,7 @@ status = status && verify_percentage(GCHeapFreeLimit, "GCHeapFreeLimit"); // Check user specified sharing option conflict with Parallel GC - bool cannot_share = (UseConcMarkSweepGC || UseG1GC || UseParNewGC || + bool cannot_share = ((UseConcMarkSweepGC || CMSIncrementalMode) || UseG1GC || UseParNewGC || UseParallelGC || UseParallelOldGC || SOLARIS_ONLY(UseISM) NOT_SOLARIS(UseLargePages)); @@ -1580,9 +1581,17 @@ // Either force sharing on by forcing the other options off, or // force sharing off. if (DumpSharedSpaces || ForceSharedSpaces) { + jio_fprintf(defaultStream::error_stream(), + "Reverting to Serial GC because of %s \n", + ForceSharedSpaces ? " -Xshare:on" : "-Xshare:dump"); set_serial_gc_flags(); FLAG_SET_DEFAULT(SOLARIS_ONLY(UseISM) NOT_SOLARIS(UseLargePages), false); } else { + if (UseSharedSpaces) { + jio_fprintf(defaultStream::error_stream(), + "Turning off use of shared archive because of " + "choice of garbage collector or large pages \n"); + } no_shared_spaces(); } }