public class org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest extends org.graalvm.compiler.core.test.GraalCompilerTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest
  super_class: org.graalvm.compiler.core.test.GraalCompilerTest
{
  private static short onHeapMemory;
    descriptor: S
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final java.lang.Object onHeapMemoryBase;
    descriptor: Ljava/lang/Object;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long onHeapMemoryOffset;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 44
            ldc Lorg/graalvm/compiler/replacements/test/UnsafeBooleanAccessTest;
            ldc "onHeapMemory"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 0 /* staticField */
        start local 0 // java.lang.reflect.Field staticField
         1: .line 45
            getstatic org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.UNSAFE:Lsun/misc/Unsafe;
            aload 0 /* staticField */
            invokevirtual sun.misc.Unsafe.staticFieldBase:(Ljava/lang/reflect/Field;)Ljava/lang/Object;
            putstatic org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.onHeapMemoryBase:Ljava/lang/Object;
         2: .line 46
            getstatic org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.UNSAFE:Lsun/misc/Unsafe;
            aload 0 /* staticField */
            invokevirtual sun.misc.Unsafe.staticFieldOffset:(Ljava/lang/reflect/Field;)J
            putstatic org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.onHeapMemoryOffset:J
        end local 0 // java.lang.reflect.Field staticField
         3: .line 47
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Exception
         4: astore 0 /* e */
        start local 0 // java.lang.Exception e
         5: .line 48
            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 50
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            1    3     0  staticField  Ljava/lang/reflect/Field;
            5    6     0            e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     3       4  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.test.UnsafeBooleanAccessTest this
         0: .line 35
            aload 0 /* this */
            invokespecial org.graalvm.compiler.core.test.GraalCompilerTest.<init>:()V
            return
        end local 0 // org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/test/UnsafeBooleanAccessTest;

  public void testJDK();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest this
         0: .line 56
            getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPEC:I
            bipush 16
            if_icmplt 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: invokestatic org.junit.Assume.assumeTrue:(Z)V
         3: .line 57
            return
        end local 0 // org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/replacements/test/UnsafeBooleanAccessTest;
    RuntimeVisibleAnnotations: 
      org.junit.Before()

  public static boolean testGetBooleanSnippet();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 60
            getstatic org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.UNSAFE:Lsun/misc/Unsafe;
            getstatic org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.onHeapMemoryBase:Ljava/lang/Object;
            getstatic org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.onHeapMemoryOffset:J
            sipush 516
            invokevirtual sun.misc.Unsafe.putShort:(Ljava/lang/Object;JS)V
         1: .line 61
            getstatic org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.UNSAFE:Lsun/misc/Unsafe;
            getstatic org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.onHeapMemoryBase:Ljava/lang/Object;
            getstatic org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.onHeapMemoryOffset:J
            invokevirtual sun.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void testGetBoolean();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest this
         0: .line 66
            aload 0 /* this */
            ldc "testGetBooleanSnippet"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         1: .line 67
            return
        end local 0 // org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/replacements/test/UnsafeBooleanAccessTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public static short testPutBooleanSnippet();
    descriptor: ()S
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=0
         0: .line 70
            getstatic org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.UNSAFE:Lsun/misc/Unsafe;
            getstatic org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.onHeapMemoryBase:Ljava/lang/Object;
            getstatic org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.onHeapMemoryOffset:J
            sipush 516
            invokevirtual sun.misc.Unsafe.putShort:(Ljava/lang/Object;JS)V
         1: .line 71
            getstatic org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.UNSAFE:Lsun/misc/Unsafe;
            getstatic org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.onHeapMemoryBase:Ljava/lang/Object;
            getstatic org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.onHeapMemoryOffset:J
            invokevirtual sun.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
            istore 0 /* bool */
        start local 0 // boolean bool
         2: .line 72
            getstatic org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.UNSAFE:Lsun/misc/Unsafe;
            getstatic org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.onHeapMemoryBase:Ljava/lang/Object;
            getstatic org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.onHeapMemoryOffset:J
            iload 0 /* bool */
            invokevirtual sun.misc.Unsafe.putBoolean:(Ljava/lang/Object;JZ)V
         3: .line 73
            getstatic org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.onHeapMemory:S
            ireturn
        end local 0 // boolean bool
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            2    4     0  bool  Z

  public void testPutBoolean();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest this
         0: .line 78
            aload 0 /* this */
            ldc "testPutBooleanSnippet"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         1: .line 79
            return
        end local 0 // org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/replacements/test/UnsafeBooleanAccessTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public static boolean testAndBooleanSnippet();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=0
         0: .line 82
            getstatic org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.UNSAFE:Lsun/misc/Unsafe;
            getstatic org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.onHeapMemoryBase:Ljava/lang/Object;
            getstatic org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.onHeapMemoryOffset:J
            sipush 516
            invokevirtual sun.misc.Unsafe.putShort:(Ljava/lang/Object;JS)V
         1: .line 83
            getstatic org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.UNSAFE:Lsun/misc/Unsafe;
            getstatic org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.onHeapMemoryBase:Ljava/lang/Object;
            getstatic org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.onHeapMemoryOffset:J
            invokevirtual sun.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
            istore 0 /* bool0 */
        start local 0 // boolean bool0
         2: .line 84
            getstatic org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.UNSAFE:Lsun/misc/Unsafe;
            getstatic org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.onHeapMemoryBase:Ljava/lang/Object;
            getstatic org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.onHeapMemoryOffset:J
            lconst_1
            ladd
            invokevirtual sun.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
            istore 1 /* bool1 */
        start local 1 // boolean bool1
         3: .line 85
            iload 0 /* bool0 */
            iload 1 /* bool1 */
            iand
            ireturn
        end local 1 // boolean bool1
        end local 0 // boolean bool0
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            2    4     0  bool0  Z
            3    4     1  bool1  Z

  public void testAndBoolean();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest this
         0: .line 90
            aload 0 /* this */
            ldc "testAndBooleanSnippet"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         1: .line 91
            return
        end local 0 // org.graalvm.compiler.replacements.test.UnsafeBooleanAccessTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/replacements/test/UnsafeBooleanAccessTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()
}
SourceFile: "UnsafeBooleanAccessTest.java"
InnerClasses:
  public Result = org.graalvm.compiler.core.test.GraalCompilerTest$Result of org.graalvm.compiler.core.test.GraalCompilerTest