Wed, 17 Jun 2015 05:56:43 -0700
8085965: VM hangs in C2Compiler
Summary: CMSClassUnloadingEnabled and ExplicitGCInvokesConcurrentAndUnloadsClasses should be disabled when -Xnoclassgc is specified
Reviewed-by: jmasa, kbarrett
src/share/vm/memory/genMarkSweep.cpp | file | annotate | diff | comparison | revisions | |
src/share/vm/runtime/arguments.cpp | file | annotate | diff | comparison | revisions |
1.1 --- a/src/share/vm/memory/genMarkSweep.cpp Thu Jun 04 23:11:44 2015 -0700 1.2 +++ b/src/share/vm/memory/genMarkSweep.cpp Wed Jun 17 05:56:43 2015 -0700 1.3 @@ -211,7 +211,7 @@ 1.4 false, // Younger gens are not roots. 1.5 true, // activate StrongRootsScope 1.6 GenCollectedHeap::SO_None, 1.7 - GenCollectedHeap::StrongRootsOnly, 1.8 + ClassUnloading, 1.9 &follow_root_closure, 1.10 &follow_root_closure, 1.11 &follow_cld_closure);
2.1 --- a/src/share/vm/runtime/arguments.cpp Thu Jun 04 23:11:44 2015 -0700 2.2 +++ b/src/share/vm/runtime/arguments.cpp Wed Jun 17 05:56:43 2015 -0700 2.3 @@ -1372,6 +1372,12 @@ 2.4 if (!FLAG_IS_DEFAULT(CMSParPromoteBlocksToClaim) || !FLAG_IS_DEFAULT(OldPLABWeight)) { 2.5 CFLS_LAB::modify_initialization(OldPLABSize, OldPLABWeight); 2.6 } 2.7 + 2.8 + if (!ClassUnloading) { 2.9 + FLAG_SET_CMDLINE(bool, CMSClassUnloadingEnabled, false); 2.10 + FLAG_SET_CMDLINE(bool, ExplicitGCInvokesConcurrentAndUnloadsClasses, false); 2.11 + } 2.12 + 2.13 if (PrintGCDetails && Verbose) { 2.14 tty->print_cr("MarkStackSize: %uk MarkStackSizeMax: %uk", 2.15 (unsigned int) (MarkStackSize / K), (uint) (MarkStackSizeMax / K));