Mercurial > hg > graal-jvmci-8
diff src/share/vm/runtime/virtualspace.cpp @ 22978:30e04eba9e29 hs25.60-b13
8077255: TracePageSizes output reports wrong page size on Windows with G1
Summary: Print selected page size, not alignment size chosen by ReservedSpace (which is the vm_allocation_granularity that is different to page size on Windows) in the message presented by TracePageSizes.
Reviewed-by: drwhite, jmasa
author | tschatzl |
---|---|
date | Thu, 09 Apr 2015 15:41:47 +0200 |
parents | 33e421924c67 |
children | dd9cc155639c |
line wrap: on
line diff
--- a/src/share/vm/runtime/virtualspace.cpp Tue Apr 07 10:53:51 2015 +0200 +++ b/src/share/vm/runtime/virtualspace.cpp Thu Apr 09 15:41:47 2015 +0200 @@ -52,12 +52,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.