hotspot/src/share/vm/runtime/virtualspace.cpp
changeset 25366 8b8061f353ee
parent 25355 29c97629997e
child 25469 3bcfa1db9717
equal deleted inserted replaced
25363:883ad4669c9b 25366:8b8061f353ee
    51 ReservedSpace::ReservedSpace() : _base(NULL), _size(0), _noaccess_prefix(0),
    51 ReservedSpace::ReservedSpace() : _base(NULL), _size(0), _noaccess_prefix(0),
    52     _alignment(0), _special(false), _executable(false) {
    52     _alignment(0), _special(false), _executable(false) {
    53 }
    53 }
    54 
    54 
    55 ReservedSpace::ReservedSpace(size_t size) {
    55 ReservedSpace::ReservedSpace(size_t size) {
    56   size_t page_size = os::page_size_for_region(size, 1);
    56   size_t page_size = os::page_size_for_region(size, size, 1);
    57   bool large_pages = page_size != (size_t)os::vm_page_size();
    57   bool large_pages = page_size != (size_t)os::vm_page_size();
    58   // Don't force the alignment to be large page aligned,
    58   // Don't force the alignment to be large page aligned,
    59   // since that will waste memory.
    59   // since that will waste memory.
    60   size_t alignment = os::vm_allocation_granularity();
    60   size_t alignment = os::vm_allocation_granularity();
    61   initialize(size, alignment, large_pages, NULL, 0, false);
    61   initialize(size, alignment, large_pages, NULL, 0, false);
   370   _executable             = false;
   370   _executable             = false;
   371 }
   371 }
   372 
   372 
   373 
   373 
   374 bool VirtualSpace::initialize(ReservedSpace rs, size_t committed_size) {
   374 bool VirtualSpace::initialize(ReservedSpace rs, size_t committed_size) {
   375   const size_t max_commit_granularity = os::page_size_for_region(rs.size(), 1);
   375   const size_t max_commit_granularity = os::page_size_for_region(rs.size(), rs.size(), 1);
   376   return initialize_with_granularity(rs, committed_size, max_commit_granularity);
   376   return initialize_with_granularity(rs, committed_size, max_commit_granularity);
   377 }
   377 }
   378 
   378 
   379 bool VirtualSpace::initialize_with_granularity(ReservedSpace rs, size_t committed_size, size_t max_commit_granularity) {
   379 bool VirtualSpace::initialize_with_granularity(ReservedSpace rs, size_t committed_size, size_t max_commit_granularity) {
   380   if(!rs.is_reserved()) return false;  // allocation failed.
   380   if(!rs.is_reserved()) return false;  // allocation failed.
  1005     case Reserve:
  1005     case Reserve:
  1006       return vs.initialize(rs, 0);
  1006       return vs.initialize(rs, 0);
  1007     case Disable:
  1007     case Disable:
  1008       return vs.initialize_with_granularity(rs, 0, os::vm_page_size());
  1008       return vs.initialize_with_granularity(rs, 0, os::vm_page_size());
  1009     case Commit:
  1009     case Commit:
  1010       return vs.initialize_with_granularity(rs, 0, os::page_size_for_region(rs.size(), 1));
  1010       return vs.initialize_with_granularity(rs, 0, os::page_size_for_region(rs.size(), rs.size(), 1));
  1011     }
  1011     }
  1012   }
  1012   }
  1013 
  1013 
  1014  public:
  1014  public:
  1015   static void test_virtual_space_actual_committed_space(size_t reserve_size, size_t commit_size,
  1015   static void test_virtual_space_actual_committed_space(size_t reserve_size, size_t commit_size,