8085965: VM hangs in C2Compiler

CMSClassUnloadingEnabled and ExplicitGCInvokesConcurrentAndUnloadsClasses should be disabled when -Xnoclassgc is specified

Reviewed-by: jmasa, kbarrett
This commit is contained in:
Poonam Bajaj 2015-06-16 14:30:27 -07:00
parent 8a1f708096
commit 20bb21349c
2 changed files with 7 additions and 1 deletions

View File

@ -208,7 +208,7 @@ void GenMarkSweep::mark_sweep_phase1(int level,
level,
false, // Younger gens are not roots.
GenCollectedHeap::SO_None,
GenCollectedHeap::StrongRootsOnly,
ClassUnloading,
&follow_root_closure,
&follow_root_closure,
&follow_cld_closure);

View File

@ -1384,6 +1384,12 @@ void Arguments::set_cms_and_parnew_gc_flags() {
if (!FLAG_IS_DEFAULT(OldPLABSize) || !FLAG_IS_DEFAULT(OldPLABWeight)) {
CFLS_LAB::modify_initialization(OldPLABSize, OldPLABWeight);
}
if (!ClassUnloading) {
FLAG_SET_CMDLINE(bool, CMSClassUnloadingEnabled, false);
FLAG_SET_CMDLINE(bool, ExplicitGCInvokesConcurrentAndUnloadsClasses, false);
}
if (PrintGCDetails && Verbose) {
tty->print_cr("MarkStackSize: %uk MarkStackSizeMax: %uk",
(unsigned int) (MarkStackSize / K), (uint) (MarkStackSizeMax / K));