public class org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest extends org.graalvm.compiler.replacements.test.MethodSubstitutionTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest
  super_class: org.graalvm.compiler.replacements.test.MethodSubstitutionTest
{
  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 38
            ldc Lorg/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest this
         0: .line 38
            aload 0 /* this */
            invokespecial org.graalvm.compiler.replacements.test.MethodSubstitutionTest.<init>:()V
            return
        end local 0 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest;

  public void testSubstitution(java.lang.String, java.lang.Class<?>, java.lang.String, java.lang.Class<?>[], , [], []);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;[Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=13, args_size=8
        start local 0 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest this
        start local 1 // java.lang.String testMethodName
        start local 2 // java.lang.Class holder
        start local 3 // java.lang.String methodName
        start local 4 // java.lang.Class[] parameterTypes
        start local 5 // java.lang.Object receiver
        start local 6 // java.lang.Object[] args1
        start local 7 // java.lang.Object[] args2
         0: .line 41
            aload 0 /* this */
            aload 1 /* testMethodName */
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.getResolvedJavaMethod:(Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 8 /* testMethod */
        start local 8 // jdk.vm.ci.meta.ResolvedJavaMethod testMethod
         1: .line 42
            aload 0 /* this */
            aload 2 /* holder */
            aload 3 /* methodName */
            aload 4 /* parameterTypes */
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.getResolvedJavaMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 9 /* originalMethod */
        start local 9 // jdk.vm.ci.meta.ResolvedJavaMethod originalMethod
         2: .line 45
            aload 0 /* this */
            aload 8 /* testMethod */
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.getCode:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/code/InstalledCode;
            astore 10 /* code */
        start local 10 // jdk.vm.ci.code.InstalledCode code
         3: .line 46
            getstatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.$assertionsDisabled:Z
            ifne 4
            aload 10 /* code */
            ifnonnull 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 49
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.code.InstalledCode
      StackMap stack:
            aload 0 /* this */
            aload 9 /* originalMethod */
            aload 5 /* receiver */
            aload 6 /* args1 */
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.invokeSafe:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 11 /* expected */
        start local 11 // java.lang.Object expected
         5: .line 50
            aload 0 /* this */
            aload 8 /* testMethod */
            aconst_null
            aload 7 /* args2 */
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.invokeSafe:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 12 /* actual */
        start local 12 // java.lang.Object actual
         6: .line 51
            aload 0 /* this */
            aload 11 /* expected */
            aload 12 /* actual */
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.assertDeepEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 54
            aload 0 /* this */
            aload 9 /* originalMethod */
            aload 5 /* receiver */
            aload 6 /* args1 */
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.invokeSafe:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 11 /* expected */
         8: .line 55
            aload 10 /* code */
            aload 7 /* args2 */
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.executeVarargsSafe:(Ljdk/vm/ci/code/InstalledCode;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 12 /* actual */
         9: .line 56
            aload 0 /* this */
            aload 11 /* expected */
            aload 12 /* actual */
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.assertDeepEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 58
            return
        end local 12 // java.lang.Object actual
        end local 11 // java.lang.Object expected
        end local 10 // jdk.vm.ci.code.InstalledCode code
        end local 9 // jdk.vm.ci.meta.ResolvedJavaMethod originalMethod
        end local 8 // jdk.vm.ci.meta.ResolvedJavaMethod testMethod
        end local 7 // java.lang.Object[] args2
        end local 6 // java.lang.Object[] args1
        end local 5 // java.lang.Object receiver
        end local 4 // java.lang.Class[] parameterTypes
        end local 3 // java.lang.String methodName
        end local 2 // java.lang.Class holder
        end local 1 // java.lang.String testMethodName
        end local 0 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lorg/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest;
            0   11     1  testMethodName  Ljava/lang/String;
            0   11     2          holder  Ljava/lang/Class<*>;
            0   11     3      methodName  Ljava/lang/String;
            0   11     4  parameterTypes  [Ljava/lang/Class;
            0   11     5        receiver  Ljava/lang/Object;
            0   11     6           args1  [Ljava/lang/Object;
            0   11     7           args2  [Ljava/lang/Object;
            1   11     8      testMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            2   11     9  originalMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            3   11    10            code  Ljdk/vm/ci/code/InstalledCode;
            5   11    11        expected  Ljava/lang/Object;
            6   11    12          actual  Ljava/lang/Object;
    Signature: (Ljava/lang/String;Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Class<*>;Ljava/lang/Object;[Ljava/lang/Object;[Ljava/lang/Object;)V
    MethodParameters:
                Name  Flags
      testMethodName  
      holder          
      methodName      
      parameterTypes  
      receiver        
      args1           
      args2           

  static long off(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)J
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.Object o
        start local 1 // java.lang.String name
         0: .line 62
            getstatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.UNSAFE:Lsun/misc/Unsafe;
            aload 0 /* o */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* name */
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
         1: lreturn
         2: .line 63
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
         3: .line 64
            aload 2 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
         4: .line 65
            lconst_0
            lreturn
        end local 2 // java.lang.Exception e
        end local 1 // java.lang.String name
        end local 0 // java.lang.Object o
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     o  Ljava/lang/Object;
            0    5     1  name  Ljava/lang/String;
            3    5     2     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      o     
      name  

  public void testUnsafeSubstitutions();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=1
        start local 0 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest this
         0: .line 83
            aload 0 /* this */
            ldc "unsafeCompareAndSwapInt"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            getstatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.UNSAFE:Lsun/misc/Unsafe;
            aastore
            dup
            iconst_1
            invokedynamic get()Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest.lambda$0()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.supply:(Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;)Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc "i"
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.fooOffset:(Ljava/lang/String;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         1: .line 85
            aload 0 /* this */
            ldc "unsafeCompareAndSwapInt"
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
         2: .line 86
            aload 0 /* this */
            ldc "unsafeCompareAndSwapLong"
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
         3: .line 87
            aload 0 /* this */
            ldc "unsafeCompareAndSwapObject"
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
         4: .line 89
            aload 0 /* this */
            ldc "unsafeGetBoolean"
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
         5: .line 90
            aload 0 /* this */
            ldc "unsafeGetByte"
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
         6: .line 91
            aload 0 /* this */
            ldc "unsafeGetShort"
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
         7: .line 92
            aload 0 /* this */
            ldc "unsafeGetChar"
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
         8: .line 93
            aload 0 /* this */
            ldc "unsafeGetInt"
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
         9: .line 94
            aload 0 /* this */
            ldc "unsafeGetLong"
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
        10: .line 95
            aload 0 /* this */
            ldc "unsafeGetFloat"
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
        11: .line 96
            aload 0 /* this */
            ldc "unsafeGetDouble"
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
        12: .line 97
            aload 0 /* this */
            ldc "unsafeGetObject"
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
        13: .line 99
            aload 0 /* this */
            ldc "unsafePutBoolean"
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
        14: .line 100
            aload 0 /* this */
            ldc "unsafePutByte"
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
        15: .line 101
            aload 0 /* this */
            ldc "unsafePutShort"
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
        16: .line 102
            aload 0 /* this */
            ldc "unsafePutChar"
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
        17: .line 103
            aload 0 /* this */
            ldc "unsafePutInt"
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
        18: .line 104
            aload 0 /* this */
            ldc "unsafePutLong"
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
        19: .line 105
            aload 0 /* this */
            ldc "unsafePutFloat"
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
        20: .line 106
            aload 0 /* this */
            ldc "unsafePutDouble"
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
        21: .line 107
            aload 0 /* this */
            ldc "unsafePutObject"
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
        22: .line 109
            aload 0 /* this */
            ldc "unsafeGetAddress"
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
        23: .line 110
            aload 0 /* this */
            ldc "unsafePutAddress"
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
        24: .line 112
            aload 0 /* this */
            ldc "unsafeDirectMemoryRead"
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
        25: .line 113
            aload 0 /* this */
            ldc "unsafeDirectMemoryWrite"
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
        26: .line 115
            getstatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.UNSAFE:Lsun/misc/Unsafe;
            bipush 8
            invokestatic jdk.vm.ci.meta.JavaKind.values:()[Ljdk/vm/ci/meta/JavaKind;
            arraylength
            imul
            i2l
            invokevirtual sun.misc.Unsafe.allocateMemory:(J)J
            lstore 1 /* address */
        start local 1 // long address
        27: .line 116
            iconst_2
            anewarray sun.misc.Unsafe
            dup
            iconst_0
            getstatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.UNSAFE:Lsun/misc/Unsafe;
            aastore
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 55
      StackMap locals: org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest long top int int sun.misc.Unsafe[]
      StackMap stack:
        28: aload 6
            iload 4
            aaload
            astore 3 /* unsafeArg */
        start local 3 // sun.misc.Unsafe unsafeArg
        29: .line 117
            aload 0 /* this */
            ldc "unsafeCompareAndSwapInt"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* unsafeArg */
            aastore
            dup
            iconst_1
            invokedynamic get()Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest.lambda$1()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.supply:(Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;)Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc "i"
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.fooOffset:(Ljava/lang/String;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        30: .line 118
            aload 0 /* this */
            ldc "unsafeCompareAndSwapLong"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* unsafeArg */
            aastore
            dup
            iconst_1
            invokedynamic get()Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest.lambda$2()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.supply:(Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;)Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc "l"
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.fooOffset:(Ljava/lang/String;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        31: .line 119
            aload 0 /* this */
            ldc "unsafeCompareAndSwapObject"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* unsafeArg */
            aastore
            dup
            iconst_1
            invokedynamic get()Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest.lambda$3()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.supply:(Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;)Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc "o"
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.fooOffset:(Ljava/lang/String;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        32: .line 121
            aload 0 /* this */
            ldc "unsafeGetBoolean"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* unsafeArg */
            aastore
            dup
            iconst_1
            invokedynamic get()Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest.lambda$4()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.supply:(Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;)Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc "z"
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.fooOffset:(Ljava/lang/String;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        33: .line 122
            aload 0 /* this */
            ldc "unsafeGetByte"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* unsafeArg */
            aastore
            dup
            iconst_1
            invokedynamic get()Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest.lambda$5()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.supply:(Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;)Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc "b"
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.fooOffset:(Ljava/lang/String;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        34: .line 123
            aload 0 /* this */
            ldc "unsafeGetShort"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* unsafeArg */
            aastore
            dup
            iconst_1
            invokedynamic get()Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest.lambda$6()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.supply:(Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;)Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc "s"
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.fooOffset:(Ljava/lang/String;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        35: .line 124
            aload 0 /* this */
            ldc "unsafeGetChar"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* unsafeArg */
            aastore
            dup
            iconst_1
            invokedynamic get()Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest.lambda$7()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.supply:(Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;)Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc "c"
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.fooOffset:(Ljava/lang/String;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        36: .line 125
            aload 0 /* this */
            ldc "unsafeGetInt"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* unsafeArg */
            aastore
            dup
            iconst_1
            invokedynamic get()Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest.lambda$8()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.supply:(Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;)Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc "i"
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.fooOffset:(Ljava/lang/String;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        37: .line 126
            aload 0 /* this */
            ldc "unsafeGetLong"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* unsafeArg */
            aastore
            dup
            iconst_1
            invokedynamic get()Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest.lambda$9()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.supply:(Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;)Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc "l"
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.fooOffset:(Ljava/lang/String;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        38: .line 127
            aload 0 /* this */
            ldc "unsafeGetFloat"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* unsafeArg */
            aastore
            dup
            iconst_1
            invokedynamic get()Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest.lambda$10()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.supply:(Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;)Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc "f"
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.fooOffset:(Ljava/lang/String;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        39: .line 128
            aload 0 /* this */
            ldc "unsafeGetDouble"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* unsafeArg */
            aastore
            dup
            iconst_1
            invokedynamic get()Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest.lambda$11()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.supply:(Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;)Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc "d"
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.fooOffset:(Ljava/lang/String;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        40: .line 129
            aload 0 /* this */
            ldc "unsafeGetObject"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* unsafeArg */
            aastore
            dup
            iconst_1
            invokedynamic get()Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest.lambda$12()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.supply:(Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;)Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc "o"
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.fooOffset:(Ljava/lang/String;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        41: .line 131
            aload 0 /* this */
            ldc "unsafePutBoolean"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* unsafeArg */
            aastore
            dup
            iconst_1
            invokedynamic get()Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest.lambda$13()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.supply:(Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;)Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc "z"
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.fooOffset:(Ljava/lang/String;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_3
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        42: .line 132
            aload 0 /* this */
            ldc "unsafePutByte"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* unsafeArg */
            aastore
            dup
            iconst_1
            invokedynamic get()Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest.lambda$14()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.supply:(Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;)Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc "b"
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.fooOffset:(Ljava/lang/String;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_3
            bipush 87
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        43: .line 133
            aload 0 /* this */
            ldc "unsafePutShort"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* unsafeArg */
            aastore
            dup
            iconst_1
            invokedynamic get()Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest.lambda$15()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.supply:(Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;)Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc "s"
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.fooOffset:(Ljava/lang/String;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_3
            bipush -93
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        44: .line 134
            aload 0 /* this */
            ldc "unsafePutChar"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* unsafeArg */
            aastore
            dup
            iconst_1
            invokedynamic get()Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest.lambda$16()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.supply:(Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;)Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc "c"
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.fooOffset:(Ljava/lang/String;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_3
            bipush 65
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        45: .line 135
            aload 0 /* this */
            ldc "unsafePutInt"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* unsafeArg */
            aastore
            dup
            iconst_1
            invokedynamic get()Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest.lambda$17()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.supply:(Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;)Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc "i"
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.fooOffset:(Ljava/lang/String;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_3
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        46: .line 136
            aload 0 /* this */
            ldc "unsafePutLong"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* unsafeArg */
            aastore
            dup
            iconst_1
            invokedynamic get()Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest.lambda$18()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.supply:(Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;)Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc "l"
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.fooOffset:(Ljava/lang/String;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_3
            ldc 4711
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        47: .line 137
            aload 0 /* this */
            ldc "unsafePutFloat"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* unsafeArg */
            aastore
            dup
            iconst_1
            invokedynamic get()Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest.lambda$19()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.supply:(Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;)Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc "f"
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.fooOffset:(Ljava/lang/String;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_3
            ldc 58.0
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        48: .line 138
            aload 0 /* this */
            ldc "unsafePutDouble"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* unsafeArg */
            aastore
            dup
            iconst_1
            invokedynamic get()Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest.lambda$20()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.supply:(Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;)Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc "d"
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.fooOffset:(Ljava/lang/String;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_3
            ldc -28736.243465
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        49: .line 139
            aload 0 /* this */
            ldc "unsafePutObject"
            bipush 6
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* unsafeArg */
            aastore
            dup
            iconst_1
            invokedynamic get()Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest.lambda$21()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.supply:(Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;)Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc "o"
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.fooOffset:(Ljava/lang/String;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_3
            ldc "value1"
            aastore
            dup
            iconst_4
            ldc "value2"
            aastore
            dup
            iconst_5
            ldc "value3"
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        50: .line 141
            aload 0 /* this */
            ldc "unsafeGetAddress"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* unsafeArg */
            aastore
            dup
            iconst_1
            lload 1 /* address */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        51: .line 142
            aload 0 /* this */
            ldc "unsafePutAddress"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* unsafeArg */
            aastore
            dup
            iconst_1
            lload 1 /* address */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
            ldc -2401053088876217666
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        52: .line 144
            aload 0 /* this */
            ldc "unsafeDirectMemoryRead"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* unsafeArg */
            aastore
            dup
            iconst_1
            lload 1 /* address */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        53: .line 145
            aload 0 /* this */
            ldc "unsafeDirectMemoryWrite"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* unsafeArg */
            aastore
            dup
            iconst_1
            lload 1 /* address */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
            ldc -3819410105021121858
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        end local 3 // sun.misc.Unsafe unsafeArg
        54: .line 116
            iinc 4 1
      StackMap locals:
      StackMap stack:
        55: iload 4
            iload 5
            if_icmplt 28
        56: .line 147
            getstatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.UNSAFE:Lsun/misc/Unsafe;
            lload 1 /* address */
            invokevirtual sun.misc.Unsafe.freeMemory:(J)V
        57: .line 148
            return
        end local 1 // long address
        end local 0 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   58     0       this  Lorg/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest;
           27   58     1    address  J
           29   54     3  unsafeArg  Lsun/misc/Unsafe;
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static long fooOffset(java.lang.String);
    descriptor: (Ljava/lang/String;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String name
         0: .line 152
            getstatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.UNSAFE:Lsun/misc/Unsafe;
            ldc Lorg/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest$Foo;
            aload 0 /* name */
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
         1: lreturn
         2: .line 153
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         3: .line 154
            new java.lang.AssertionError
            dup
            aload 1 /* e */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 1 // java.lang.Exception e
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  name  Ljava/lang/String;
            3    4     1     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.NoSuchFieldException
           0     1       2  Class java.lang.SecurityException
    MethodParameters:
      Name  Flags
      name  

  public static boolean unsafeCompareAndSwapInt(sun.misc.Unsafe, java.lang.Object, long);
    descriptor: (Lsun/misc/Unsafe;Ljava/lang/Object;J)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // sun.misc.Unsafe unsafe
        start local 1 // java.lang.Object obj
        start local 2 // long offset
         0: .line 160
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            iconst_0
            iconst_1
            invokevirtual sun.misc.Unsafe.compareAndSwapInt:(Ljava/lang/Object;JII)Z
            ireturn
        end local 2 // long offset
        end local 1 // java.lang.Object obj
        end local 0 // sun.misc.Unsafe unsafe
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  unsafe  Lsun/misc/Unsafe;
            0    1     1     obj  Ljava/lang/Object;
            0    1     2  offset  J
    MethodParameters:
        Name  Flags
      unsafe  
      obj     
      offset  

  public static boolean unsafeCompareAndSwapLong(sun.misc.Unsafe, java.lang.Object, long);
    descriptor: (Lsun/misc/Unsafe;Ljava/lang/Object;J)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=4, args_size=3
        start local 0 // sun.misc.Unsafe unsafe
        start local 1 // java.lang.Object obj
        start local 2 // long offset
         0: .line 165
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            lconst_0
            lconst_1
            invokevirtual sun.misc.Unsafe.compareAndSwapLong:(Ljava/lang/Object;JJJ)Z
            ireturn
        end local 2 // long offset
        end local 1 // java.lang.Object obj
        end local 0 // sun.misc.Unsafe unsafe
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  unsafe  Lsun/misc/Unsafe;
            0    1     1     obj  Ljava/lang/Object;
            0    1     2  offset  J
    MethodParameters:
        Name  Flags
      unsafe  
      obj     
      offset  

  public static boolean unsafeCompareAndSwapObject(sun.misc.Unsafe, java.lang.Object, long);
    descriptor: (Lsun/misc/Unsafe;Ljava/lang/Object;J)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // sun.misc.Unsafe unsafe
        start local 1 // java.lang.Object obj
        start local 2 // long offset
         0: .line 170
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            aconst_null
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            invokevirtual sun.misc.Unsafe.compareAndSwapObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
            ireturn
        end local 2 // long offset
        end local 1 // java.lang.Object obj
        end local 0 // sun.misc.Unsafe unsafe
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  unsafe  Lsun/misc/Unsafe;
            0    1     1     obj  Ljava/lang/Object;
            0    1     2  offset  J
    MethodParameters:
        Name  Flags
      unsafe  
      obj     
      offset  

  public static boolean unsafeGetBoolean(sun.misc.Unsafe, java.lang.Object, long);
    descriptor: (Lsun/misc/Unsafe;Ljava/lang/Object;J)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // sun.misc.Unsafe unsafe
        start local 1 // java.lang.Object obj
        start local 2 // long offset
         0: .line 175
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
            ifeq 1
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getBooleanVolatile:(Ljava/lang/Object;J)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // long offset
        end local 1 // java.lang.Object obj
        end local 0 // sun.misc.Unsafe unsafe
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  unsafe  Lsun/misc/Unsafe;
            0    2     1     obj  Ljava/lang/Object;
            0    2     2  offset  J
    MethodParameters:
        Name  Flags
      unsafe  
      obj     
      offset  

  public static int unsafeGetByte(sun.misc.Unsafe, java.lang.Object, long);
    descriptor: (Lsun/misc/Unsafe;Ljava/lang/Object;J)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // sun.misc.Unsafe unsafe
        start local 1 // java.lang.Object obj
        start local 2 // long offset
         0: .line 180
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getByte:(Ljava/lang/Object;J)B
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getByteVolatile:(Ljava/lang/Object;J)B
            iadd
            ireturn
        end local 2 // long offset
        end local 1 // java.lang.Object obj
        end local 0 // sun.misc.Unsafe unsafe
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  unsafe  Lsun/misc/Unsafe;
            0    1     1     obj  Ljava/lang/Object;
            0    1     2  offset  J
    MethodParameters:
        Name  Flags
      unsafe  
      obj     
      offset  

  public static int unsafeGetShort(sun.misc.Unsafe, java.lang.Object, long);
    descriptor: (Lsun/misc/Unsafe;Ljava/lang/Object;J)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // sun.misc.Unsafe unsafe
        start local 1 // java.lang.Object obj
        start local 2 // long offset
         0: .line 185
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getShort:(Ljava/lang/Object;J)S
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getShortVolatile:(Ljava/lang/Object;J)S
            iadd
            ireturn
        end local 2 // long offset
        end local 1 // java.lang.Object obj
        end local 0 // sun.misc.Unsafe unsafe
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  unsafe  Lsun/misc/Unsafe;
            0    1     1     obj  Ljava/lang/Object;
            0    1     2  offset  J
    MethodParameters:
        Name  Flags
      unsafe  
      obj     
      offset  

  public static int unsafeGetChar(sun.misc.Unsafe, java.lang.Object, long);
    descriptor: (Lsun/misc/Unsafe;Ljava/lang/Object;J)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // sun.misc.Unsafe unsafe
        start local 1 // java.lang.Object obj
        start local 2 // long offset
         0: .line 190
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getChar:(Ljava/lang/Object;J)C
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getCharVolatile:(Ljava/lang/Object;J)C
            iadd
            ireturn
        end local 2 // long offset
        end local 1 // java.lang.Object obj
        end local 0 // sun.misc.Unsafe unsafe
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  unsafe  Lsun/misc/Unsafe;
            0    1     1     obj  Ljava/lang/Object;
            0    1     2  offset  J
    MethodParameters:
        Name  Flags
      unsafe  
      obj     
      offset  

  public static int unsafeGetInt(sun.misc.Unsafe, java.lang.Object, long);
    descriptor: (Lsun/misc/Unsafe;Ljava/lang/Object;J)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // sun.misc.Unsafe unsafe
        start local 1 // java.lang.Object obj
        start local 2 // long offset
         0: .line 195
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getIntVolatile:(Ljava/lang/Object;J)I
            iadd
            ireturn
        end local 2 // long offset
        end local 1 // java.lang.Object obj
        end local 0 // sun.misc.Unsafe unsafe
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  unsafe  Lsun/misc/Unsafe;
            0    1     1     obj  Ljava/lang/Object;
            0    1     2  offset  J
    MethodParameters:
        Name  Flags
      unsafe  
      obj     
      offset  

  public static long unsafeGetLong(sun.misc.Unsafe, java.lang.Object, long);
    descriptor: (Lsun/misc/Unsafe;Ljava/lang/Object;J)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // sun.misc.Unsafe unsafe
        start local 1 // java.lang.Object obj
        start local 2 // long offset
         0: .line 200
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getLong:(Ljava/lang/Object;J)J
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getLongVolatile:(Ljava/lang/Object;J)J
            ladd
            lreturn
        end local 2 // long offset
        end local 1 // java.lang.Object obj
        end local 0 // sun.misc.Unsafe unsafe
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  unsafe  Lsun/misc/Unsafe;
            0    1     1     obj  Ljava/lang/Object;
            0    1     2  offset  J
    MethodParameters:
        Name  Flags
      unsafe  
      obj     
      offset  

  public static float unsafeGetFloat(sun.misc.Unsafe, java.lang.Object, long);
    descriptor: (Lsun/misc/Unsafe;Ljava/lang/Object;J)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // sun.misc.Unsafe unsafe
        start local 1 // java.lang.Object obj
        start local 2 // long offset
         0: .line 205
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getFloat:(Ljava/lang/Object;J)F
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getFloatVolatile:(Ljava/lang/Object;J)F
            fadd
            freturn
        end local 2 // long offset
        end local 1 // java.lang.Object obj
        end local 0 // sun.misc.Unsafe unsafe
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  unsafe  Lsun/misc/Unsafe;
            0    1     1     obj  Ljava/lang/Object;
            0    1     2  offset  J
    MethodParameters:
        Name  Flags
      unsafe  
      obj     
      offset  

  public static double unsafeGetDouble(sun.misc.Unsafe, java.lang.Object, long);
    descriptor: (Lsun/misc/Unsafe;Ljava/lang/Object;J)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // sun.misc.Unsafe unsafe
        start local 1 // java.lang.Object obj
        start local 2 // long offset
         0: .line 210
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getDouble:(Ljava/lang/Object;J)D
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getDoubleVolatile:(Ljava/lang/Object;J)D
            dadd
            dreturn
        end local 2 // long offset
        end local 1 // java.lang.Object obj
        end local 0 // sun.misc.Unsafe unsafe
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  unsafe  Lsun/misc/Unsafe;
            0    1     1     obj  Ljava/lang/Object;
            0    1     2  offset  J
    MethodParameters:
        Name  Flags
      unsafe  
      obj     
      offset  

  public static boolean unsafeGetObject(sun.misc.Unsafe, java.lang.Object, long);
    descriptor: (Lsun/misc/Unsafe;Ljava/lang/Object;J)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // sun.misc.Unsafe unsafe
        start local 1 // java.lang.Object obj
        start local 2 // long offset
         0: .line 215
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getObject:(Ljava/lang/Object;J)Ljava/lang/Object;
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getObjectVolatile:(Ljava/lang/Object;J)Ljava/lang/Object;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // long offset
        end local 1 // java.lang.Object obj
        end local 0 // sun.misc.Unsafe unsafe
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  unsafe  Lsun/misc/Unsafe;
            0    2     1     obj  Ljava/lang/Object;
            0    2     2  offset  J
    MethodParameters:
        Name  Flags
      unsafe  
      obj     
      offset  

  public static int unsafePutBoolean(sun.misc.Unsafe, java.lang.Object, long, boolean);
    descriptor: (Lsun/misc/Unsafe;Ljava/lang/Object;JZ)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // sun.misc.Unsafe unsafe
        start local 1 // java.lang.Object obj
        start local 2 // long offset
        start local 4 // boolean value
         0: .line 220
            iconst_1
            istore 5 /* res */
        start local 5 // int res
         1: .line 221
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            iload 4 /* value */
            invokevirtual sun.misc.Unsafe.putBoolean:(Ljava/lang/Object;JZ)V
         2: .line 222
            iload 5 /* res */
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
            ifeq 3
            iconst_3
            goto 4
      StackMap locals: sun.misc.Unsafe java.lang.Object long int int
      StackMap stack: int
         3: iconst_5
      StackMap locals: sun.misc.Unsafe java.lang.Object long int int
      StackMap stack: int int
         4: iadd
            istore 5 /* res */
         5: .line 223
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            iload 4 /* value */
            invokevirtual sun.misc.Unsafe.putBooleanVolatile:(Ljava/lang/Object;JZ)V
         6: .line 224
            iload 5 /* res */
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
            ifeq 7
            bipush 7
            goto 8
      StackMap locals:
      StackMap stack: int
         7: bipush 11
      StackMap locals: sun.misc.Unsafe java.lang.Object long int int
      StackMap stack: int int
         8: iadd
            istore 5 /* res */
         9: .line 225
            iload 5 /* res */
            ireturn
        end local 5 // int res
        end local 4 // boolean value
        end local 2 // long offset
        end local 1 // java.lang.Object obj
        end local 0 // sun.misc.Unsafe unsafe
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0  unsafe  Lsun/misc/Unsafe;
            0   10     1     obj  Ljava/lang/Object;
            0   10     2  offset  J
            0   10     4   value  Z
            1   10     5     res  I
    MethodParameters:
        Name  Flags
      unsafe  
      obj     
      offset  
      value   

  public static int unsafePutByte(sun.misc.Unsafe, java.lang.Object, long, byte);
    descriptor: (Lsun/misc/Unsafe;Ljava/lang/Object;JB)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // sun.misc.Unsafe unsafe
        start local 1 // java.lang.Object obj
        start local 2 // long offset
        start local 4 // byte value
         0: .line 230
            iconst_1
            istore 5 /* res */
        start local 5 // int res
         1: .line 231
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            iload 4 /* value */
            iconst_1
            iadd
            i2b
            invokevirtual sun.misc.Unsafe.putByte:(Ljava/lang/Object;JB)V
         2: .line 232
            iload 5 /* res */
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getByte:(Ljava/lang/Object;J)B
            iadd
            istore 5 /* res */
         3: .line 233
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            iload 4 /* value */
            iconst_2
            iadd
            i2b
            invokevirtual sun.misc.Unsafe.putByteVolatile:(Ljava/lang/Object;JB)V
         4: .line 234
            iload 5 /* res */
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getByte:(Ljava/lang/Object;J)B
            iadd
            istore 5 /* res */
         5: .line 235
            iload 5 /* res */
            ireturn
        end local 5 // int res
        end local 4 // byte value
        end local 2 // long offset
        end local 1 // java.lang.Object obj
        end local 0 // sun.misc.Unsafe unsafe
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0  unsafe  Lsun/misc/Unsafe;
            0    6     1     obj  Ljava/lang/Object;
            0    6     2  offset  J
            0    6     4   value  B
            1    6     5     res  I
    MethodParameters:
        Name  Flags
      unsafe  
      obj     
      offset  
      value   

  public static int unsafePutShort(sun.misc.Unsafe, java.lang.Object, long, short);
    descriptor: (Lsun/misc/Unsafe;Ljava/lang/Object;JS)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // sun.misc.Unsafe unsafe
        start local 1 // java.lang.Object obj
        start local 2 // long offset
        start local 4 // short value
         0: .line 240
            iconst_1
            istore 5 /* res */
        start local 5 // int res
         1: .line 241
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            iload 4 /* value */
            iconst_1
            iadd
            i2s
            invokevirtual sun.misc.Unsafe.putShort:(Ljava/lang/Object;JS)V
         2: .line 242
            iload 5 /* res */
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getShort:(Ljava/lang/Object;J)S
            iadd
            istore 5 /* res */
         3: .line 243
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            iload 4 /* value */
            iconst_2
            iadd
            i2s
            invokevirtual sun.misc.Unsafe.putShortVolatile:(Ljava/lang/Object;JS)V
         4: .line 244
            iload 5 /* res */
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getShort:(Ljava/lang/Object;J)S
            iadd
            istore 5 /* res */
         5: .line 245
            iload 5 /* res */
            ireturn
        end local 5 // int res
        end local 4 // short value
        end local 2 // long offset
        end local 1 // java.lang.Object obj
        end local 0 // sun.misc.Unsafe unsafe
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0  unsafe  Lsun/misc/Unsafe;
            0    6     1     obj  Ljava/lang/Object;
            0    6     2  offset  J
            0    6     4   value  S
            1    6     5     res  I
    MethodParameters:
        Name  Flags
      unsafe  
      obj     
      offset  
      value   

  public static int unsafePutChar(sun.misc.Unsafe, java.lang.Object, long, char);
    descriptor: (Lsun/misc/Unsafe;Ljava/lang/Object;JC)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // sun.misc.Unsafe unsafe
        start local 1 // java.lang.Object obj
        start local 2 // long offset
        start local 4 // char value
         0: .line 250
            iconst_1
            istore 5 /* res */
        start local 5 // int res
         1: .line 251
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            iload 4 /* value */
            iconst_1
            iadd
            i2c
            invokevirtual sun.misc.Unsafe.putChar:(Ljava/lang/Object;JC)V
         2: .line 252
            iload 5 /* res */
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getChar:(Ljava/lang/Object;J)C
            iadd
            istore 5 /* res */
         3: .line 253
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            iload 4 /* value */
            iconst_2
            iadd
            i2c
            invokevirtual sun.misc.Unsafe.putCharVolatile:(Ljava/lang/Object;JC)V
         4: .line 254
            iload 5 /* res */
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getChar:(Ljava/lang/Object;J)C
            iadd
            istore 5 /* res */
         5: .line 255
            iload 5 /* res */
            ireturn
        end local 5 // int res
        end local 4 // char value
        end local 2 // long offset
        end local 1 // java.lang.Object obj
        end local 0 // sun.misc.Unsafe unsafe
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0  unsafe  Lsun/misc/Unsafe;
            0    6     1     obj  Ljava/lang/Object;
            0    6     2  offset  J
            0    6     4   value  C
            1    6     5     res  I
    MethodParameters:
        Name  Flags
      unsafe  
      obj     
      offset  
      value   

  public static int unsafePutInt(sun.misc.Unsafe, java.lang.Object, long, int);
    descriptor: (Lsun/misc/Unsafe;Ljava/lang/Object;JI)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // sun.misc.Unsafe unsafe
        start local 1 // java.lang.Object obj
        start local 2 // long offset
        start local 4 // int value
         0: .line 260
            iconst_1
            istore 5 /* res */
        start local 5 // int res
         1: .line 261
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            iload 4 /* value */
            invokevirtual sun.misc.Unsafe.putInt:(Ljava/lang/Object;JI)V
         2: .line 262
            iload 5 /* res */
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
            iadd
            istore 5 /* res */
         3: .line 263
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            iload 4 /* value */
            iconst_1
            iadd
            invokevirtual sun.misc.Unsafe.putIntVolatile:(Ljava/lang/Object;JI)V
         4: .line 264
            iload 5 /* res */
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
            iadd
            istore 5 /* res */
         5: .line 265
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            iload 4 /* value */
            iconst_2
            iadd
            invokevirtual sun.misc.Unsafe.putOrderedInt:(Ljava/lang/Object;JI)V
         6: .line 266
            iload 5 /* res */
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
            iadd
            istore 5 /* res */
         7: .line 267
            iload 5 /* res */
            ireturn
        end local 5 // int res
        end local 4 // int value
        end local 2 // long offset
        end local 1 // java.lang.Object obj
        end local 0 // sun.misc.Unsafe unsafe
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0  unsafe  Lsun/misc/Unsafe;
            0    8     1     obj  Ljava/lang/Object;
            0    8     2  offset  J
            0    8     4   value  I
            1    8     5     res  I
    MethodParameters:
        Name  Flags
      unsafe  
      obj     
      offset  
      value   

  public static long unsafePutLong(sun.misc.Unsafe, java.lang.Object, long, long);
    descriptor: (Lsun/misc/Unsafe;Ljava/lang/Object;JJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=8, args_size=4
        start local 0 // sun.misc.Unsafe unsafe
        start local 1 // java.lang.Object obj
        start local 2 // long offset
        start local 4 // long value
         0: .line 272
            lconst_1
            lstore 6 /* res */
        start local 6 // long res
         1: .line 273
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            lload 4 /* value */
            lconst_1
            ladd
            invokevirtual sun.misc.Unsafe.putLong:(Ljava/lang/Object;JJ)V
         2: .line 274
            lload 6 /* res */
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getLong:(Ljava/lang/Object;J)J
            ladd
            lstore 6 /* res */
         3: .line 275
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            lload 4 /* value */
            ldc 2
            ladd
            invokevirtual sun.misc.Unsafe.putLongVolatile:(Ljava/lang/Object;JJ)V
         4: .line 276
            lload 6 /* res */
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getLong:(Ljava/lang/Object;J)J
            ladd
            lstore 6 /* res */
         5: .line 277
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            lload 4 /* value */
            ldc 3
            ladd
            invokevirtual sun.misc.Unsafe.putOrderedLong:(Ljava/lang/Object;JJ)V
         6: .line 278
            lload 6 /* res */
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getLong:(Ljava/lang/Object;J)J
            ladd
            lstore 6 /* res */
         7: .line 279
            lload 6 /* res */
            lreturn
        end local 6 // long res
        end local 4 // long value
        end local 2 // long offset
        end local 1 // java.lang.Object obj
        end local 0 // sun.misc.Unsafe unsafe
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0  unsafe  Lsun/misc/Unsafe;
            0    8     1     obj  Ljava/lang/Object;
            0    8     2  offset  J
            0    8     4   value  J
            1    8     6     res  J
    MethodParameters:
        Name  Flags
      unsafe  
      obj     
      offset  
      value   

  public static float unsafePutFloat(sun.misc.Unsafe, java.lang.Object, long, float);
    descriptor: (Lsun/misc/Unsafe;Ljava/lang/Object;JF)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // sun.misc.Unsafe unsafe
        start local 1 // java.lang.Object obj
        start local 2 // long offset
        start local 4 // float value
         0: .line 284
            fconst_1
            fstore 5 /* res */
        start local 5 // float res
         1: .line 285
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            fload 4 /* value */
            fconst_1
            fadd
            invokevirtual sun.misc.Unsafe.putFloat:(Ljava/lang/Object;JF)V
         2: .line 286
            fload 5 /* res */
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getFloat:(Ljava/lang/Object;J)F
            fadd
            fstore 5 /* res */
         3: .line 287
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            fload 4 /* value */
            fconst_2
            fadd
            invokevirtual sun.misc.Unsafe.putFloatVolatile:(Ljava/lang/Object;JF)V
         4: .line 288
            fload 5 /* res */
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getFloat:(Ljava/lang/Object;J)F
            fadd
            fstore 5 /* res */
         5: .line 289
            fload 5 /* res */
            freturn
        end local 5 // float res
        end local 4 // float value
        end local 2 // long offset
        end local 1 // java.lang.Object obj
        end local 0 // sun.misc.Unsafe unsafe
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0  unsafe  Lsun/misc/Unsafe;
            0    6     1     obj  Ljava/lang/Object;
            0    6     2  offset  J
            0    6     4   value  F
            1    6     5     res  F
    MethodParameters:
        Name  Flags
      unsafe  
      obj     
      offset  
      value   

  public static double unsafePutDouble(sun.misc.Unsafe, java.lang.Object, long, double);
    descriptor: (Lsun/misc/Unsafe;Ljava/lang/Object;JD)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // sun.misc.Unsafe unsafe
        start local 1 // java.lang.Object obj
        start local 2 // long offset
        start local 4 // double value
         0: .line 294
            dconst_1
            dstore 6 /* res */
        start local 6 // double res
         1: .line 295
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            dload 4 /* value */
            invokevirtual sun.misc.Unsafe.putDouble:(Ljava/lang/Object;JD)V
         2: .line 296
            dload 6 /* res */
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getDouble:(Ljava/lang/Object;J)D
            dadd
            dstore 6 /* res */
         3: .line 297
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            dload 4 /* value */
            invokevirtual sun.misc.Unsafe.putDoubleVolatile:(Ljava/lang/Object;JD)V
         4: .line 298
            dload 6 /* res */
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getDouble:(Ljava/lang/Object;J)D
            dadd
            dstore 6 /* res */
         5: .line 299
            dload 6 /* res */
            dreturn
        end local 6 // double res
        end local 4 // double value
        end local 2 // long offset
        end local 1 // java.lang.Object obj
        end local 0 // sun.misc.Unsafe unsafe
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0  unsafe  Lsun/misc/Unsafe;
            0    6     1     obj  Ljava/lang/Object;
            0    6     2  offset  J
            0    6     4   value  D
            1    6     6     res  D
    MethodParameters:
        Name  Flags
      unsafe  
      obj     
      offset  
      value   

  public static java.lang.Object[] unsafePutObject(sun.misc.Unsafe, java.lang.Object, long, java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Lsun/misc/Unsafe;Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=6
        start local 0 // sun.misc.Unsafe unsafe
        start local 1 // java.lang.Object obj
        start local 2 // long offset
        start local 4 // java.lang.Object value1
        start local 5 // java.lang.Object value2
        start local 6 // java.lang.Object value3
         0: .line 304
            iconst_3
            anewarray java.lang.Object
            astore 7 /* res */
        start local 7 // java.lang.Object[] res
         1: .line 305
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            aload 4 /* value1 */
            invokevirtual sun.misc.Unsafe.putObject:(Ljava/lang/Object;JLjava/lang/Object;)V
         2: .line 306
            aload 7 /* res */
            iconst_0
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getObject:(Ljava/lang/Object;J)Ljava/lang/Object;
            aastore
         3: .line 307
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            aload 5 /* value2 */
            invokevirtual sun.misc.Unsafe.putObjectVolatile:(Ljava/lang/Object;JLjava/lang/Object;)V
         4: .line 308
            aload 7 /* res */
            iconst_1
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getObject:(Ljava/lang/Object;J)Ljava/lang/Object;
            aastore
         5: .line 309
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            aload 6 /* value3 */
            invokevirtual sun.misc.Unsafe.putOrderedObject:(Ljava/lang/Object;JLjava/lang/Object;)V
         6: .line 310
            aload 7 /* res */
            iconst_2
            aload 0 /* unsafe */
            aload 1 /* obj */
            lload 2 /* offset */
            invokevirtual sun.misc.Unsafe.getObject:(Ljava/lang/Object;J)Ljava/lang/Object;
            aastore
         7: .line 311
            aload 7 /* res */
            areturn
        end local 7 // java.lang.Object[] res
        end local 6 // java.lang.Object value3
        end local 5 // java.lang.Object value2
        end local 4 // java.lang.Object value1
        end local 2 // long offset
        end local 1 // java.lang.Object obj
        end local 0 // sun.misc.Unsafe unsafe
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0  unsafe  Lsun/misc/Unsafe;
            0    8     1     obj  Ljava/lang/Object;
            0    8     2  offset  J
            0    8     4  value1  Ljava/lang/Object;
            0    8     5  value2  Ljava/lang/Object;
            0    8     6  value3  Ljava/lang/Object;
            1    8     7     res  [Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      unsafe  
      obj     
      offset  
      value1  
      value2  
      value3  

  public static long unsafeGetAddress(sun.misc.Unsafe, long);
    descriptor: (Lsun/misc/Unsafe;J)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.misc.Unsafe unsafe
        start local 1 // long offset
         0: .line 316
            aload 0 /* unsafe */
            lload 1 /* offset */
            invokevirtual sun.misc.Unsafe.getAddress:(J)J
            lreturn
        end local 1 // long offset
        end local 0 // sun.misc.Unsafe unsafe
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  unsafe  Lsun/misc/Unsafe;
            0    1     1  offset  J
    MethodParameters:
        Name  Flags
      unsafe  
      offset  

  public static long unsafePutAddress(sun.misc.Unsafe, long, long);
    descriptor: (Lsun/misc/Unsafe;JJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // sun.misc.Unsafe unsafe
        start local 1 // long offset
        start local 3 // long value
         0: .line 321
            lconst_1
            lstore 5 /* res */
        start local 5 // long res
         1: .line 322
            aload 0 /* unsafe */
            lload 1 /* offset */
            lload 3 /* value */
            invokevirtual sun.misc.Unsafe.putAddress:(JJ)V
         2: .line 323
            lload 5 /* res */
            aload 0 /* unsafe */
            lload 1 /* offset */
            invokevirtual sun.misc.Unsafe.getAddress:(J)J
            ladd
            lstore 5 /* res */
         3: .line 324
            lload 5 /* res */
            lreturn
        end local 5 // long res
        end local 3 // long value
        end local 1 // long offset
        end local 0 // sun.misc.Unsafe unsafe
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  unsafe  Lsun/misc/Unsafe;
            0    4     1  offset  J
            0    4     3   value  J
            1    4     5     res  J
    MethodParameters:
        Name  Flags
      unsafe  
      offset  
      value   

  public static double unsafeDirectMemoryRead(sun.misc.Unsafe, long);
    descriptor: (Lsun/misc/Unsafe;J)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // sun.misc.Unsafe unsafe
        start local 1 // long address
         0: .line 331
            aload 0 /* unsafe */
            lload 1 /* address */
            invokevirtual sun.misc.Unsafe.getByte:(J)B
         1: .line 332
            aload 0 /* unsafe */
            lload 1 /* address */
            ldc 8
            ladd
            invokevirtual sun.misc.Unsafe.getShort:(J)S
         2: .line 331
            iadd
         3: .line 333
            aload 0 /* unsafe */
            lload 1 /* address */
            ldc 16
            ladd
            invokevirtual sun.misc.Unsafe.getChar:(J)C
         4: .line 331
            iadd
         5: .line 334
            aload 0 /* unsafe */
            lload 1 /* address */
            ldc 24
            ladd
            invokevirtual sun.misc.Unsafe.getInt:(J)I
         6: .line 331
            iadd
            i2l
         7: .line 335
            aload 0 /* unsafe */
            lload 1 /* address */
            ldc 32
            ladd
            invokevirtual sun.misc.Unsafe.getLong:(J)J
         8: .line 331
            ladd
            l2f
         9: .line 336
            aload 0 /* unsafe */
            lload 1 /* address */
            ldc 40
            ladd
            invokevirtual sun.misc.Unsafe.getFloat:(J)F
        10: .line 331
            fadd
            f2d
        11: .line 337
            aload 0 /* unsafe */
            lload 1 /* address */
            ldc 48
            ladd
            invokevirtual sun.misc.Unsafe.getDouble:(J)D
        12: .line 331
            dadd
            dreturn
        end local 1 // long address
        end local 0 // sun.misc.Unsafe unsafe
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0   unsafe  Lsun/misc/Unsafe;
            0   13     1  address  J
    MethodParameters:
         Name  Flags
      unsafe   
      address  

  public static double unsafeDirectMemoryWrite(sun.misc.Unsafe, long, long);
    descriptor: (Lsun/misc/Unsafe;JJ)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // sun.misc.Unsafe unsafe
        start local 1 // long address
        start local 3 // long value
         0: .line 344
            aload 0 /* unsafe */
            lload 1 /* address */
            lconst_0
            ladd
            lload 3 /* value */
            l2i
            i2b
            invokevirtual sun.misc.Unsafe.putByte:(JB)V
         1: .line 345
            aload 0 /* unsafe */
            lload 1 /* address */
            ldc 8
            ladd
            lload 3 /* value */
            l2i
            i2s
            invokevirtual sun.misc.Unsafe.putShort:(JS)V
         2: .line 346
            aload 0 /* unsafe */
            lload 1 /* address */
            ldc 16
            ladd
            lload 3 /* value */
            l2i
            i2c
            invokevirtual sun.misc.Unsafe.putChar:(JC)V
         3: .line 347
            aload 0 /* unsafe */
            lload 1 /* address */
            ldc 24
            ladd
            lload 3 /* value */
            l2i
            invokevirtual sun.misc.Unsafe.putInt:(JI)V
         4: .line 348
            aload 0 /* unsafe */
            lload 1 /* address */
            ldc 32
            ladd
            lload 3 /* value */
            invokevirtual sun.misc.Unsafe.putLong:(JJ)V
         5: .line 349
            aload 0 /* unsafe */
            lload 1 /* address */
            ldc 40
            ladd
            lload 3 /* value */
            l2f
            invokevirtual sun.misc.Unsafe.putFloat:(JF)V
         6: .line 350
            aload 0 /* unsafe */
            lload 1 /* address */
            ldc 48
            ladd
            lload 3 /* value */
            l2d
            invokevirtual sun.misc.Unsafe.putDouble:(JD)V
         7: .line 351
            aload 0 /* unsafe */
            lload 1 /* address */
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.unsafeDirectMemoryRead:(Lsun/misc/Unsafe;J)D
            dreturn
        end local 3 // long value
        end local 1 // long address
        end local 0 // sun.misc.Unsafe unsafe
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0   unsafe  Lsun/misc/Unsafe;
            0    8     1  address  J
            0    8     3    value  J
    MethodParameters:
         Name  Flags
      unsafe   
      address  
      value    

  public static java.lang.String unsafeAllocateInstance(sun.misc.Unsafe);
    descriptor: (Lsun/misc/Unsafe;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.misc.Unsafe unsafe
         0: .line 373
            aload 0 /* unsafe */
            ldc Lorg/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest$MyObject;
            invokevirtual sun.misc.Unsafe.allocateInstance:(Ljava/lang/Class;)Ljava/lang/Object;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
        end local 0 // sun.misc.Unsafe unsafe
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  unsafe  Lsun/misc/Unsafe;
    Exceptions:
      throws java.lang.InstantiationException
    MethodParameters:
        Name  Flags
      unsafe  

  public void testAllocateInstance();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest this
         0: .line 378
            getstatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.UNSAFE:Lsun/misc/Unsafe;
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.unsafeAllocateInstance:(Lsun/misc/Unsafe;)Ljava/lang/String;
            pop
         1: .line 379
            aload 0 /* this */
            ldc "unsafeAllocateInstance"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            getstatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.UNSAFE:Lsun/misc/Unsafe;
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         2: .line 380
            aload 0 /* this */
            ldc "unsafeAllocateInstance"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aconst_null
            aastore
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         3: .line 381
            return
        end local 0 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest;
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testGetAndAddInt();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=9, args_size=1
        start local 0 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest this
         0: .line 385
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            astore 1 /* f1 */
        start local 1 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo f1
         1: .line 386
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            astore 2 /* f2 */
        start local 2 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo f2
         2: .line 387
            aload 1 /* f1 */
            ldc "i"
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.off:(Ljava/lang/Object;Ljava/lang/String;)J
            lstore 3 /* offset */
        start local 3 // long offset
         3: .line 388
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_2
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            astore 5 /* parameterTypes */
        start local 5 // java.lang.Class[] parameterTypes
         4: .line 389
            ldc 2147483637
            istore 6 /* delta */
        start local 6 // int delta
         5: goto 10
         6: .line 390
      StackMap locals: org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo long java.lang.Class[] int
      StackMap stack:
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* f1 */
            aastore
            dup
            iconst_1
            lload 3 /* offset */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
            iload 6 /* delta */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            astore 7 /* args1 */
        start local 7 // java.lang.Object[] args1
         7: .line 391
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* f2 */
            aastore
            dup
            iconst_1
            lload 3 /* offset */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
            iload 6 /* delta */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            astore 8 /* args2 */
        start local 8 // java.lang.Object[] args2
         8: .line 392
            aload 0 /* this */
            ldc "getAndAddInt"
            ldc Lsun/misc/Unsafe;
            ldc "getAndAddInt"
            aload 5 /* parameterTypes */
            getstatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.UNSAFE:Lsun/misc/Unsafe;
            aload 7 /* args1 */
            aload 8 /* args2 */
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testSubstitution:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;[Ljava/lang/Object;)V
        end local 8 // java.lang.Object[] args2
        end local 7 // java.lang.Object[] args1
         9: .line 389
            iinc 6 /* delta */ 1
      StackMap locals:
      StackMap stack:
        10: iload 6 /* delta */
            ldc 2147483647
            if_icmplt 6
        end local 6 // int delta
        11: .line 394
            return
        end local 5 // java.lang.Class[] parameterTypes
        end local 3 // long offset
        end local 2 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo f2
        end local 1 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo f1
        end local 0 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0            this  Lorg/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest;
            1   12     1              f1  Lorg/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest$Foo;
            2   12     2              f2  Lorg/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest$Foo;
            3   12     3          offset  J
            4   12     5  parameterTypes  [Ljava/lang/Class;
            5   11     6           delta  I
            7    9     7           args1  [Ljava/lang/Object;
            8    9     8           args2  [Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public static int getAndAddInt(java.lang.Object, long, int);
    descriptor: (Ljava/lang/Object;JI)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.Object obj
        start local 1 // long offset
        start local 3 // int delta
         0: .line 397
            getstatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.UNSAFE:Lsun/misc/Unsafe;
            aload 0 /* obj */
            lload 1 /* offset */
            iload 3 /* delta */
            invokevirtual sun.misc.Unsafe.getAndAddInt:(Ljava/lang/Object;JI)I
            ireturn
        end local 3 // int delta
        end local 1 // long offset
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0     obj  Ljava/lang/Object;
            0    1     1  offset  J
            0    1     3   delta  I
    MethodParameters:
        Name  Flags
      obj     
      offset  
      delta   

  public void testGetAndAddLong();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=10, args_size=1
        start local 0 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest this
         0: .line 402
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            astore 1 /* f1 */
        start local 1 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo f1
         1: .line 403
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            astore 2 /* f2 */
        start local 2 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo f2
         2: .line 404
            aload 1 /* f1 */
            ldc "l"
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.off:(Ljava/lang/Object;Ljava/lang/String;)J
            lstore 3 /* offset */
        start local 3 // long offset
         3: .line 405
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_2
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            aastore
            astore 5 /* parameterTypes */
        start local 5 // java.lang.Class[] parameterTypes
         4: .line 406
            ldc 9223372036854775797
            lstore 6 /* delta */
        start local 6 // long delta
         5: goto 10
         6: .line 407
      StackMap locals: org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo long java.lang.Class[] long
      StackMap stack:
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* f1 */
            aastore
            dup
            iconst_1
            lload 3 /* offset */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
            lload 6 /* delta */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            astore 8 /* args1 */
        start local 8 // java.lang.Object[] args1
         7: .line 408
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* f2 */
            aastore
            dup
            iconst_1
            lload 3 /* offset */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
            lload 6 /* delta */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            astore 9 /* args2 */
        start local 9 // java.lang.Object[] args2
         8: .line 409
            aload 0 /* this */
            ldc "getAndAddLong"
            ldc Lsun/misc/Unsafe;
            ldc "getAndAddLong"
            aload 5 /* parameterTypes */
            getstatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.UNSAFE:Lsun/misc/Unsafe;
            aload 8 /* args1 */
            aload 9 /* args2 */
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testSubstitution:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;[Ljava/lang/Object;)V
        end local 9 // java.lang.Object[] args2
        end local 8 // java.lang.Object[] args1
         9: .line 406
            lload 6 /* delta */
            lconst_1
            ladd
            lstore 6 /* delta */
      StackMap locals:
      StackMap stack:
        10: lload 6 /* delta */
            ldc 9223372036854775807
            lcmp
            iflt 6
        end local 6 // long delta
        11: .line 411
            return
        end local 5 // java.lang.Class[] parameterTypes
        end local 3 // long offset
        end local 2 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo f2
        end local 1 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo f1
        end local 0 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0            this  Lorg/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest;
            1   12     1              f1  Lorg/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest$Foo;
            2   12     2              f2  Lorg/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest$Foo;
            3   12     3          offset  J
            4   12     5  parameterTypes  [Ljava/lang/Class;
            5   11     6           delta  J
            7    9     8           args1  [Ljava/lang/Object;
            8    9     9           args2  [Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public static long getAndAddLong(java.lang.Object, long, long);
    descriptor: (Ljava/lang/Object;JJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // java.lang.Object obj
        start local 1 // long offset
        start local 3 // long delta
         0: .line 414
            getstatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.UNSAFE:Lsun/misc/Unsafe;
            aload 0 /* obj */
            lload 1 /* offset */
            lload 3 /* delta */
            invokevirtual sun.misc.Unsafe.getAndAddLong:(Ljava/lang/Object;JJ)J
            lreturn
        end local 3 // long delta
        end local 1 // long offset
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0     obj  Ljava/lang/Object;
            0    1     1  offset  J
            0    1     3   delta  J
    MethodParameters:
        Name  Flags
      obj     
      offset  
      delta   

  public void testGetAndSetInt();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=9, args_size=1
        start local 0 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest this
         0: .line 419
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            astore 1 /* f1 */
        start local 1 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo f1
         1: .line 420
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            astore 2 /* f2 */
        start local 2 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo f2
         2: .line 421
            aload 1 /* f1 */
            ldc "i"
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.off:(Ljava/lang/Object;Ljava/lang/String;)J
            lstore 3 /* offset */
        start local 3 // long offset
         3: .line 422
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_2
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            astore 5 /* parameterTypes */
        start local 5 // java.lang.Class[] parameterTypes
         4: .line 423
            ldc 2147483637
            istore 6 /* delta */
        start local 6 // int delta
         5: goto 10
         6: .line 424
      StackMap locals: org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo long java.lang.Class[] int
      StackMap stack:
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* f1 */
            aastore
            dup
            iconst_1
            lload 3 /* offset */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
            iload 6 /* delta */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            astore 7 /* args1 */
        start local 7 // java.lang.Object[] args1
         7: .line 425
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* f2 */
            aastore
            dup
            iconst_1
            lload 3 /* offset */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
            iload 6 /* delta */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            astore 8 /* args2 */
        start local 8 // java.lang.Object[] args2
         8: .line 426
            aload 0 /* this */
            ldc "getAndSetInt"
            ldc Lsun/misc/Unsafe;
            ldc "getAndSetInt"
            aload 5 /* parameterTypes */
            getstatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.UNSAFE:Lsun/misc/Unsafe;
            aload 7 /* args1 */
            aload 8 /* args2 */
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testSubstitution:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;[Ljava/lang/Object;)V
        end local 8 // java.lang.Object[] args2
        end local 7 // java.lang.Object[] args1
         9: .line 423
            iinc 6 /* delta */ 1
      StackMap locals:
      StackMap stack:
        10: iload 6 /* delta */
            ldc 2147483647
            if_icmplt 6
        end local 6 // int delta
        11: .line 428
            return
        end local 5 // java.lang.Class[] parameterTypes
        end local 3 // long offset
        end local 2 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo f2
        end local 1 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo f1
        end local 0 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0            this  Lorg/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest;
            1   12     1              f1  Lorg/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest$Foo;
            2   12     2              f2  Lorg/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest$Foo;
            3   12     3          offset  J
            4   12     5  parameterTypes  [Ljava/lang/Class;
            5   11     6           delta  I
            7    9     7           args1  [Ljava/lang/Object;
            8    9     8           args2  [Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public static int getAndSetInt(java.lang.Object, long, int);
    descriptor: (Ljava/lang/Object;JI)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.Object obj
        start local 1 // long offset
        start local 3 // int newValue
         0: .line 431
            getstatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.UNSAFE:Lsun/misc/Unsafe;
            aload 0 /* obj */
            lload 1 /* offset */
            iload 3 /* newValue */
            invokevirtual sun.misc.Unsafe.getAndSetInt:(Ljava/lang/Object;JI)I
            ireturn
        end local 3 // int newValue
        end local 1 // long offset
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0       obj  Ljava/lang/Object;
            0    1     1    offset  J
            0    1     3  newValue  I
    MethodParameters:
          Name  Flags
      obj       
      offset    
      newValue  

  public void testGetAndSetLong();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=10, args_size=1
        start local 0 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest this
         0: .line 436
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            astore 1 /* f1 */
        start local 1 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo f1
         1: .line 437
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            astore 2 /* f2 */
        start local 2 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo f2
         2: .line 438
            aload 1 /* f1 */
            ldc "l"
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.off:(Ljava/lang/Object;Ljava/lang/String;)J
            lstore 3 /* offset */
        start local 3 // long offset
         3: .line 439
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_2
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            aastore
            astore 5 /* parameterTypes */
        start local 5 // java.lang.Class[] parameterTypes
         4: .line 440
            ldc 9223372036854775797
            lstore 6 /* newValue */
        start local 6 // long newValue
         5: goto 10
         6: .line 441
      StackMap locals: org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo long java.lang.Class[] long
      StackMap stack:
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* f1 */
            aastore
            dup
            iconst_1
            lload 3 /* offset */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
            lload 6 /* newValue */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            astore 8 /* args1 */
        start local 8 // java.lang.Object[] args1
         7: .line 442
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* f2 */
            aastore
            dup
            iconst_1
            lload 3 /* offset */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
            lload 6 /* newValue */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            astore 9 /* args2 */
        start local 9 // java.lang.Object[] args2
         8: .line 443
            aload 0 /* this */
            ldc "getAndSetLong"
            ldc Lsun/misc/Unsafe;
            ldc "getAndSetLong"
            aload 5 /* parameterTypes */
            getstatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.UNSAFE:Lsun/misc/Unsafe;
            aload 8 /* args1 */
            aload 9 /* args2 */
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testSubstitution:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;[Ljava/lang/Object;)V
        end local 9 // java.lang.Object[] args2
        end local 8 // java.lang.Object[] args1
         9: .line 440
            lload 6 /* newValue */
            lconst_1
            ladd
            lstore 6 /* newValue */
      StackMap locals:
      StackMap stack:
        10: lload 6 /* newValue */
            ldc 9223372036854775807
            lcmp
            iflt 6
        end local 6 // long newValue
        11: .line 445
            return
        end local 5 // java.lang.Class[] parameterTypes
        end local 3 // long offset
        end local 2 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo f2
        end local 1 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo f1
        end local 0 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0            this  Lorg/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest;
            1   12     1              f1  Lorg/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest$Foo;
            2   12     2              f2  Lorg/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest$Foo;
            3   12     3          offset  J
            4   12     5  parameterTypes  [Ljava/lang/Class;
            5   11     6        newValue  J
            7    9     8           args1  [Ljava/lang/Object;
            8    9     9           args2  [Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public static long getAndSetLong(java.lang.Object, long, long);
    descriptor: (Ljava/lang/Object;JJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // java.lang.Object obj
        start local 1 // long offset
        start local 3 // long newValue
         0: .line 448
            getstatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.UNSAFE:Lsun/misc/Unsafe;
            aload 0 /* obj */
            lload 1 /* offset */
            lload 3 /* newValue */
            invokevirtual sun.misc.Unsafe.getAndSetLong:(Ljava/lang/Object;JJ)J
            lreturn
        end local 3 // long newValue
        end local 1 // long offset
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0       obj  Ljava/lang/Object;
            0    1     1    offset  J
            0    1     3  newValue  J
    MethodParameters:
          Name  Flags
      obj       
      offset    
      newValue  

  public void testGetAndSetObject();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=11, args_size=1
        start local 0 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest this
         0: .line 453
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            astore 1 /* f1 */
        start local 1 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo f1
         1: .line 454
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            astore 2 /* f2 */
        start local 2 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo f2
         2: .line 455
            aload 1 /* f1 */
            ldc "o"
            invokestatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.off:(Ljava/lang/Object;Ljava/lang/String;)J
            lstore 3 /* offset */
        start local 3 // long offset
         3: .line 456
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_2
            ldc Ljava/lang/Object;
            aastore
            astore 5 /* parameterTypes */
        start local 5 // java.lang.Class[] parameterTypes
         4: .line 457
            lconst_0
            lstore 6 /* i */
        start local 6 // long i
         5: goto 12
         6: .line 458
      StackMap locals: org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo long java.lang.Class[] long
      StackMap stack:
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            astore 8 /* o */
        start local 8 // java.lang.Object o
         7: .line 459
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* f1 */
            aastore
            dup
            iconst_1
            lload 3 /* offset */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
            aload 8 /* o */
            aastore
            astore 9 /* args1 */
        start local 9 // java.lang.Object[] args1
         8: .line 460
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* f2 */
            aastore
            dup
            iconst_1
            lload 3 /* offset */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
            aload 8 /* o */
            aastore
            astore 10 /* args2 */
        start local 10 // java.lang.Object[] args2
         9: .line 461
            aload 0 /* this */
            ldc "getAndSetObject"
            ldc Lsun/misc/Unsafe;
            ldc "getAndSetObject"
            aload 5 /* parameterTypes */
            getstatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.UNSAFE:Lsun/misc/Unsafe;
            aload 9 /* args1 */
            aload 10 /* args2 */
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.testSubstitution:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Object;[Ljava/lang/Object;[Ljava/lang/Object;)V
        10: .line 462
            invokestatic java.lang.System.gc:()V
        end local 10 // java.lang.Object[] args2
        end local 9 // java.lang.Object[] args1
        end local 8 // java.lang.Object o
        11: .line 457
            lload 6 /* i */
            lconst_1
            ladd
            lstore 6 /* i */
      StackMap locals:
      StackMap stack:
        12: lload 6 /* i */
            ldc 10
            lcmp
            iflt 6
        end local 6 // long i
        13: .line 464
            return
        end local 5 // java.lang.Class[] parameterTypes
        end local 3 // long offset
        end local 2 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo f2
        end local 1 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo f1
        end local 0 // org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Lorg/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest;
            1   14     1              f1  Lorg/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest$Foo;
            2   14     2              f2  Lorg/graalvm/compiler/replacements/test/UnsafeSubstitutionsTest$Foo;
            3   14     3          offset  J
            4   14     5  parameterTypes  [Ljava/lang/Class;
            5   13     6               i  J
            7   11     8               o  Ljava/lang/Object;
            8   11     9           args1  [Ljava/lang/Object;
            9   11    10           args2  [Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public static java.lang.Object getAndSetObject(java.lang.Object, long, java.lang.Object);
    descriptor: (Ljava/lang/Object;JLjava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.Object obj
        start local 1 // long offset
        start local 3 // java.lang.Object newValue
         0: .line 467
            getstatic org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest.UNSAFE:Lsun/misc/Unsafe;
            aload 0 /* obj */
            lload 1 /* offset */
            aload 3 /* newValue */
            invokevirtual sun.misc.Unsafe.getAndSetObject:(Ljava/lang/Object;JLjava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 3 // java.lang.Object newValue
        end local 1 // long offset
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0       obj  Ljava/lang/Object;
            0    1     1    offset  J
            0    1     3  newValue  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      obj       
      offset    
      newValue  

  private static java.lang.Object lambda$0();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 83
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$1();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 117
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$2();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 118
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$3();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 119
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$4();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 121
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$5();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 122
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$6();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 123
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$7();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 124
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$8();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 125
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$9();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 126
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$10();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 127
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$11();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 128
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$12();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 129
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$13();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 131
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$14();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 132
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$15();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 133
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$16();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 134
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$17();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 135
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$18();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 136
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$19();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 137
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$20();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 138
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$21();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 139
            new org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo
            dup
            invokespecial org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "UnsafeSubstitutionsTest.java"
NestMembers:
  org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo  org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$MyObject
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract ArgSupplier = org.graalvm.compiler.core.test.GraalCompilerTest$ArgSupplier of org.graalvm.compiler.core.test.GraalCompilerTest
  public Result = org.graalvm.compiler.core.test.GraalCompilerTest$Result of org.graalvm.compiler.core.test.GraalCompilerTest
  Foo = org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$Foo of org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest
  MyObject = org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest$MyObject of org.graalvm.compiler.replacements.test.UnsafeSubstitutionsTest