hotspot/src/share/vm/runtime/virtualspace.cpp
changeset 26700 8107d0778244
parent 25469 3bcfa1db9717
child 28208 d67f748ece0a
equal deleted inserted replaced
26699:d1fef1b40ce8 26700:8107d0778244
    36 ReservedSpace::ReservedSpace() : _base(NULL), _size(0), _noaccess_prefix(0),
    36 ReservedSpace::ReservedSpace() : _base(NULL), _size(0), _noaccess_prefix(0),
    37     _alignment(0), _special(false), _executable(false) {
    37     _alignment(0), _special(false), _executable(false) {
    38 }
    38 }
    39 
    39 
    40 ReservedSpace::ReservedSpace(size_t size) {
    40 ReservedSpace::ReservedSpace(size_t size) {
    41   size_t page_size = os::page_size_for_region(size, size, 1);
    41   size_t page_size = os::page_size_for_region(size, 1);
    42   bool large_pages = page_size != (size_t)os::vm_page_size();
    42   bool large_pages = page_size != (size_t)os::vm_page_size();
    43   // Don't force the alignment to be large page aligned,
    43   // Don't force the alignment to be large page aligned,
    44   // since that will waste memory.
    44   // since that will waste memory.
    45   size_t alignment = os::vm_allocation_granularity();
    45   size_t alignment = os::vm_allocation_granularity();
    46   initialize(size, alignment, large_pages, NULL, 0, false);
    46   initialize(size, alignment, large_pages, NULL, 0, false);
   355   _executable             = false;
   355   _executable             = false;
   356 }
   356 }
   357 
   357 
   358 
   358 
   359 bool VirtualSpace::initialize(ReservedSpace rs, size_t committed_size) {
   359 bool VirtualSpace::initialize(ReservedSpace rs, size_t committed_size) {
   360   const size_t max_commit_granularity = os::page_size_for_region(rs.size(), rs.size(), 1);
   360   const size_t max_commit_granularity = os::page_size_for_region(rs.size(), 1);
   361   return initialize_with_granularity(rs, committed_size, max_commit_granularity);
   361   return initialize_with_granularity(rs, committed_size, max_commit_granularity);
   362 }
   362 }
   363 
   363 
   364 bool VirtualSpace::initialize_with_granularity(ReservedSpace rs, size_t committed_size, size_t max_commit_granularity) {
   364 bool VirtualSpace::initialize_with_granularity(ReservedSpace rs, size_t committed_size, size_t max_commit_granularity) {
   365   if(!rs.is_reserved()) return false;  // allocation failed.
   365   if(!rs.is_reserved()) return false;  // allocation failed.
   990     case Reserve:
   990     case Reserve:
   991       return vs.initialize(rs, 0);
   991       return vs.initialize(rs, 0);
   992     case Disable:
   992     case Disable:
   993       return vs.initialize_with_granularity(rs, 0, os::vm_page_size());
   993       return vs.initialize_with_granularity(rs, 0, os::vm_page_size());
   994     case Commit:
   994     case Commit:
   995       return vs.initialize_with_granularity(rs, 0, os::page_size_for_region(rs.size(), rs.size(), 1));
   995       return vs.initialize_with_granularity(rs, 0, os::page_size_for_region(rs.size(), 1));
   996     }
   996     }
   997   }
   997   }
   998 
   998 
   999  public:
   999  public:
  1000   static void test_virtual_space_actual_committed_space(size_t reserve_size, size_t commit_size,
  1000   static void test_virtual_space_actual_committed_space(size_t reserve_size, size_t commit_size,