Whenever we decide to use Compressed Oops with 64Gb heap AT LEAST next changes should be made to build VM which support it.
Note: more complex changes needed to use a VM option. I don't see benefits on N2 with it so I am putting it on shelf.
src/share/vm/utilities/globalDefinitions.hpp
@@ -288,11 +288,11
// Minimum is max(BytesPerLong, BytesPerDouble, BytesPerOop) / HeapWordSize, so jlong, jdouble and
// reference fields can be naturally aligned.
-const int MinObjAlignment = HeapWordsPerLong;
+const int MinObjAlignment = HeapWordsPerLong * 2; // *2 for 16 bytes alignment
const int MinObjAlignmentInBytes = MinObjAlignment * HeapWordSize;
const int MinObjAlignmentInBytesMask = MinObjAlignmentInBytes - 1;
-const int LogMinObjAlignment = LogHeapWordsPerLong;
+const int LogMinObjAlignment = LogHeapWordsPerLong + 1; // +1 for 16 bytes alignment
const int LogMinObjAlignmentInBytes = LogMinObjAlignment + LogHeapWordSize;
|