hotspot/src/share/vm/gc/g1/g1PageBasedVirtualSpace.cpp
changeset 46619 a3919f5e8d2b
parent 46618 d503911aa948
child 46625 edefffab74e2
equal deleted inserted replaced
46618:d503911aa948 46619:a3919f5e8d2b
    42   guarantee(rs.is_reserved(), "Given reserved space must have been reserved already.");
    42   guarantee(rs.is_reserved(), "Given reserved space must have been reserved already.");
    43 
    43 
    44   vmassert(_low_boundary == NULL, "VirtualSpace already initialized");
    44   vmassert(_low_boundary == NULL, "VirtualSpace already initialized");
    45   vmassert(page_size > 0, "Page size must be non-zero.");
    45   vmassert(page_size > 0, "Page size must be non-zero.");
    46 
    46 
    47   guarantee(is_ptr_aligned(rs.base(), page_size),
    47   guarantee(is_aligned(rs.base(), page_size),
    48             "Reserved space base " PTR_FORMAT " is not aligned to requested page size " SIZE_FORMAT, p2i(rs.base()), page_size);
    48             "Reserved space base " PTR_FORMAT " is not aligned to requested page size " SIZE_FORMAT, p2i(rs.base()), page_size);
    49   guarantee(is_size_aligned(used_size, os::vm_page_size()),
    49   guarantee(is_aligned(used_size, os::vm_page_size()),
    50             "Given used reserved space size needs to be OS page size aligned (%d bytes) but is " SIZE_FORMAT, os::vm_page_size(), used_size);
    50             "Given used reserved space size needs to be OS page size aligned (%d bytes) but is " SIZE_FORMAT, os::vm_page_size(), used_size);
    51   guarantee(used_size <= rs.size(),
    51   guarantee(used_size <= rs.size(),
    52             "Used size of reserved space " SIZE_FORMAT " bytes is smaller than reservation at " SIZE_FORMAT " bytes", used_size, rs.size());
    52             "Used size of reserved space " SIZE_FORMAT " bytes is smaller than reservation at " SIZE_FORMAT " bytes", used_size, rs.size());
    53   guarantee(is_size_aligned(rs.size(), page_size),
    53   guarantee(is_aligned(rs.size(), page_size),
    54             "Expected that the virtual space is size aligned, but " SIZE_FORMAT " is not aligned to page size " SIZE_FORMAT, rs.size(), page_size);
    54             "Expected that the virtual space is size aligned, but " SIZE_FORMAT " is not aligned to page size " SIZE_FORMAT, rs.size(), page_size);
    55 
    55 
    56   _low_boundary  = rs.base();
    56   _low_boundary  = rs.base();
    57   _high_boundary = _low_boundary + used_size;
    57   _high_boundary = _low_boundary + used_size;
    58 
    58 
   139 }
   139 }
   140 
   140 
   141 void G1PageBasedVirtualSpace::commit_tail() {
   141 void G1PageBasedVirtualSpace::commit_tail() {
   142   vmassert(_tail_size > 0, "The size of the tail area must be > 0 when reaching here");
   142   vmassert(_tail_size > 0, "The size of the tail area must be > 0 when reaching here");
   143 
   143 
   144   char* const aligned_end_address = align_ptr_down(_high_boundary, _page_size);
   144   char* const aligned_end_address = align_down(_high_boundary, _page_size);
   145   os::commit_memory_or_exit(aligned_end_address, _tail_size, os::vm_page_size(), _executable,
   145   os::commit_memory_or_exit(aligned_end_address, _tail_size, os::vm_page_size(), _executable,
   146                             err_msg("Failed to commit tail area from " PTR_FORMAT " to " PTR_FORMAT " of length " SIZE_FORMAT ".",
   146                             err_msg("Failed to commit tail area from " PTR_FORMAT " to " PTR_FORMAT " of length " SIZE_FORMAT ".",
   147                             p2i(aligned_end_address), p2i(_high_boundary), _tail_size));
   147                             p2i(aligned_end_address), p2i(_high_boundary), _tail_size));
   148 }
   148 }
   149 
   149