src/share/vm/runtime/virtualspace.cpp

changeset 7782
30e04eba9e29
parent 7781
33e421924c67
child 7994
04ff2f6cd0eb
child 9475
61523d110335
     1.1 --- a/src/share/vm/runtime/virtualspace.cpp	Tue Apr 07 10:53:51 2015 +0200
     1.2 +++ b/src/share/vm/runtime/virtualspace.cpp	Thu Apr 09 15:41:47 2015 +0200
     1.3 @@ -52,12 +52,13 @@
     1.4      _alignment(0), _special(false), _executable(false) {
     1.5  }
     1.6  
     1.7 -ReservedSpace::ReservedSpace(size_t size, bool prefer_large_pages) {
     1.8 +ReservedSpace::ReservedSpace(size_t size, size_t preferred_page_size) {
     1.9 +  bool has_preferred_page_size = preferred_page_size != 0;
    1.10    // Want to use large pages where possible and pad with small pages.
    1.11 -  size_t page_size = os::page_size_for_region_unaligned(size, 1);
    1.12 +  size_t page_size = has_preferred_page_size ? preferred_page_size : os::page_size_for_region_unaligned(size, 1);
    1.13    bool large_pages = page_size != (size_t)os::vm_page_size();
    1.14    size_t alignment;
    1.15 -  if (large_pages && prefer_large_pages) {
    1.16 +  if (large_pages && has_preferred_page_size) {
    1.17      alignment = MAX2(page_size, (size_t)os::vm_allocation_granularity());
    1.18      // ReservedSpace initialization requires size to be aligned to the given
    1.19      // alignment. Align the size up.

mercurial