1.1 --- a/src/share/vm/runtime/arguments.cpp Tue Jul 17 17:07:44 2018 +0200 1.2 +++ b/src/share/vm/runtime/arguments.cpp Fri Jul 20 03:07:49 2018 -0400 1.3 @@ -1377,11 +1377,6 @@ 1.4 CFLS_LAB::modify_initialization(OldPLABSize, OldPLABWeight); 1.5 } 1.6 1.7 - if (!ClassUnloading) { 1.8 - FLAG_SET_CMDLINE(bool, CMSClassUnloadingEnabled, false); 1.9 - FLAG_SET_CMDLINE(bool, ExplicitGCInvokesConcurrentAndUnloadsClasses, false); 1.10 - } 1.11 - 1.12 if (PrintGCDetails && Verbose) { 1.13 tty->print_cr("MarkStackSize: %uk MarkStackSizeMax: %uk", 1.14 (unsigned int) (MarkStackSize / K), (uint) (MarkStackSizeMax / K)); 1.15 @@ -1748,6 +1743,13 @@ 1.16 // Keeping the heap 100% free is hard ;-) so limit it to 99%. 1.17 FLAG_SET_ERGO(uintx, MinHeapFreeRatio, 99); 1.18 } 1.19 + 1.20 + // If class unloading is disabled, also disable concurrent class unloading. 1.21 + if (!ClassUnloading) { 1.22 + FLAG_SET_CMDLINE(bool, CMSClassUnloadingEnabled, false); 1.23 + FLAG_SET_CMDLINE(bool, ClassUnloadingWithConcurrentMark, false); 1.24 + FLAG_SET_CMDLINE(bool, ExplicitGCInvokesConcurrentAndUnloadsClasses, false); 1.25 + } 1.26 #else // INCLUDE_ALL_GCS 1.27 assert(verify_serial_gc_flags(), "SerialGC unset"); 1.28 #endif // INCLUDE_ALL_GCS