changeset 20:e195fe4c40c7

6629887: 64-bit windows should not restrict default heap size to 1400m Reviewed-by: jmasa, sbohne, ikrylov, xlu
author phh
date Wed, 05 Dec 2007 09:04:00 -0800
parents a73cc31728fe
children b611e572fc5b
files src/os/linux/vm/os_linux.cpp src/os/windows/vm/os_windows.cpp src/os_cpu/linux_x86/vm/os_linux_x86.cpp
diffstat 3 files changed, 19 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/src/os/linux/vm/os_linux.cpp	Wed Dec 05 09:03:00 2007 -0800
+++ b/src/os/linux/vm/os_linux.cpp	Wed Dec 05 09:04:00 2007 -0800
@@ -116,6 +116,20 @@
   return Linux::physical_memory();
 }
 
+julong os::allocatable_physical_memory(julong size) {
+#ifdef _LP64
+  return size;
+#else
+  julong result = MIN2(size, (julong)3800*M);
+   if (!is_allocatable(result)) {
+     // See comments under solaris for alignment considerations
+     julong reasonable_size = (julong)2*G - 2 * os::vm_page_size();
+     result =  MIN2(size, reasonable_size);
+   }
+   return result;
+#endif // _LP64
+}
+
 ////////////////////////////////////////////////////////////////////////////////
 // environment support
 
--- a/src/os/windows/vm/os_windows.cpp	Wed Dec 05 09:03:00 2007 -0800
+++ b/src/os/windows/vm/os_windows.cpp	Wed Dec 05 09:04:00 2007 -0800
@@ -621,7 +621,12 @@
 }
 
 julong os::allocatable_physical_memory(julong size) {
+#ifdef _LP64
+  return size;
+#else
+  // Limit to 1400m because of the 2gb address space wall
   return MIN2(size, (julong)1400*M);
+#endif
 }
 
 // VC6 lacks DWORD_PTR
--- a/src/os_cpu/linux_x86/vm/os_linux_x86.cpp	Wed Dec 05 09:03:00 2007 -0800
+++ b/src/os_cpu/linux_x86/vm/os_linux_x86.cpp	Wed Dec 05 09:04:00 2007 -0800
@@ -157,23 +157,8 @@
   }
 }
 
-
 // Utility functions
 
-julong os::allocatable_physical_memory(julong size) {
-#ifdef AMD64
-  return size;
-#else
-  julong result = MIN2(size, (julong)3800*M);
-   if (!is_allocatable(result)) {
-     // See comments under solaris for alignment considerations
-     julong reasonable_size = (julong)2*G - 2 * os::vm_page_size();
-     result =  MIN2(size, reasonable_size);
-   }
-   return result;
-#endif // AMD64
-}
-
 // From IA32 System Programming Guide
 enum {
   trap_page_fault = 0xE