hotspot/src/os/windows/vm/os_windows.cpp
changeset 19546 f6b7c9e96ea3
parent 19274 a09ed3dff789
child 19560 d44eb8cd7ecc
--- a/hotspot/src/os/windows/vm/os_windows.cpp	Sun Aug 25 21:21:18 2013 -0400
+++ b/hotspot/src/os/windows/vm/os_windows.cpp	Fri Aug 16 13:22:32 2013 +0200
@@ -3156,7 +3156,12 @@
   return true;
 }
 
-char* os::reserve_memory_special(size_t bytes, char* addr, bool exec) {
+char* os::reserve_memory_special(size_t bytes, size_t alignment, char* addr, bool exec) {
+  assert(UseLargePages, "only for large pages");
+
+  if (!is_size_aligned(bytes, os::large_page_size()) || alignment > os::large_page_size()) {
+    return NULL; // Fallback to small pages.
+  }
 
   const DWORD prot = exec ? PAGE_EXECUTE_READWRITE : PAGE_READWRITE;
   const DWORD flags = MEM_RESERVE | MEM_COMMIT | MEM_LARGE_PAGES;
@@ -5638,3 +5643,9 @@
 }
 
 #endif
+
+#ifndef PRODUCT
+void TestReserveMemorySpecial_test() {
+  // No tests available for this platform
+}
+#endif