< prev index next >
src/share/vm/runtime/os.hpp
Print this page
rev 7180 : 8067469: G1 ignores AlwaysPreTouch
Summary: Factor out pretouch code of the various virtual space management classes and use them everywhere including in G1.
Reviewed-by: stefank, ehelin, dholmes
rev 7181 : 8049864: TestParallelHeapSizeFlags fails with unexpected heap size
Reviewed-by: sjohanss, jmasa
*** 263,285 ****
// OS interface to Virtual Memory
// Return the default page size.
static int vm_page_size();
! // Return the page size to use for a region of memory. The min_pages argument
! // is a hint intended to limit fragmentation; it says the returned page size
! // should be <= region_max_size / min_pages. Because min_pages is a hint,
! // this routine may return a size larger than region_max_size / min_pages.
! //
! // The current implementation ignores min_pages if a larger page size is an
! // exact multiple of both region_min_size and region_max_size. This allows
! // larger pages to be used when doing so would not cause fragmentation; in
! // particular, a single page can be used when region_min_size ==
! // region_max_size == a supported page size.
! static size_t page_size_for_region(size_t region_min_size,
! size_t region_max_size,
! uint min_pages);
// Return the largest page size that can be used
static size_t max_page_size() {
// The _page_sizes array is sorted in descending order.
return _page_sizes[0];
}
--- 263,277 ----
// OS interface to Virtual Memory
// Return the default page size.
static int vm_page_size();
! // Returns the page size to use for a region of memory.
! // region_size / min_pages will always be greater than or equal to the
! // returned value.
! static size_t page_size_for_region(size_t region_size, size_t min_pages);
!
// Return the largest page size that can be used
static size_t max_page_size() {
// The _page_sizes array is sorted in descending order.
return _page_sizes[0];
}
< prev index next >