--- old/src/hotspot/share/runtime/os.hpp 2018-06-07 10:21:54.620707245 +0200 +++ new/src/hotspot/share/runtime/os.hpp 2018-06-07 10:21:54.468707518 +0200 @@ -302,6 +302,12 @@ return _page_sizes[0]; } + struct range_t { address addr; size_t size; }; + // Given an address range, returns the largest inner range whose boundaries are page + // aligned to os::vm_page_size(). + // If the given range is too small to hold a full page, the resulting range.addr will be NULL. + static range_t inner_page_aligned_boundaries(address addr, size_t size); + // Methods for tracing page sizes returned by the above method. // The region_{min,max}_size parameters should be the values // passed to page_size_for_region() and page_size should be the result of that