public class org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest extends org.graalvm.compiler.core.test.MatchRuleTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest
  super_class: org.graalvm.compiler.core.test.MatchRuleTest
{
  private static volatile byte volatileByteField;
    descriptor: B
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

  private static volatile short volatileShortField;
    descriptor: S
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

  private static volatile int volatileIntField;
    descriptor: I
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

  private static volatile long volatileLongField;
    descriptor: J
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

  private static volatile float volatileFloatField;
    descriptor: F
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

  private static volatile double volatileDoubleField;
    descriptor: D
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

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

  private static java.util.function.Predicate<org.graalvm.compiler.lir.LIRInstruction> storePredicate(jdk.vm.ci.aarch64.AArch64Kind);
    descriptor: (Ljdk/vm/ci/aarch64/AArch64Kind;)Ljava/util/function/Predicate;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.aarch64.AArch64Kind kind
         0: .line 51
            aload 0 /* kind */
            invokedynamic test(Ljdk/vm/ci/aarch64/AArch64Kind;)Ljava/util/function/Predicate;
              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;)Z
                  org/graalvm/compiler/core/aarch64/test/AArch64VolatileAccessesTest.lambda$0(Ljdk/vm/ci/aarch64/AArch64Kind;Lorg/graalvm/compiler/lir/LIRInstruction;)Z (6)
                  (Lorg/graalvm/compiler/lir/LIRInstruction;)Z
            areturn
        end local 0 // jdk.vm.ci.aarch64.AArch64Kind kind
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  kind  Ljdk/vm/ci/aarch64/AArch64Kind;
    Signature: (Ljdk/vm/ci/aarch64/AArch64Kind;)Ljava/util/function/Predicate<Lorg/graalvm/compiler/lir/LIRInstruction;>;
    MethodParameters:
      Name  Flags
      kind  

  private static java.util.function.Predicate<org.graalvm.compiler.lir.LIRInstruction> loadPredicate(jdk.vm.ci.aarch64.AArch64Kind);
    descriptor: (Ljdk/vm/ci/aarch64/AArch64Kind;)Ljava/util/function/Predicate;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.aarch64.AArch64Kind kind
         0: .line 55
            aload 0 /* kind */
            invokedynamic test(Ljdk/vm/ci/aarch64/AArch64Kind;)Ljava/util/function/Predicate;
              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;)Z
                  org/graalvm/compiler/core/aarch64/test/AArch64VolatileAccessesTest.lambda$1(Ljdk/vm/ci/aarch64/AArch64Kind;Lorg/graalvm/compiler/lir/LIRInstruction;)Z (6)
                  (Lorg/graalvm/compiler/lir/LIRInstruction;)Z
            areturn
        end local 0 // jdk.vm.ci.aarch64.AArch64Kind kind
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  kind  Ljdk/vm/ci/aarch64/AArch64Kind;
    Signature: (Ljdk/vm/ci/aarch64/AArch64Kind;)Ljava/util/function/Predicate<Lorg/graalvm/compiler/lir/LIRInstruction;>;
    MethodParameters:
      Name  Flags
      kind  

  public void checkAArch64();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest this
         0: .line 60
            ldc "skipping AArch64 specific test"
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            instanceof jdk.vm.ci.aarch64.AArch64
            invokestatic org.junit.Assume.assumeTrue:(Ljava/lang/String;Z)V
         1: .line 61
            return
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64VolatileAccessesTest;
    RuntimeVisibleAnnotations: 
      org.junit.Before()

  public static byte volatileByteFieldLoad();
    descriptor: ()B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 64
            getstatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.volatileByteField:B
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void test01();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest this
         0: .line 69
            aload 0 /* this */
            ldc "volatileByteFieldLoad"
            getstatic jdk.vm.ci.aarch64.AArch64Kind.BYTE:Ljdk/vm/ci/aarch64/AArch64Kind;
            invokestatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.loadPredicate:(Ljdk/vm/ci/aarch64/AArch64Kind;)Ljava/util/function/Predicate;
            iconst_1
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;I)V
         1: .line 70
            bipush 42
            putstatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.volatileByteField:B
         2: .line 71
            aload 0 /* this */
            ldc "volatileByteFieldLoad"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         3: .line 72
            return
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64VolatileAccessesTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public static short volatileShortFieldLoad();
    descriptor: ()S
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 75
            getstatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.volatileShortField:S
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void test02();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest this
         0: .line 80
            aload 0 /* this */
            ldc "volatileShortFieldLoad"
            getstatic jdk.vm.ci.aarch64.AArch64Kind.WORD:Ljdk/vm/ci/aarch64/AArch64Kind;
            invokestatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.loadPredicate:(Ljdk/vm/ci/aarch64/AArch64Kind;)Ljava/util/function/Predicate;
            iconst_1
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;I)V
         1: .line 81
            bipush 42
            putstatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.volatileShortField:S
         2: .line 82
            aload 0 /* this */
            ldc "volatileShortFieldLoad"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         3: .line 83
            return
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64VolatileAccessesTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public static int volatileIntFieldLoad();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 86
            getstatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.volatileIntField:I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void test03();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest this
         0: .line 91
            aload 0 /* this */
            ldc "volatileIntFieldLoad"
            getstatic jdk.vm.ci.aarch64.AArch64Kind.DWORD:Ljdk/vm/ci/aarch64/AArch64Kind;
            invokestatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.loadPredicate:(Ljdk/vm/ci/aarch64/AArch64Kind;)Ljava/util/function/Predicate;
            iconst_1
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;I)V
         1: .line 92
            bipush 42
            putstatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.volatileIntField:I
         2: .line 93
            aload 0 /* this */
            ldc "volatileIntFieldLoad"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         3: .line 94
            return
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64VolatileAccessesTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public static long volatileLongFieldLoad();
    descriptor: ()J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 97
            getstatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.volatileLongField:J
            lreturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void test04();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest this
         0: .line 102
            aload 0 /* this */
            ldc "volatileLongFieldLoad"
            getstatic jdk.vm.ci.aarch64.AArch64Kind.QWORD:Ljdk/vm/ci/aarch64/AArch64Kind;
            invokestatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.loadPredicate:(Ljdk/vm/ci/aarch64/AArch64Kind;)Ljava/util/function/Predicate;
            iconst_1
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;I)V
         1: .line 103
            ldc 42
            putstatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.volatileLongField:J
         2: .line 104
            aload 0 /* this */
            ldc "volatileLongFieldLoad"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         3: .line 105
            return
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64VolatileAccessesTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public static float volatileFloatFieldLoad();
    descriptor: ()F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 108
            getstatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.volatileFloatField:F
            freturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void test05();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest this
         0: .line 113
            aload 0 /* this */
            ldc "volatileFloatFieldLoad"
            getstatic jdk.vm.ci.aarch64.AArch64Kind.SINGLE:Ljdk/vm/ci/aarch64/AArch64Kind;
            invokestatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.loadPredicate:(Ljdk/vm/ci/aarch64/AArch64Kind;)Ljava/util/function/Predicate;
            iconst_1
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;I)V
         1: .line 114
            ldc 42.0
            putstatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.volatileFloatField:F
         2: .line 115
            aload 0 /* this */
            ldc "volatileFloatFieldLoad"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         3: .line 116
            return
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64VolatileAccessesTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public static double volatileDoubleFieldLoad();
    descriptor: ()D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 119
            getstatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.volatileDoubleField:D
            dreturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void test06();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest this
         0: .line 124
            aload 0 /* this */
            ldc "volatileDoubleFieldLoad"
            getstatic jdk.vm.ci.aarch64.AArch64Kind.DOUBLE:Ljdk/vm/ci/aarch64/AArch64Kind;
            invokestatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.loadPredicate:(Ljdk/vm/ci/aarch64/AArch64Kind;)Ljava/util/function/Predicate;
            iconst_1
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;I)V
         1: .line 125
            ldc 42.0
            putstatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.volatileDoubleField:D
         2: .line 126
            aload 0 /* this */
            ldc "volatileDoubleFieldLoad"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         3: .line 127
            return
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64VolatileAccessesTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public static void volatileByteFieldStore(byte);
    descriptor: (B)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // byte v
         0: .line 130
            iload 0 /* v */
            putstatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.volatileByteField:B
         1: .line 131
            return
        end local 0 // byte v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     v  B
    MethodParameters:
      Name  Flags
      v     

  public void test07();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest this
         0: .line 135
            aload 0 /* this */
            ldc "volatileByteFieldStore"
            getstatic jdk.vm.ci.aarch64.AArch64Kind.BYTE:Ljdk/vm/ci/aarch64/AArch64Kind;
            invokestatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.storePredicate:(Ljdk/vm/ci/aarch64/AArch64Kind;)Ljava/util/function/Predicate;
            iconst_1
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;I)V
         1: .line 136
            aload 0 /* this */
            aload 0 /* this */
            ldc "volatileByteFieldStore"
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.getResolvedJavaMethod:(Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            bipush 66
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.executeActual:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Object;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         2: .line 137
            getstatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.volatileByteField:B
            i2l
            ldc 66
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         3: .line 138
            return
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64VolatileAccessesTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public static void volatileShortFieldStore(short);
    descriptor: (S)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // short v
         0: .line 141
            iload 0 /* v */
            putstatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.volatileShortField:S
         1: .line 142
            return
        end local 0 // short v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     v  S
    MethodParameters:
      Name  Flags
      v     

  public void test08();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest this
         0: .line 146
            aload 0 /* this */
            ldc "volatileShortFieldStore"
            getstatic jdk.vm.ci.aarch64.AArch64Kind.WORD:Ljdk/vm/ci/aarch64/AArch64Kind;
            invokestatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.storePredicate:(Ljdk/vm/ci/aarch64/AArch64Kind;)Ljava/util/function/Predicate;
            iconst_1
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;I)V
         1: .line 147
            aload 0 /* this */
            aload 0 /* this */
            ldc "volatileShortFieldStore"
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.getResolvedJavaMethod:(Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            bipush 66
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.executeActual:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Object;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         2: .line 148
            getstatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.volatileShortField:S
            i2l
            ldc 66
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         3: .line 149
            return
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64VolatileAccessesTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public static void volatileIntFieldStore(int);
    descriptor: (I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int v
         0: .line 152
            iload 0 /* v */
            putstatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.volatileIntField:I
         1: .line 153
            return
        end local 0 // int v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     v  I
    MethodParameters:
      Name  Flags
      v     

  public void test09();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest this
         0: .line 157
            aload 0 /* this */
            ldc "volatileIntFieldStore"
            getstatic jdk.vm.ci.aarch64.AArch64Kind.DWORD:Ljdk/vm/ci/aarch64/AArch64Kind;
            invokestatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.storePredicate:(Ljdk/vm/ci/aarch64/AArch64Kind;)Ljava/util/function/Predicate;
            iconst_1
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;I)V
         1: .line 158
            aload 0 /* this */
            aload 0 /* this */
            ldc "volatileIntFieldStore"
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.getResolvedJavaMethod:(Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            bipush 66
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.executeActual:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Object;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         2: .line 159
            getstatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.volatileIntField:I
            i2l
            ldc 66
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         3: .line 160
            return
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64VolatileAccessesTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public static void volatileLongFieldStore(int);
    descriptor: (I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int v
         0: .line 163
            iload 0 /* v */
            i2l
            putstatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.volatileLongField:J
         1: .line 164
            return
        end local 0 // int v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     v  I
    MethodParameters:
      Name  Flags
      v     

  public void test10();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest this
         0: .line 168
            aload 0 /* this */
            ldc "volatileLongFieldStore"
            getstatic jdk.vm.ci.aarch64.AArch64Kind.QWORD:Ljdk/vm/ci/aarch64/AArch64Kind;
            invokestatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.storePredicate:(Ljdk/vm/ci/aarch64/AArch64Kind;)Ljava/util/function/Predicate;
            iconst_1
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;I)V
         1: .line 169
            aload 0 /* this */
            aload 0 /* this */
            ldc "volatileLongFieldStore"
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.getResolvedJavaMethod:(Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            bipush 66
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.executeActual:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Object;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         2: .line 170
            getstatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.volatileLongField:J
            ldc 66
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         3: .line 171
            return
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64VolatileAccessesTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public static void volatileFloatFieldStore(float);
    descriptor: (F)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // float v
         0: .line 174
            fload 0 /* v */
            putstatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.volatileFloatField:F
         1: .line 175
            return
        end local 0 // float v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     v  F
    MethodParameters:
      Name  Flags
      v     

  public void test11();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest this
         0: .line 179
            aload 0 /* this */
            ldc "volatileFloatFieldStore"
            getstatic jdk.vm.ci.aarch64.AArch64Kind.SINGLE:Ljdk/vm/ci/aarch64/AArch64Kind;
            invokestatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.storePredicate:(Ljdk/vm/ci/aarch64/AArch64Kind;)Ljava/util/function/Predicate;
            iconst_1
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;I)V
         1: .line 180
            aload 0 /* this */
            aload 0 /* this */
            ldc "volatileFloatFieldStore"
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.getResolvedJavaMethod:(Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            ldc 66.0
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.executeActual:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Object;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         2: .line 181
            getstatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.volatileFloatField:F
            ldc 66.0
            fconst_0
            invokestatic org.junit.Assert.assertEquals:(FFF)V
         3: .line 182
            return
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64VolatileAccessesTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public static void volatileDoubleFieldStore(double);
    descriptor: (D)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // double v
         0: .line 185
            dload 0 /* v */
            putstatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.volatileDoubleField:D
         1: .line 186
            return
        end local 0 // double v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     v  D
    MethodParameters:
      Name  Flags
      v     

  public void test12();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest this
         0: .line 190
            aload 0 /* this */
            ldc "volatileDoubleFieldStore"
            getstatic jdk.vm.ci.aarch64.AArch64Kind.DOUBLE:Ljdk/vm/ci/aarch64/AArch64Kind;
            invokestatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.storePredicate:(Ljdk/vm/ci/aarch64/AArch64Kind;)Ljava/util/function/Predicate;
            iconst_1
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;I)V
         1: .line 191
            aload 0 /* this */
            aload 0 /* this */
            ldc "volatileDoubleFieldStore"
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.getResolvedJavaMethod:(Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            ldc 66.0
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.executeActual:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Object;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         2: .line 192
            getstatic org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest.volatileDoubleField:D
            ldc 66.0
            dconst_0
            invokestatic org.junit.Assert.assertEquals:(DDD)V
         3: .line 193
            return
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64VolatileAccessesTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64VolatileAccessesTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static boolean lambda$0(jdk.vm.ci.aarch64.AArch64Kind, org.graalvm.compiler.lir.LIRInstruction);
    descriptor: (Ljdk/vm/ci/aarch64/AArch64Kind;Lorg/graalvm/compiler/lir/LIRInstruction;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // org.graalvm.compiler.lir.LIRInstruction op
         0: .line 51
            aload 1 /* op */
            instanceof org.graalvm.compiler.lir.aarch64.AArch64Move$VolatileStoreOp
            ifeq 1
            aload 1 /* op */
            checkcast org.graalvm.compiler.lir.aarch64.AArch64Move$VolatileStoreOp
            invokevirtual org.graalvm.compiler.lir.aarch64.AArch64Move$VolatileStoreOp.getKind:()Ljdk/vm/ci/aarch64/AArch64Kind;
            aload 0
            if_acmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // org.graalvm.compiler.lir.LIRInstruction op
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     1    op  Lorg/graalvm/compiler/lir/LIRInstruction;

  private static boolean lambda$1(jdk.vm.ci.aarch64.AArch64Kind, org.graalvm.compiler.lir.LIRInstruction);
    descriptor: (Ljdk/vm/ci/aarch64/AArch64Kind;Lorg/graalvm/compiler/lir/LIRInstruction;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // org.graalvm.compiler.lir.LIRInstruction op
         0: .line 55
            aload 1 /* op */
            instanceof org.graalvm.compiler.lir.aarch64.AArch64Move$VolatileLoadOp
            ifeq 1
            aload 1 /* op */
            checkcast org.graalvm.compiler.lir.aarch64.AArch64Move$VolatileLoadOp
            invokevirtual org.graalvm.compiler.lir.aarch64.AArch64Move$VolatileLoadOp.getKind:()Ljdk/vm/ci/aarch64/AArch64Kind;
            aload 0
            if_acmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // org.graalvm.compiler.lir.LIRInstruction op
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     1    op  Lorg/graalvm/compiler/lir/LIRInstruction;
}
SourceFile: "AArch64VolatileAccessesTest.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public Result = org.graalvm.compiler.core.test.GraalCompilerTest$Result of org.graalvm.compiler.core.test.GraalCompilerTest
  public final VolatileLoadOp = org.graalvm.compiler.lir.aarch64.AArch64Move$VolatileLoadOp of org.graalvm.compiler.lir.aarch64.AArch64Move
  public VolatileStoreOp = org.graalvm.compiler.lir.aarch64.AArch64Move$VolatileStoreOp of org.graalvm.compiler.lir.aarch64.AArch64Move