diff src/share/vm/memory/collectorPolicy.cpp @ 1795:a8b66e00933b

6984368: Large default heap size does not allow to use zero based compressed oops Summary: take into account HeapBaseMinAddress and round down MaxPermSize Reviewed-by: never
author kvn
date Tue, 14 Sep 2010 17:19:35 -0700
parents c18cbe5936b8
children a7214d79fcf1
line wrap: on
line diff
--- a/src/share/vm/memory/collectorPolicy.cpp	Tue Sep 14 14:09:24 2010 -0700
+++ b/src/share/vm/memory/collectorPolicy.cpp	Tue Sep 14 17:19:35 2010 -0700
@@ -32,7 +32,11 @@
     MaxPermSize = PermSize;
   }
   PermSize = MAX2(min_alignment(), align_size_down_(PermSize, min_alignment()));
-  MaxPermSize = align_size_up(MaxPermSize, max_alignment());
+  // Don't increase Perm size limit above specified.
+  MaxPermSize = align_size_down(MaxPermSize, max_alignment());
+  if (PermSize > MaxPermSize) {
+    PermSize = MaxPermSize;
+  }
 
   MinPermHeapExpansion = MAX2(min_alignment(), align_size_down_(MinPermHeapExpansion, min_alignment()));
   MaxPermHeapExpansion = MAX2(min_alignment(), align_size_down_(MaxPermHeapExpansion, min_alignment()));