< prev index next >

src/share/vm/runtime/arguments.cpp

Print this page
rev 8615 : CMSParallelFullGC: Parallel version of CMS Full GC.

*** 1399,1408 **** --- 1399,1414 ---- if (PrintGCDetails && Verbose) { tty->print_cr("MarkStackSize: %uk MarkStackSizeMax: %uk", (unsigned int) (MarkStackSize / K), (uint) (MarkStackSizeMax / K)); tty->print_cr("ConcGCThreads: %u", ConcGCThreads); } + + if (CMSParallelFullGC && ParallelGCThreads <= 1) { + // Disable CMSParallelFullGC if there is only one parallel + // GC thread. + CMSParallelFullGC = false; + } } #endif // INCLUDE_ALL_GCS void set_object_alignment() { // Object alignment.
*** 2086,2095 **** --- 2092,2116 ---- FLAG_SET_DEFAULT(UseGCOverheadLimit, false); } status = status && check_gc_consistency(); + if (CMSParallelFullGC) { + if (!UseConcMarkSweepGC) { + // The CMS collector (-XX:+UseConcMarkSweepGC) must be + // selected in order to use CMSParallelFullGC. + if (FLAG_IS_CMDLINE(CMSParallelFullGC)) { + jio_fprintf(defaultStream::error_stream(), + "error: invalid argument combination.\n" + "The CMS collector (-XX:+UseConcMarkSweepGC) must be " + "selected in order\nto use CMSParallelFullGC.\n"); + status = false; + } + FLAG_SET_DEFAULT(CMSParallelFullGC, false); + } + } + // CMS space iteration, which FLSVerifyAllHeapreferences entails, // insists that we hold the requisite locks so that the iteration is // MT-safe. For the verification at start-up and shut-down, we don't // yet have a good way of acquiring and releasing these locks, // which are not visible at the CollectedHeap level. We want to
< prev index next >