diff --git a/.hgtags b/.hgtags index 7c1414e0ef37d217e8668140c21700a7b7dd14c4..cc5aa4ec2f32fda3c4867dcb3a48346d086bc0e3 100644 --- a/.hgtags +++ b/.hgtags @@ -707,6 +707,8 @@ b852350a2bc6d5f43006e2be53fb74d148290708 hs25.60-b19 bd9221771f6e34e63b3b340ffcf9906ccf882dae jdk8u60-b19 e01a710549a962cee94728271248a7d89fb56c49 hs25.60-b20 3b6c97747ccc61d189bca64b4afa3ffc13680810 jdk8u60-b20 +4b6687a4f2fe84211b8b3b5afb34b5186afbddf6 hs25.60-b21 +e0d75c284bd1c09fd7d9ef09627d8a99b88d468d jdk8u60-b21 0219ab69f00782e5c49687e2fa75138a7ffddea1 jdk8u52-b06 9b6f44853eed8caba935915c7e710c546b205c8e jdk8u52-b07 0219ab69f00782e5c49687e2fa75138a7ffddea1 jdk8u65-b00 diff --git a/src/share/vm/memory/genMarkSweep.cpp b/src/share/vm/memory/genMarkSweep.cpp index ee4afdc6d7742739dac73d6c497442d11a9fe55a..c5dc4947c282174134fbe98918de579b237c67bb 100644 --- a/src/share/vm/memory/genMarkSweep.cpp +++ b/src/share/vm/memory/genMarkSweep.cpp @@ -211,7 +211,7 @@ void GenMarkSweep::mark_sweep_phase1(int level, false, // Younger gens are not roots. true, // activate StrongRootsScope GenCollectedHeap::SO_None, - GenCollectedHeap::StrongRootsOnly, + ClassUnloading, &follow_root_closure, &follow_root_closure, &follow_cld_closure); diff --git a/src/share/vm/memory/heap.cpp b/src/share/vm/memory/heap.cpp index 3b54600383ec4e75e37c27d1d30519810a866421..a0fb60346c2d8d5a36dbef6c504cfb7478017396 100644 --- a/src/share/vm/memory/heap.cpp +++ b/src/share/vm/memory/heap.cpp @@ -99,9 +99,7 @@ bool CodeHeap::reserve(size_t reserved_size, size_t committed_size, // Reserve and initialize space for _memory. size_t page_size = os::vm_page_size(); if (os::can_execute_large_page_memory()) { - const size_t min_pages = 8; - page_size = MIN2(os::page_size_for_region_aligned(committed_size, min_pages), - os::page_size_for_region_aligned(reserved_size, min_pages)); + page_size = os::page_size_for_region_unaligned(reserved_size, 8); } const size_t granularity = os::vm_allocation_granularity(); diff --git a/src/share/vm/runtime/arguments.cpp b/src/share/vm/runtime/arguments.cpp index 7a7fbe666ed81d398cf45a3759b3ab7b4b7dc2eb..0ca38f1e9948c2878c0280f8a12d9322f5c1a784 100644 --- a/src/share/vm/runtime/arguments.cpp +++ b/src/share/vm/runtime/arguments.cpp @@ -1372,6 +1372,12 @@ void Arguments::set_cms_and_parnew_gc_flags() { if (!FLAG_IS_DEFAULT(CMSParPromoteBlocksToClaim) || !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));