--- a/hotspot/src/share/vm/runtime/virtualspace.cpp Wed Apr 08 09:35:25 2015 +0200
+++ b/hotspot/src/share/vm/runtime/virtualspace.cpp Thu Apr 09 15:41:47 2015 +0200
@@ -37,12 +37,13 @@
_alignment(0), _special(false), _executable(false) {
}
-ReservedSpace::ReservedSpace(size_t size, bool prefer_large_pages) {
+ReservedSpace::ReservedSpace(size_t size, size_t preferred_page_size) {
+ bool has_preferred_page_size = preferred_page_size != 0;
// Want to use large pages where possible and pad with small pages.
- size_t page_size = os::page_size_for_region_unaligned(size, 1);
+ size_t page_size = has_preferred_page_size ? preferred_page_size : os::page_size_for_region_unaligned(size, 1);
bool large_pages = page_size != (size_t)os::vm_page_size();
size_t alignment;
- if (large_pages && prefer_large_pages) {
+ if (large_pages && has_preferred_page_size) {
alignment = MAX2(page_size, (size_t)os::vm_allocation_granularity());
// ReservedSpace initialization requires size to be aligned to the given
// alignment. Align the size up.