public class org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest extends org.graalvm.compiler.core.test.backend.BackendTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest
  super_class: org.graalvm.compiler.core.test.backend.BackendTest
{
  private final jdk.vm.ci.runtime.JVMCIBackend providers;
    descriptor: Ljdk/vm/ci/runtime/JVMCIBackend;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.lir.asm.CompilationResultBuilder crb;
    descriptor: Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest this
         0: .line 58
            aload 0 /* this */
            invokespecial org.graalvm.compiler.core.test.backend.BackendTest.<init>:()V
         1: .line 59
            aload 0 /* this */
            invokestatic jdk.vm.ci.runtime.JVMCI.getRuntime:()Ljdk/vm/ci/runtime/JVMCIRuntime;
            invokeinterface jdk.vm.ci.runtime.JVMCIRuntime.getHostJVMCIBackend:()Ljdk/vm/ci/runtime/JVMCIBackend;
            putfield org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest.providers:Ljdk/vm/ci/runtime/JVMCIBackend;
         2: .line 61
            aload 0 /* this */
            ldc "stub"
            getstatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.YES:Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest.parseEager:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 1 /* graph */
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
         3: .line 62
            aload 0 /* this */
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest.getLIRGenerationResult:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            astore 2 /* lirGenRes */
        start local 2 // org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes
         4: .line 63
            new org.graalvm.compiler.code.CompilationResult
            dup
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.compilationId:()Lorg/graalvm/compiler/core/common/CompilationIdentifier;
            invokespecial org.graalvm.compiler.code.CompilationResult.<init>:(Lorg/graalvm/compiler/core/common/CompilationIdentifier;)V
            astore 3 /* compResult */
        start local 3 // org.graalvm.compiler.code.CompilationResult compResult
         5: .line 64
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest.getBackend:()Lorg/graalvm/compiler/core/target/Backend;
            checkcast org.graalvm.compiler.core.gen.LIRGenerationProvider
            aload 2 /* lirGenRes */
            aload 2 /* lirGenRes */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getFrameMap:()Lorg/graalvm/compiler/lir/framemap/FrameMap;
            aload 3 /* compResult */
            getstatic org.graalvm.compiler.lir.asm.CompilationResultBuilderFactory.Default:Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;
            invokeinterface org.graalvm.compiler.core.gen.LIRGenerationProvider.newCompilationResultBuilder:(Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/lir/framemap/FrameMap;Lorg/graalvm/compiler/code/CompilationResult;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilderFactory;)Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
            putfield org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest.crb:Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
         6: .line 65
            return
        end local 3 // org.graalvm.compiler.code.CompilationResult compResult
        end local 2 // org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/graalvm/compiler/core/aarch64/test/AArch64MembarOpTest;
            3    7     1       graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            4    7     2   lirGenRes  Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            5    7     3  compResult  Lorg/graalvm/compiler/code/CompilationResult;

  public void stub();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest this
         0: .line 68
            return
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64MembarOpTest;

  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.AArch64MembarOpTest this
         0: .line 72
            ldc "skipping AArch64 specific test"
            invokestatic jdk.vm.ci.runtime.JVMCI.getRuntime:()Ljdk/vm/ci/runtime/JVMCIRuntime;
            invokeinterface jdk.vm.ci.runtime.JVMCIRuntime.getHostJVMCIBackend:()Ljdk/vm/ci/runtime/JVMCIBackend;
            invokevirtual jdk.vm.ci.runtime.JVMCIBackend.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 73
            return
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64MembarOpTest;
    RuntimeVisibleAnnotations: 
      org.junit.Before()

  public void runNormalMembarTests();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest this
         0: .line 77
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* cases */
        start local 1 // java.util.List cases
         1: .line 78
            aload 1 /* cases */
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$BarrierKind.LOAD_LOAD:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$BarrierKind;
            invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 79
            aload 1 /* cases */
            iconst_2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$BarrierKind.LOAD_LOAD:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$BarrierKind;
            invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 80
            aload 1 /* cases */
            iconst_3
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$BarrierKind.LOAD_LOAD:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$BarrierKind;
            invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 81
            aload 1 /* cases */
            iconst_4
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$BarrierKind.ANY_ANY:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$BarrierKind;
            invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 82
            aload 1 /* cases */
            iconst_5
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$BarrierKind.ANY_ANY:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$BarrierKind;
            invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 83
            aload 1 /* cases */
            bipush 6
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$BarrierKind.ANY_ANY:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$BarrierKind;
            invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 84
            aload 1 /* cases */
            bipush 7
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$BarrierKind.ANY_ANY:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$BarrierKind;
            invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         8: .line 85
            aload 1 /* cases */
            bipush 8
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$BarrierKind.STORE_STORE:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$BarrierKind;
            invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 86
            aload 1 /* cases */
            bipush 9
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$BarrierKind.ANY_ANY:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$BarrierKind;
            invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        10: .line 87
            aload 1 /* cases */
            bipush 10
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$BarrierKind.ANY_ANY:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$BarrierKind;
            invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 88
            aload 1 /* cases */
            bipush 11
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$BarrierKind.ANY_ANY:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$BarrierKind;
            invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        12: .line 89
            aload 1 /* cases */
            bipush 12
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$BarrierKind.ANY_ANY:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$BarrierKind;
            invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        13: .line 90
            aload 1 /* cases */
            bipush 13
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$BarrierKind.ANY_ANY:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$BarrierKind;
            invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        14: .line 91
            aload 1 /* cases */
            bipush 14
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$BarrierKind.ANY_ANY:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$BarrierKind;
            invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        15: .line 92
            aload 1 /* cases */
            bipush 15
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$BarrierKind.ANY_ANY:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$BarrierKind;
            invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        16: .line 94
            aload 1 /* cases */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 21
      StackMap locals: org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest java.util.List top java.util.Iterator
      StackMap stack:
        17: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.collections.Pair
            astore 2 /* c */
        start local 2 // org.graalvm.collections.Pair c
        18: .line 95
            new org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest$MembarOpActual
            dup
            aload 0 /* this */
            aload 2 /* c */
            invokevirtual org.graalvm.collections.Pair.getLeft:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokespecial org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest$MembarOpActual.<init>:(Lorg/graalvm/compiler/core/aarch64/test/AArch64MembarOpTest;I)V
            new org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest.providers:Ljdk/vm/ci/runtime/JVMCIBackend;
            invokevirtual jdk.vm.ci.runtime.JVMCIBackend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.<init>:(Ljdk/vm/ci/code/TargetDescription;)V
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest$MembarOpActual.emit:(Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;)[B
        19: .line 96
            new org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest$MembarOpExpected
            dup
            aload 0 /* this */
            aload 2 /* c */
            invokevirtual org.graalvm.collections.Pair.getRight:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.asm.aarch64.AArch64Assembler$BarrierKind
            invokespecial org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest$MembarOpExpected.<init>:(Lorg/graalvm/compiler/core/aarch64/test/AArch64MembarOpTest;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$BarrierKind;)V
            new org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest.providers:Ljdk/vm/ci/runtime/JVMCIBackend;
            invokevirtual jdk.vm.ci.runtime.JVMCIBackend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.<init>:(Ljdk/vm/ci/code/TargetDescription;)V
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest$MembarOpExpected.emit:(Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;)[B
        20: .line 95
            invokestatic org.junit.Assert.assertArrayEquals:([B[B)V
        end local 2 // org.graalvm.collections.Pair c
        21: .line 94
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        22: .line 98
            return
        end local 1 // java.util.List cases
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   23     0   this  Lorg/graalvm/compiler/core/aarch64/test/AArch64MembarOpTest;
            1   23     1  cases  Ljava/util/List<Lorg/graalvm/collections/Pair<Ljava/lang/Integer;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$BarrierKind;>;>;
           18   21     2      c  Lorg/graalvm/collections/Pair<Ljava/lang/Integer;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$BarrierKind;>;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void runExceptionalTests();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest this
         0: .line 102
            new org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest$MembarOpActual
            dup
            aload 0 /* this */
            bipush 16
            invokespecial org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest$MembarOpActual.<init>:(Lorg/graalvm/compiler/core/aarch64/test/AArch64MembarOpTest;I)V
            new org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest.providers:Ljdk/vm/ci/runtime/JVMCIBackend;
            invokevirtual jdk.vm.ci.runtime.JVMCIBackend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            invokespecial org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.<init>:(Ljdk/vm/ci/code/TargetDescription;)V
            invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest$MembarOpActual.emit:(Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;)[B
            pop
         1: .line 103
            return
        end local 0 // org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/core/aarch64/test/AArch64MembarOpTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test(expected = Ljava/lang/AssertionError;)
}
SourceFile: "AArch64MembarOpTest.java"
NestMembers:
  org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest$MembarOpActual  org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest$MembarOpExpected
InnerClasses:
  public final BarrierKind = org.graalvm.compiler.asm.aarch64.AArch64Assembler$BarrierKind of org.graalvm.compiler.asm.aarch64.AArch64Assembler
  private MembarOpActual = org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest$MembarOpActual of org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest
  private MembarOpExpected = org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest$MembarOpExpected of org.graalvm.compiler.core.aarch64.test.AArch64MembarOpTest
  public final AllowAssumptions = org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions of org.graalvm.compiler.nodes.StructuredGraph