提交 1c5e14f0 编写于 作者: Y ysr

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
上级 00428284
...@@ -1450,6 +1450,7 @@ static void set_serial_gc_flags() { ...@@ -1450,6 +1450,7 @@ static void set_serial_gc_flags() {
FLAG_SET_DEFAULT(UseSerialGC, true); FLAG_SET_DEFAULT(UseSerialGC, true);
FLAG_SET_DEFAULT(UseParNewGC, false); FLAG_SET_DEFAULT(UseParNewGC, false);
FLAG_SET_DEFAULT(UseConcMarkSweepGC, false); FLAG_SET_DEFAULT(UseConcMarkSweepGC, false);
FLAG_SET_DEFAULT(CMSIncrementalMode, false); // special CMS suboption
FLAG_SET_DEFAULT(UseParallelGC, false); FLAG_SET_DEFAULT(UseParallelGC, false);
FLAG_SET_DEFAULT(UseParallelOldGC, false); FLAG_SET_DEFAULT(UseParallelOldGC, false);
FLAG_SET_DEFAULT(UseG1GC, false); FLAG_SET_DEFAULT(UseG1GC, false);
...@@ -1457,7 +1458,7 @@ static void set_serial_gc_flags() { ...@@ -1457,7 +1458,7 @@ static void set_serial_gc_flags() {
static bool verify_serial_gc_flags() { static bool verify_serial_gc_flags() {
return (UseSerialGC && return (UseSerialGC &&
!(UseParNewGC || UseConcMarkSweepGC || UseG1GC || !(UseParNewGC || (UseConcMarkSweepGC || CMSIncrementalMode) || UseG1GC ||
UseParallelGC || UseParallelOldGC)); UseParallelGC || UseParallelOldGC));
} }
...@@ -1572,7 +1573,7 @@ bool Arguments::check_vm_args_consistency() { ...@@ -1572,7 +1573,7 @@ bool Arguments::check_vm_args_consistency() {
status = status && verify_percentage(GCHeapFreeLimit, "GCHeapFreeLimit"); status = status && verify_percentage(GCHeapFreeLimit, "GCHeapFreeLimit");
// Check user specified sharing option conflict with Parallel GC // Check user specified sharing option conflict with Parallel GC
bool cannot_share = (UseConcMarkSweepGC || UseG1GC || UseParNewGC || bool cannot_share = ((UseConcMarkSweepGC || CMSIncrementalMode) || UseG1GC || UseParNewGC ||
UseParallelGC || UseParallelOldGC || UseParallelGC || UseParallelOldGC ||
SOLARIS_ONLY(UseISM) NOT_SOLARIS(UseLargePages)); SOLARIS_ONLY(UseISM) NOT_SOLARIS(UseLargePages));
...@@ -1580,9 +1581,17 @@ bool Arguments::check_vm_args_consistency() { ...@@ -1580,9 +1581,17 @@ bool Arguments::check_vm_args_consistency() {
// Either force sharing on by forcing the other options off, or // Either force sharing on by forcing the other options off, or
// force sharing off. // force sharing off.
if (DumpSharedSpaces || ForceSharedSpaces) { 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(); set_serial_gc_flags();
FLAG_SET_DEFAULT(SOLARIS_ONLY(UseISM) NOT_SOLARIS(UseLargePages), false); FLAG_SET_DEFAULT(SOLARIS_ONLY(UseISM) NOT_SOLARIS(UseLargePages), false);
} else { } 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(); no_shared_spaces();
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册