test/compiler/unsafe/OpaqueAccesses.java

changeset 8656
7ca49bca3c2a
parent 8655
0de3b29d549d
     1.1 --- a/test/compiler/unsafe/OpaqueAccesses.java	Wed Nov 23 23:10:03 2016 -0800
     1.2 +++ b/test/compiler/unsafe/OpaqueAccesses.java	Wed Nov 23 23:15:05 2016 -0800
     1.3 @@ -30,6 +30,22 @@
     1.4   *
     1.5   * @run main/bootclasspath/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockDiagnosticVMOptions
     1.6   *                                 -XX:-TieredCompilation -Xbatch
     1.7 + *                                 -XX:+UseCompressedOops -XX:+UseCompressedClassPointers
     1.8 + *                                 -XX:CompileCommand=dontinline,compiler.unsafe.OpaqueAccesses::test*
     1.9 + *                                 compiler.unsafe.OpaqueAccesses
    1.10 + * @run main/bootclasspath/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockDiagnosticVMOptions
    1.11 + *                                 -XX:-TieredCompilation -Xbatch
    1.12 + *                                 -XX:+UseCompressedOops -XX:-UseCompressedClassPointers
    1.13 + *                                 -XX:CompileCommand=dontinline,compiler.unsafe.OpaqueAccesses::test*
    1.14 + *                                 compiler.unsafe.OpaqueAccesses
    1.15 + * @run main/bootclasspath/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockDiagnosticVMOptions
    1.16 + *                                 -XX:-TieredCompilation -Xbatch
    1.17 + *                                 -XX:-UseCompressedOops -XX:+UseCompressedClassPointers
    1.18 + *                                 -XX:CompileCommand=dontinline,compiler.unsafe.OpaqueAccesses::test*
    1.19 + *                                 compiler.unsafe.OpaqueAccesses
    1.20 + * @run main/bootclasspath/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockDiagnosticVMOptions
    1.21 + *                                 -XX:-TieredCompilation -Xbatch
    1.22 + *                                 -XX:-UseCompressedOops -XX:-UseCompressedClassPointers
    1.23   *                                 -XX:CompileCommand=dontinline,compiler.unsafe.OpaqueAccesses::test*
    1.24   *                                 compiler.unsafe.OpaqueAccesses
    1.25   */
    1.26 @@ -61,6 +77,7 @@
    1.27      }
    1.28  
    1.29      private Object f = new Object();
    1.30 +    private long l1, l2;
    1.31  
    1.32      static Object testFixedOffsetField(Object o) {
    1.33          return UNSAFE.getObject(o, F_OFFSET);
    1.34 @@ -74,6 +91,18 @@
    1.35          return UNSAFE.getInt(o, 4);
    1.36      }
    1.37  
    1.38 +    static int testFixedOffsetHeader8(Object o) {
    1.39 +        return UNSAFE.getInt(o, 8);
    1.40 +    }
    1.41 +
    1.42 +    static int testFixedOffsetHeader12(Object o) {
    1.43 +        return UNSAFE.getInt(o, 12);
    1.44 +    }
    1.45 +
    1.46 +    static int testFixedOffsetHeader16(Object o) {
    1.47 +        return UNSAFE.getInt(o, 16);
    1.48 +    }
    1.49 +
    1.50      static Object testFixedBase(long off) {
    1.51          return UNSAFE.getObject(INSTANCE, off);
    1.52      }
    1.53 @@ -90,6 +119,18 @@
    1.54          return UNSAFE.getInt(arr, 4);
    1.55      }
    1.56  
    1.57 +    static int testFixedOffsetHeaderArray8(Object[] arr) {
    1.58 +        return UNSAFE.getInt(arr, 8);
    1.59 +    }
    1.60 +
    1.61 +    static int testFixedOffsetHeaderArray12(Object[] arr) {
    1.62 +        return UNSAFE.getInt(arr, 12);
    1.63 +    }
    1.64 +
    1.65 +    static int testFixedOffsetHeaderArray16(Object[] arr) {
    1.66 +        return UNSAFE.getInt(arr, 16);
    1.67 +    }
    1.68 +
    1.69      static Object testFixedOffsetArray(Object[] arr) {
    1.70          return UNSAFE.getObject(arr, E_OFFSET);
    1.71      }
    1.72 @@ -118,6 +159,9 @@
    1.73              testFixedOffsetField(INSTANCE);
    1.74              testFixedOffsetHeader0(INSTANCE);
    1.75              testFixedOffsetHeader4(INSTANCE);
    1.76 +            testFixedOffsetHeader8(INSTANCE);
    1.77 +            testFixedOffsetHeader12(INSTANCE);
    1.78 +            testFixedOffsetHeader16(INSTANCE);
    1.79              testFixedBase(F_OFFSET);
    1.80              testOpaque(INSTANCE, F_OFFSET);
    1.81              testMixedAccess();
    1.82 @@ -125,6 +169,9 @@
    1.83              // Array
    1.84              testFixedOffsetHeaderArray0(ARRAY);
    1.85              testFixedOffsetHeaderArray4(ARRAY);
    1.86 +            testFixedOffsetHeaderArray8(ARRAY);
    1.87 +            testFixedOffsetHeaderArray12(ARRAY);
    1.88 +            testFixedOffsetHeaderArray16(ARRAY);
    1.89              testFixedOffsetArray(ARRAY);
    1.90              testFixedBaseArray(E_OFFSET);
    1.91              testOpaqueArray(ARRAY, E_OFFSET);

mercurial