--- 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();
}
}