diff src/share/vm/runtime/os.hpp @ 22976:5788dbd1f2d6

8066875: VirtualSpace does not use large pages Reviewed-by: stefank, tschatzl, anoll, thartmann
author ehelin
date Fri, 16 Jan 2015 10:29:12 +0100
parents c2ce24504334
children dd9cc155639c ca765f57fe3c
line wrap: on
line diff
--- a/src/share/vm/runtime/os.hpp	Wed Nov 26 10:32:21 2014 -0800
+++ b/src/share/vm/runtime/os.hpp	Fri Jan 16 10:29:12 2015 +0100
@@ -149,6 +149,7 @@
   static void   pd_free_memory(char *addr, size_t bytes, size_t alignment_hint);
   static void   pd_realign_memory(char *addr, size_t bytes, size_t alignment_hint);
 
+  static size_t page_size_for_region(size_t region_size, size_t min_pages, bool must_be_aligned);
 
  public:
   static void init(void);                      // Called before command line parsing
@@ -267,8 +268,13 @@
 
   // 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);
+  // returned value. The returned value will divide region_size.
+  static size_t page_size_for_region_aligned(size_t region_size, size_t min_pages);
+
+  // 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. The returned value might not divide region_size.
+  static size_t page_size_for_region_unaligned(size_t region_size, size_t min_pages);
 
   // Return the largest page size that can be used
   static size_t max_page_size() {