Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6916623

Align object to 16 bytes to use Compressed Oops with java heap up to 64Gb

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P5 P5
    • hs19
    • hs17
    • hotspot
    • b03
    • sparc
    • solaris_10
    • Verified

        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;

              kvn Vladimir Kozlov
              kvn Vladimir Kozlov
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: