< prev index next >

src/share/vm/runtime/os.cpp

Print this page
rev 7656 : 8066875: VirtualSpace does not use large pages (02)

@@ -1405,14 +1405,11 @@
     const size_t max_page_size = region_size / min_pages;
 
     for (size_t i = 0; _page_sizes[i] != 0; ++i) {
       const size_t page_size = _page_sizes[i];
       if (page_size <= max_page_size) {
-        if (!must_be_aligned) {
-          return page_size;
-        }
-        if (is_size_aligned(region_size, page_size)) {
+        if (!must_be_aligned || is_size_aligned(region_size, page_size)) {
           return page_size;
         }
       }
     }
   }

@@ -1710,33 +1707,33 @@
     }
   }
 
   static void test_page_size_for_region_unaligned() {
     if (UseLargePages) {
-      // Given exact page size, should return that page size
+      // Given exact page size, should return that page size.
       for (size_t i = 0; os::_page_sizes[i] != 0; i++) {
         size_t expected = os::_page_sizes[i];
         size_t actual = os::page_size_for_region_unaligned(expected, 1);
         assert_eq(expected, actual);
       }
 
-      // Given slightly larger size than a page size, return the page size
+      // Given slightly larger size than a page size, return the page size.
       for (size_t i = 0; os::_page_sizes[i] != 0; i++) {
         size_t expected = os::_page_sizes[i];
         size_t actual = os::page_size_for_region_unaligned(expected + 17, 1);
         assert_eq(expected, actual);
       }
 
       // Given a slightly smaller size than a page size,
-      // return the next smaller page size
+      // return the next smaller page size.
       if (os::_page_sizes[1] > os::_page_sizes[0]) {
         size_t expected = os::_page_sizes[0];
         size_t actual = os::page_size_for_region_unaligned(os::_page_sizes[1] - 17, 1);
         assert_eq(actual, expected);
       }
 
-      // Return small page size for values less than a small page
+      // Return small page size for values less than a small page.
       size_t small_page = small_page_size();
       size_t actual = os::page_size_for_region_unaligned(small_page - 17, 1);
       assert_eq(small_page, actual);
     }
   }
< prev index next >