1.1 --- a/src/share/vm/runtime/arguments.cpp Tue Sep 14 14:09:24 2010 -0700 1.2 +++ b/src/share/vm/runtime/arguments.cpp Tue Sep 14 17:19:35 2010 -0700 1.3 @@ -1273,7 +1273,8 @@ 1.4 } 1.5 1.6 inline uintx max_heap_for_compressed_oops() { 1.7 - LP64_ONLY(return OopEncodingHeapMax - MaxPermSize - os::vm_page_size()); 1.8 + // Heap should be above HeapBaseMinAddress to get zero based compressed oops. 1.9 + LP64_ONLY(return OopEncodingHeapMax - MaxPermSize - os::vm_page_size() - HeapBaseMinAddress); 1.10 NOT_LP64(ShouldNotReachHere(); return 0); 1.11 } 1.12