1.1 --- a/src/share/vm/runtime/os.hpp Wed Nov 26 10:32:21 2014 -0800 1.2 +++ b/src/share/vm/runtime/os.hpp Fri Jan 16 10:29:12 2015 +0100 1.3 @@ -149,6 +149,7 @@ 1.4 static void pd_free_memory(char *addr, size_t bytes, size_t alignment_hint); 1.5 static void pd_realign_memory(char *addr, size_t bytes, size_t alignment_hint); 1.6 1.7 + static size_t page_size_for_region(size_t region_size, size_t min_pages, bool must_be_aligned); 1.8 1.9 public: 1.10 static void init(void); // Called before command line parsing 1.11 @@ -267,8 +268,13 @@ 1.12 1.13 // Returns the page size to use for a region of memory. 1.14 // region_size / min_pages will always be greater than or equal to the 1.15 - // returned value. 1.16 - static size_t page_size_for_region(size_t region_size, size_t min_pages); 1.17 + // returned value. The returned value will divide region_size. 1.18 + static size_t page_size_for_region_aligned(size_t region_size, size_t min_pages); 1.19 + 1.20 + // Returns the page size to use for a region of memory. 1.21 + // region_size / min_pages will always be greater than or equal to the 1.22 + // returned value. The returned value might not divide region_size. 1.23 + static size_t page_size_for_region_unaligned(size_t region_size, size_t min_pages); 1.24 1.25 // Return the largest page size that can be used 1.26 static size_t max_page_size() {