public class org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean
  super_class: java.lang.Object
{
  static final int ITERATIONS;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 100000

  static final int WEAK_ATTEMPTS;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  static final long V_OFFSET;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.lang.Object STATIC_V_BASE;
    descriptor: Ljava/lang/Object;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final long STATIC_V_OFFSET;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final int ARRAY_OFFSET;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final int ARRAY_SHIFT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static boolean staticV;
    descriptor: Z
    flags: (0x0008) ACC_STATIC

  boolean v;
    descriptor: Z
    flags: (0x0000) 

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 371
            ldc Lorg/graalvm/compiler/replacements/jdk9/UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean;
            ldc "staticV"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 0 /* staticVField */
        start local 0 // java.lang.reflect.Field staticVField
         1: .line 372
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
            aload 0 /* staticVField */
            invokevirtual jdk.internal.misc.Unsafe.staticFieldBase:(Ljava/lang/reflect/Field;)Ljava/lang/Object;
            putstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean.STATIC_V_BASE:Ljava/lang/Object;
         2: .line 373
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
            aload 0 /* staticVField */
            invokevirtual jdk.internal.misc.Unsafe.staticFieldOffset:(Ljava/lang/reflect/Field;)J
            putstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean.STATIC_V_OFFSET:J
        end local 0 // java.lang.reflect.Field staticVField
         3: .line 374
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Exception
         4: astore 0 /* e */
        start local 0 // java.lang.Exception e
         5: .line 375
            new java.lang.RuntimeException
            dup
            aload 0 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.lang.Exception e
         6: .line 379
      StackMap locals:
      StackMap stack:
            ldc Lorg/graalvm/compiler/replacements/jdk9/UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean;
            ldc "v"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 0 /* vField */
        start local 0 // java.lang.reflect.Field vField
         7: .line 380
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
            aload 0 /* vField */
            invokevirtual jdk.internal.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
            putstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean.V_OFFSET:J
        end local 0 // java.lang.reflect.Field vField
         8: .line 381
            goto 11
      StackMap locals:
      StackMap stack: java.lang.Exception
         9: astore 0 /* e */
        start local 0 // java.lang.Exception e
        10: .line 382
            new java.lang.RuntimeException
            dup
            aload 0 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.lang.Exception e
        11: .line 385
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
            ldc [Z
            invokevirtual jdk.internal.misc.Unsafe.arrayBaseOffset:(Ljava/lang/Class;)I
            putstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean.ARRAY_OFFSET:I
        12: .line 386
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
            ldc [Z
            invokevirtual jdk.internal.misc.Unsafe.arrayIndexScale:(Ljava/lang/Class;)I
            istore 0 /* ascale */
        start local 0 // int ascale
        13: .line 387
            bipush 31
            iload 0 /* ascale */
            invokestatic java.lang.Integer.numberOfLeadingZeros:(I)I
            isub
            putstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean.ARRAY_SHIFT:I
        end local 0 // int ascale
        14: .line 390
            return
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            1    3     0  staticVField  Ljava/lang/reflect/Field;
            5    6     0             e  Ljava/lang/Exception;
            7    8     0        vField  Ljava/lang/reflect/Field;
           10   11     0             e  Ljava/lang/Exception;
           13   14     0        ascale  I
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.Exception
           6     8       9  Class java.lang.Exception

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean this
         0: .line 354
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/jdk9/UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean;

  public static void testFieldInstance();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=0
         0: .line 396
            new org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean
            dup
            invokespecial org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean.<init>:()V
            astore 0 /* t */
        start local 0 // org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean t
         1: .line 397
            iconst_0
            istore 1 /* c */
        start local 1 // int c
         2: goto 5
         3: .line 398
      StackMap locals: org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean int
      StackMap stack:
            aload 0 /* t */
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean.V_OFFSET:J
            invokestatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean.testAccess:(Ljava/lang/Object;J)V
         4: .line 397
            iinc 1 /* c */ 1
      StackMap locals:
      StackMap stack:
         5: iload 1 /* c */
            ldc 100000
            if_icmplt 3
        end local 1 // int c
         6: .line 400
            return
        end local 0 // org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    7     0     t  Lorg/graalvm/compiler/replacements/jdk9/UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean;
            2    6     1     c  I
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.core.test.GraalCompilerTest$BytecodeParserForceInline()

  public static void testFieldStatic();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 403
            iconst_0
            istore 0 /* c */
        start local 0 // int c
         1: goto 4
         2: .line 404
      StackMap locals: int
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean.STATIC_V_BASE:Ljava/lang/Object;
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean.STATIC_V_OFFSET:J
            invokestatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean.testAccess:(Ljava/lang/Object;J)V
         3: .line 403
            iinc 0 /* c */ 1
      StackMap locals:
      StackMap stack:
         4: iload 0 /* c */
            ldc 100000
            if_icmplt 2
        end local 0 // int c
         5: .line 406
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    5     0     c  I

  public static void testArray();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=0
         0: .line 409
            bipush 10
            newarray 4
            astore 0 /* array */
        start local 0 // boolean[] array
         1: .line 410
            iconst_0
            istore 1 /* c */
        start local 1 // int c
         2: goto 9
         3: .line 411
      StackMap locals: boolean[] int
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 7
         5: .line 412
      StackMap locals: int
      StackMap stack:
            aload 0 /* array */
            iload 2 /* i */
            i2l
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean.ARRAY_SHIFT:I
            lshl
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean.ARRAY_OFFSET:I
            i2l
            ladd
            invokestatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean.testAccess:(Ljava/lang/Object;J)V
         6: .line 411
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* array */
            arraylength
            if_icmplt 5
        end local 2 // int i
         8: .line 410
            iinc 1 /* c */ 1
      StackMap locals:
      StackMap stack:
         9: iload 1 /* c */
            ldc 100000
            if_icmplt 3
        end local 1 // int c
        10: .line 415
            return
        end local 0 // boolean[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            1   11     0  array  [Z
            2   10     1      c  I
            4    8     2      i  I

  public static void testAccess(java.lang.Object, long);
    descriptor: (Ljava/lang/Object;J)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // java.lang.Object base
        start local 1 // long offset
         0: .line 422
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
            aload 0 /* base */
            lload 1 /* offset */
            iconst_0
            iconst_1
            invokevirtual jdk.internal.misc.Unsafe.compareAndExchangeBoolean:(Ljava/lang/Object;JZZ)Z
            istore 3 /* r */
        start local 3 // boolean r
         1: .line 423
            iload 3 /* r */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            ldc "success compareAndExchange boolean"
            invokestatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 424
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
            aload 0 /* base */
            lload 1 /* offset */
            invokevirtual jdk.internal.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
            istore 4 /* x */
        start local 4 // boolean x
         3: .line 425
            iload 4 /* x */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            ldc "success compareAndExchange boolean value"
            invokestatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
        end local 4 // boolean x
        end local 3 // boolean r
         4: .line 429
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
            aload 0 /* base */
            lload 1 /* offset */
            iconst_0
            iconst_0
            invokevirtual jdk.internal.misc.Unsafe.compareAndExchangeBoolean:(Ljava/lang/Object;JZZ)Z
            istore 3 /* r */
        start local 3 // boolean r
         5: .line 430
            iload 3 /* r */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            ldc "failing compareAndExchange boolean"
            invokestatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
         6: .line 431
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
            aload 0 /* base */
            lload 1 /* offset */
            invokevirtual jdk.internal.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
            istore 4 /* x */
        start local 4 // boolean x
         7: .line 432
            iload 4 /* x */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            ldc "failing compareAndExchange boolean value"
            invokestatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
        end local 4 // boolean x
        end local 3 // boolean r
         8: .line 436
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
            aload 0 /* base */
            lload 1 /* offset */
            iconst_1
            iconst_0
            invokevirtual jdk.internal.misc.Unsafe.compareAndExchangeBooleanAcquire:(Ljava/lang/Object;JZZ)Z
            istore 3 /* r */
        start local 3 // boolean r
         9: .line 437
            iload 3 /* r */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            ldc "success compareAndExchangeAcquire boolean"
            invokestatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
        10: .line 438
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
            aload 0 /* base */
            lload 1 /* offset */
            invokevirtual jdk.internal.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
            istore 4 /* x */
        start local 4 // boolean x
        11: .line 439
            iload 4 /* x */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            ldc "success compareAndExchangeAcquire boolean value"
            invokestatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
        end local 4 // boolean x
        end local 3 // boolean r
        12: .line 443
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
            aload 0 /* base */
            lload 1 /* offset */
            iconst_1
            iconst_0
            invokevirtual jdk.internal.misc.Unsafe.compareAndExchangeBooleanAcquire:(Ljava/lang/Object;JZZ)Z
            istore 3 /* r */
        start local 3 // boolean r
        13: .line 444
            iload 3 /* r */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            ldc "failing compareAndExchangeAcquire boolean"
            invokestatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
        14: .line 445
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
            aload 0 /* base */
            lload 1 /* offset */
            invokevirtual jdk.internal.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
            istore 4 /* x */
        start local 4 // boolean x
        15: .line 446
            iload 4 /* x */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            ldc "failing compareAndExchangeAcquire boolean value"
            invokestatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
        end local 4 // boolean x
        end local 3 // boolean r
        16: .line 450
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
            aload 0 /* base */
            lload 1 /* offset */
            iconst_0
            iconst_1
            invokevirtual jdk.internal.misc.Unsafe.compareAndExchangeBooleanRelease:(Ljava/lang/Object;JZZ)Z
            istore 3 /* r */
        start local 3 // boolean r
        17: .line 451
            iload 3 /* r */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            ldc "success compareAndExchangeRelease boolean"
            invokestatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
        18: .line 452
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
            aload 0 /* base */
            lload 1 /* offset */
            invokevirtual jdk.internal.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
            istore 4 /* x */
        start local 4 // boolean x
        19: .line 453
            iload 4 /* x */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            ldc "success compareAndExchangeRelease boolean value"
            invokestatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
        end local 4 // boolean x
        end local 3 // boolean r
        20: .line 457
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
            aload 0 /* base */
            lload 1 /* offset */
            iconst_0
            iconst_0
            invokevirtual jdk.internal.misc.Unsafe.compareAndExchangeBooleanRelease:(Ljava/lang/Object;JZZ)Z
            istore 3 /* r */
        start local 3 // boolean r
        21: .line 458
            iload 3 /* r */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            ldc "failing compareAndExchangeRelease boolean"
            invokestatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
        22: .line 459
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
            aload 0 /* base */
            lload 1 /* offset */
            invokevirtual jdk.internal.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
            istore 4 /* x */
        start local 4 // boolean x
        23: .line 460
            iload 4 /* x */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            ldc "failing compareAndExchangeRelease boolean value"
            invokestatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
        end local 4 // boolean x
        end local 3 // boolean r
        24: .line 464
            iconst_0
            istore 3 /* success */
        start local 3 // boolean success
        25: .line 465
            iconst_0
            istore 4 /* c */
        start local 4 // int c
        26: goto 29
        27: .line 466
      StackMap locals: int int
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
            aload 0 /* base */
            lload 1 /* offset */
            iconst_1
            iconst_0
            invokevirtual jdk.internal.misc.Unsafe.weakCompareAndSetBooleanPlain:(Ljava/lang/Object;JZZ)Z
            istore 3 /* success */
        28: .line 465
            iinc 4 /* c */ 1
      StackMap locals:
      StackMap stack:
        29: iload 4 /* c */
            bipush 10
            if_icmpge 30
            iload 3 /* success */
            ifeq 27
        end local 4 // int c
        30: .line 468
      StackMap locals:
      StackMap stack:
            iload 3 /* success */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            ldc "weakCompareAndSetPlain boolean"
            invokestatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
        31: .line 469
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
            aload 0 /* base */
            lload 1 /* offset */
            invokevirtual jdk.internal.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
            istore 4 /* x */
        start local 4 // boolean x
        32: .line 470
            iload 4 /* x */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            ldc "weakCompareAndSetPlain boolean value"
            invokestatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
        end local 4 // boolean x
        end local 3 // boolean success
        33: .line 474
            iconst_0
            istore 3 /* success */
        start local 3 // boolean success
        34: .line 475
            iconst_0
            istore 4 /* c */
        start local 4 // int c
        35: goto 38
        36: .line 476
      StackMap locals: int
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
            aload 0 /* base */
            lload 1 /* offset */
            iconst_0
            iconst_1
            invokevirtual jdk.internal.misc.Unsafe.weakCompareAndSetBooleanAcquire:(Ljava/lang/Object;JZZ)Z
            istore 3 /* success */
        37: .line 475
            iinc 4 /* c */ 1
      StackMap locals:
      StackMap stack:
        38: iload 4 /* c */
            bipush 10
            if_icmpge 39
            iload 3 /* success */
            ifeq 36
        end local 4 // int c
        39: .line 478
      StackMap locals:
      StackMap stack:
            iload 3 /* success */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            ldc "weakCompareAndSetAcquire boolean"
            invokestatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
        40: .line 479
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
            aload 0 /* base */
            lload 1 /* offset */
            invokevirtual jdk.internal.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
            istore 4 /* x */
        start local 4 // boolean x
        41: .line 480
            iload 4 /* x */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            ldc "weakCompareAndSetAcquire boolean"
            invokestatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
        end local 4 // boolean x
        end local 3 // boolean success
        42: .line 484
            iconst_0
            istore 3 /* success */
        start local 3 // boolean success
        43: .line 485
            iconst_0
            istore 4 /* c */
        start local 4 // int c
        44: goto 47
        45: .line 486
      StackMap locals: int
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
            aload 0 /* base */
            lload 1 /* offset */
            iconst_1
            iconst_0
            invokevirtual jdk.internal.misc.Unsafe.weakCompareAndSetBooleanRelease:(Ljava/lang/Object;JZZ)Z
            istore 3 /* success */
        46: .line 485
            iinc 4 /* c */ 1
      StackMap locals:
      StackMap stack:
        47: iload 4 /* c */
            bipush 10
            if_icmpge 48
            iload 3 /* success */
            ifeq 45
        end local 4 // int c
        48: .line 488
      StackMap locals:
      StackMap stack:
            iload 3 /* success */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            ldc "weakCompareAndSetRelease boolean"
            invokestatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
        49: .line 489
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
            aload 0 /* base */
            lload 1 /* offset */
            invokevirtual jdk.internal.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
            istore 4 /* x */
        start local 4 // boolean x
        50: .line 490
            iload 4 /* x */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            ldc "weakCompareAndSetRelease boolean"
            invokestatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
        end local 4 // boolean x
        end local 3 // boolean success
        51: .line 494
            iconst_0
            istore 3 /* success */
        start local 3 // boolean success
        52: .line 495
            iconst_0
            istore 4 /* c */
        start local 4 // int c
        53: goto 56
        54: .line 496
      StackMap locals: int
      StackMap stack:
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
            aload 0 /* base */
            lload 1 /* offset */
            iconst_0
            iconst_1
            invokevirtual jdk.internal.misc.Unsafe.weakCompareAndSetBoolean:(Ljava/lang/Object;JZZ)Z
            istore 3 /* success */
        55: .line 495
            iinc 4 /* c */ 1
      StackMap locals:
      StackMap stack:
        56: iload 4 /* c */
            bipush 10
            if_icmpge 57
            iload 3 /* success */
            ifeq 54
        end local 4 // int c
        57: .line 498
      StackMap locals:
      StackMap stack:
            iload 3 /* success */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            ldc "weakCompareAndSet boolean"
            invokestatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
        58: .line 499
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
            aload 0 /* base */
            lload 1 /* offset */
            invokevirtual jdk.internal.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
            istore 4 /* x */
        start local 4 // boolean x
        59: .line 500
            iload 4 /* x */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            ldc "weakCompareAndSet boolean"
            invokestatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
        end local 4 // boolean x
        end local 3 // boolean success
        60: .line 503
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
            aload 0 /* base */
            lload 1 /* offset */
            iconst_0
            invokevirtual jdk.internal.misc.Unsafe.putBoolean:(Ljava/lang/Object;JZ)V
        61: .line 507
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
            aload 0 /* base */
            lload 1 /* offset */
            iconst_1
            invokevirtual jdk.internal.misc.Unsafe.getAndSetBoolean:(Ljava/lang/Object;JZ)Z
            istore 3 /* o */
        start local 3 // boolean o
        62: .line 508
            iload 3 /* o */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            ldc "getAndSet boolean"
            invokestatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
        63: .line 509
            getstatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.unsafe:Ljdk/internal/misc/Unsafe;
            aload 0 /* base */
            lload 1 /* offset */
            invokevirtual jdk.internal.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
            istore 4 /* x */
        start local 4 // boolean x
        64: .line 510
            iload 4 /* x */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            ldc "getAndSet boolean value"
            invokestatic org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
        end local 4 // boolean x
        end local 3 // boolean o
        65: .line 513
            return
        end local 1 // long offset
        end local 0 // java.lang.Object base
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   66     0     base  Ljava/lang/Object;
            0   66     1   offset  J
            1    4     3        r  Z
            3    4     4        x  Z
            5    8     3        r  Z
            7    8     4        x  Z
            9   12     3        r  Z
           11   12     4        x  Z
           13   16     3        r  Z
           15   16     4        x  Z
           17   20     3        r  Z
           19   20     4        x  Z
           21   24     3        r  Z
           23   24     4        x  Z
           25   33     3  success  Z
           26   30     4        c  I
           32   33     4        x  Z
           34   42     3  success  Z
           35   39     4        c  I
           41   42     4        x  Z
           43   51     3  success  Z
           44   48     4        c  I
           50   51     4        x  Z
           52   60     3  success  Z
           53   57     4        c  I
           59   60     4        x  Z
           62   65     3        o  Z
           64   65     4        x  Z
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.core.test.GraalCompilerTest$BytecodeParserForceInline()
    MethodParameters:
        Name  Flags
      base    
      offset  
}
SourceFile: "UnsafeReplacementsTest.java"
NestHost: org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest
InnerClasses:
  public abstract BytecodeParserForceInline = org.graalvm.compiler.core.test.GraalCompilerTest$BytecodeParserForceInline of org.graalvm.compiler.core.test.GraalCompilerTest
  public JdkInternalMiscUnsafeAccessTestBoolean = org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest$JdkInternalMiscUnsafeAccessTestBoolean of org.graalvm.compiler.replacements.jdk9.UnsafeReplacementsTest