Mercurial > hg > truffle
diff src/share/vm/runtime/arguments.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 | d5d065957597 |
children | 18c378513575 |
line wrap: on
line diff
--- a/src/share/vm/runtime/arguments.cpp Tue Sep 14 14:09:24 2010 -0700 +++ b/src/share/vm/runtime/arguments.cpp Tue Sep 14 17:19:35 2010 -0700 @@ -1273,7 +1273,8 @@ } inline uintx max_heap_for_compressed_oops() { - LP64_ONLY(return OopEncodingHeapMax - MaxPermSize - os::vm_page_size()); + // Heap should be above HeapBaseMinAddress to get zero based compressed oops. + LP64_ONLY(return OopEncodingHeapMax - MaxPermSize - os::vm_page_size() - HeapBaseMinAddress); NOT_LP64(ShouldNotReachHere(); return 0); }