public class org.graalvm.compiler.core.test.LateMembarInsertionTest 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.core.test.LateMembarInsertionTest
  super_class: org.graalvm.compiler.core.test.GraalCompilerTest
{
  private final jdk.vm.ci.meta.ResolvedJavaType volatileAccessType;
    descriptor: Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.vm.ci.meta.ResolvedJavaType regularAccessField;
    descriptor: Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.vm.ci.meta.ResolvedJavaType volatileAccess2Type;
    descriptor: Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
         0: .line 58
            aload 0 /* this */
            invokespecial org.graalvm.compiler.core.test.GraalCompilerTest.<init>:()V
         1: .line 60
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.test.LateMembarInsertionTest.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            ldc Lorg/graalvm/compiler/core/test/LateMembarInsertionTest$VolatileAccess;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            putfield org.graalvm.compiler.core.test.LateMembarInsertionTest.volatileAccessType:Ljdk/vm/ci/meta/ResolvedJavaType;
         2: .line 61
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.test.LateMembarInsertionTest.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            ldc Lorg/graalvm/compiler/core/test/LateMembarInsertionTest$RegularAccess;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            putfield org.graalvm.compiler.core.test.LateMembarInsertionTest.regularAccessField:Ljdk/vm/ci/meta/ResolvedJavaType;
         3: .line 62
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.test.LateMembarInsertionTest.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            ldc Lorg/graalvm/compiler/core/test/LateMembarInsertionTest$VolatileAccess2;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            putfield org.graalvm.compiler.core.test.LateMembarInsertionTest.volatileAccess2Type:Ljdk/vm/ci/meta/ResolvedJavaType;
         4: .line 58
            return
        end local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/core/test/LateMembarInsertionTest;

  public static int volatileFieldLoadFieldLoad();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=0
         0: .line 77
            getstatic org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess.field:I
            istore 0 /* v1 */
        start local 0 // int v1
         1: .line 78
            getstatic org.graalvm.compiler.core.test.LateMembarInsertionTest$RegularAccess.field:I
            istore 1 /* v2 */
        start local 1 // int v2
         2: .line 79
            iload 0 /* v1 */
            iload 1 /* v2 */
            iadd
            ireturn
        end local 1 // int v2
        end local 0 // int v1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    3     0    v1  I
            2    3     1    v2  I

  public void test01();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
         0: .line 82
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tTest cannot be resolved to a type\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/test/LateMembarInsertionTest;
    RuntimeInvisibleAnnotations: 
      Test()

  public static int volatileFieldLoadVolatileFieldLoad();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=0
         0: .line 94
            getstatic org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess.field:I
            istore 0 /* v1 */
        start local 0 // int v1
         1: .line 95
            getstatic org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess2.field:I
            istore 1 /* v2 */
        start local 1 // int v2
         2: .line 96
            iload 0 /* v1 */
            iload 1 /* v2 */
            iadd
            ireturn
        end local 1 // int v2
        end local 0 // int v1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    3     0    v1  I
            2    3     1    v2  I

  public void test02();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
         0: .line 99
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tTest cannot be resolved to a type\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/test/LateMembarInsertionTest;
    RuntimeInvisibleAnnotations: 
      Test()

  public static int volatileFieldLoadVolatileFieldStore(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // int v2
         0: .line 111
            getstatic org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess.field:I
            istore 1 /* v1 */
        start local 1 // int v1
         1: .line 112
            iload 0 /* v2 */
            putstatic org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess2.field:I
         2: .line 113
            iload 1 /* v1 */
            ireturn
        end local 1 // int v1
        end local 0 // int v2
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    v2  I
            1    3     1    v1  I
    MethodParameters:
      Name  Flags
      v2    

  public void test03();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
         0: .line 116
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tTest cannot be resolved to a type\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/test/LateMembarInsertionTest;
    RuntimeInvisibleAnnotations: 
      Test()

  public static int volatileFieldStoreVolatileFieldLoad(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int v2
         0: .line 128
            iload 0 /* v2 */
            putstatic org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess.field:I
         1: .line 129
            getstatic org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess2.field:I
            ireturn
        end local 0 // int v2
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    v2  I
    MethodParameters:
      Name  Flags
      v2    

  public void test04();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
         0: .line 132
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tTest cannot be resolved to a type\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/test/LateMembarInsertionTest;
    RuntimeInvisibleAnnotations: 
      Test()

  public static int fieldLoadVolatileFieldStore(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // int v2
         0: .line 144
            getstatic org.graalvm.compiler.core.test.LateMembarInsertionTest$RegularAccess.field:I
            istore 1 /* v1 */
        start local 1 // int v1
         1: .line 145
            iload 0 /* v2 */
            putstatic org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess2.field:I
         2: .line 146
            iload 1 /* v1 */
            ireturn
        end local 1 // int v1
        end local 0 // int v2
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    v2  I
            1    3     1    v1  I
    MethodParameters:
      Name  Flags
      v2    

  public void test05();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
         0: .line 149
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tTest cannot be resolved to a type\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/test/LateMembarInsertionTest;
    RuntimeInvisibleAnnotations: 
      Test()

  public static void volatileFieldStoreVolatileFieldStore(int, int);
    descriptor: (II)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // int v1
        start local 1 // int v2
         0: .line 161
            iload 0 /* v1 */
            putstatic org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess.field:I
         1: .line 162
            iload 1 /* v2 */
            putstatic org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess2.field:I
         2: .line 163
            return
        end local 1 // int v2
        end local 0 // int v1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    v1  I
            0    3     1    v2  I
    MethodParameters:
      Name  Flags
      v1    
      v2    

  public void test06();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
         0: .line 165
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tTest cannot be resolved to a type\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/test/LateMembarInsertionTest;
    RuntimeInvisibleAnnotations: 
      Test()

  public static int volatileFieldLoad();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 177
            getstatic org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess.field:I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void test07();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
         0: .line 180
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tTest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/test/LateMembarInsertionTest;
    RuntimeInvisibleAnnotations: 
      Test()

  private boolean membarsExpected();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
         0: .line 186
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.test.LateMembarInsertionTest.getTarget:()Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            instanceof jdk.vm.ci.aarch64.AArch64
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/core/test/LateMembarInsertionTest;

  public static void volatileFieldStore(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 190
            iload 0 /* v */
            putstatic org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess.field:I
         1: .line 191
            return
        end local 0 // int v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     v  I
    MethodParameters:
      Name  Flags
      v     

  public void test08();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
         0: .line 193
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tTest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/test/LateMembarInsertionTest;
    RuntimeInvisibleAnnotations: 
      Test()

  public static int unsafeVolatileFieldLoad(java.lang.Object, long);
    descriptor: (Ljava/lang/Object;J)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.Object o
        start local 1 // long offset
         0: .line 199
            getstatic org.graalvm.compiler.core.test.LateMembarInsertionTest.UNSAFE:Lsun/misc/Unsafe;
            aload 0 /* o */
            lload 1 /* offset */
            invokevirtual sun.misc.Unsafe.getIntVolatile:(Ljava/lang/Object;J)I
            ireturn
        end local 1 // long offset
        end local 0 // java.lang.Object o
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0       o  Ljava/lang/Object;
            0    1     1  offset  J
    MethodParameters:
        Name  Flags
      o       
      offset  

  public void test11();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
         0: .line 202
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tTest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/test/LateMembarInsertionTest;
    RuntimeInvisibleAnnotations: 
      Test()

  public static void unsafeVolatileFieldStore(java.lang.Object, long, int);
    descriptor: (Ljava/lang/Object;JI)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.Object o
        start local 1 // long offset
        start local 3 // int v
         0: .line 208
            getstatic org.graalvm.compiler.core.test.LateMembarInsertionTest.UNSAFE:Lsun/misc/Unsafe;
            aload 0 /* o */
            lload 1 /* offset */
            iload 3 /* v */
            invokevirtual sun.misc.Unsafe.putIntVolatile:(Ljava/lang/Object;JI)V
         1: .line 209
            return
        end local 3 // int v
        end local 1 // long offset
        end local 0 // java.lang.Object o
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0       o  Ljava/lang/Object;
            0    2     1  offset  J
            0    2     3       v  I
    MethodParameters:
        Name  Flags
      o       
      offset  
      v       

  public void test12();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
         0: .line 211
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tTest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/test/LateMembarInsertionTest;
    RuntimeInvisibleAnnotations: 
      Test()

  private void verifyMembars(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
         0: .line 221
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/test/LateMembarInsertionTest;
    MethodParameters:
               Name  Flags
      method         
      expectsMembar  

  private static org.graalvm.compiler.options.OptionValues stressTestEarlyReads();
    descriptor: ()Lorg/graalvm/compiler/options/OptionValues;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 251
            invokestatic org.graalvm.compiler.options.OptionValues.newOptionMap:()Ljdk/internal/vm/compiler/collections/EconomicMap;
            astore 0 /* overrides */
        start local 0 // jdk.internal.vm.compiler.collections.EconomicMap overrides
         1: .line 252
            aload 0 /* overrides */
            getstatic org.graalvm.compiler.core.common.GraalOptions.StressTestEarlyReads:Lorg/graalvm/compiler/options/OptionKey;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 253
            new org.graalvm.compiler.options.OptionValues
            dup
            invokestatic org.graalvm.compiler.core.test.LateMembarInsertionTest.getInitialOptions:()Lorg/graalvm/compiler/options/OptionValues;
            aload 0 /* overrides */
            invokespecial org.graalvm.compiler.options.OptionValues.<init>:(Lorg/graalvm/compiler/options/OptionValues;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
            areturn
        end local 0 // jdk.internal.vm.compiler.collections.EconomicMap overrides
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            1    3     0  overrides  Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/options/OptionKey<*>;Ljava/lang/Object;>;

  private java.util.List<org.graalvm.compiler.core.test.LateMembarInsertionTest$TypePair> getAccesses(java.lang.String, org.graalvm.compiler.options.OptionValues);
    descriptor: (Ljava/lang/String;Lorg/graalvm/compiler/options/OptionValues;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
        start local 1 // java.lang.String test
        start local 2 // org.graalvm.compiler.options.OptionValues options
         0: .line 279
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* test */
            invokevirtual org.graalvm.compiler.core.test.LateMembarInsertionTest.getResolvedJavaMethod:(Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            aload 2 /* options */
            invokevirtual org.graalvm.compiler.core.test.LateMembarInsertionTest.getFinalGraph:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 3 /* graph */
        start local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 280
            aload 0 /* this */
            aload 3 /* graph */
            invokevirtual org.graalvm.compiler.core.test.LateMembarInsertionTest.getAccesses:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Ljava/util/List;
            areturn
        end local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 2 // org.graalvm.compiler.options.OptionValues options
        end local 1 // java.lang.String test
        end local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/graalvm/compiler/core/test/LateMembarInsertionTest;
            0    2     1     test  Ljava/lang/String;
            0    2     2  options  Lorg/graalvm/compiler/options/OptionValues;
            1    2     3    graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
    Signature: (Ljava/lang/String;Lorg/graalvm/compiler/options/OptionValues;)Ljava/util/List<Lorg/graalvm/compiler/core/test/LateMembarInsertionTest$TypePair;>;
    MethodParameters:
         Name  Flags
      test     
      options  

  private java.util.List<org.graalvm.compiler.core.test.LateMembarInsertionTest$TypePair> getAccesses(org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 284
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getLastSchedule:()Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
            astore 2 /* schedule */
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult schedule
         1: .line 285
            aload 2 /* schedule */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult.getCFG:()Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            astore 3 /* cfg */
        start local 3 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph cfg
         2: .line 286
            aload 3 /* cfg */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getBlocks:()[Lorg/graalvm/compiler/nodes/cfg/Block;
            astore 4 /* blocks */
        start local 4 // org.graalvm.compiler.nodes.cfg.Block[] blocks
         3: .line 288
            aload 4 /* blocks */
            invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
            aload 2 /* schedule */
            invokedynamic apply(Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;)Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  org/graalvm/compiler/core/test/LateMembarInsertionTest.lambda$0(Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;Lorg/graalvm/compiler/nodes/cfg/Block;)Ljava/util/stream/Stream; (6)
                  (Lorg/graalvm/compiler/nodes/cfg/Block;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokedynamic test()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/test/LateMembarInsertionTest.lambda$1(Lorg/graalvm/compiler/graph/Node;)Z (6)
                  (Lorg/graalvm/compiler/graph/Node;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         4: .line 289
            aload 0 /* this */
            invokedynamic apply(Lorg/graalvm/compiler/core/test/LateMembarInsertionTest;)Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  org/graalvm/compiler/core/test/LateMembarInsertionTest.lambda$2(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/core/test/LateMembarInsertionTest$TypePair; (7)
                  (Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/core/test/LateMembarInsertionTest$TypePair;
         5: .line 288
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         6: .line 289
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
         7: .line 288
            areturn
        end local 4 // org.graalvm.compiler.nodes.cfg.Block[] blocks
        end local 3 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph cfg
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult schedule
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/graalvm/compiler/core/test/LateMembarInsertionTest;
            0    8     1     graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            1    8     2  schedule  Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
            2    8     3       cfg  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            3    8     4    blocks  [Lorg/graalvm/compiler/nodes/cfg/Block;
    Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;)Ljava/util/List<Lorg/graalvm/compiler/core/test/LateMembarInsertionTest$TypePair;>;
    MethodParameters:
       Name  Flags
      graph  

  private java.util.List<org.graalvm.compiler.core.test.LateMembarInsertionTest$TypePair> getAccesses(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
        start local 1 // java.lang.String test
         0: .line 293
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* test */
            invokevirtual org.graalvm.compiler.core.test.LateMembarInsertionTest.getResolvedJavaMethod:(Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokevirtual org.graalvm.compiler.core.test.LateMembarInsertionTest.getFinalGraph:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 2 /* graph */
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 294
            aload 0 /* this */
            aload 2 /* graph */
            invokevirtual org.graalvm.compiler.core.test.LateMembarInsertionTest.getAccesses:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Ljava/util/List;
            areturn
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // java.lang.String test
        end local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/graalvm/compiler/core/test/LateMembarInsertionTest;
            0    2     1   test  Ljava/lang/String;
            1    2     2  graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
    Signature: (Ljava/lang/String;)Ljava/util/List<Lorg/graalvm/compiler/core/test/LateMembarInsertionTest$TypePair;>;
    MethodParameters:
      Name  Flags
      test  

  private jdk.vm.ci.meta.ResolvedJavaType classForAccess(org.graalvm.compiler.nodes.memory.FixedAccessNode);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;)Ljdk/vm/ci/meta/ResolvedJavaType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
        start local 1 // org.graalvm.compiler.nodes.memory.FixedAccessNode n
         0: .line 298
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.nodes.memory.FixedAccessNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            astore 2 /* address */
        start local 2 // org.graalvm.compiler.nodes.memory.address.AddressNode address
         1: .line 299
            aload 2 /* address */
            invokevirtual org.graalvm.compiler.nodes.memory.address.AddressNode.getBase:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 3 /* base */
        start local 3 // org.graalvm.compiler.nodes.ValueNode base
         2: .line 300
            aload 3 /* base */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 4 /* stamp */
        start local 4 // org.graalvm.compiler.core.common.type.Stamp stamp
         3: .line 301
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.test.LateMembarInsertionTest.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            astore 5 /* metaAccess */
        start local 5 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
         4: .line 302
            aload 4 /* stamp */
            aload 5 /* metaAccess */
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.javaType:(Ljdk/vm/ci/meta/MetaAccessProvider;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 6 /* javaType */
        start local 6 // jdk.vm.ci.meta.ResolvedJavaType javaType
         5: .line 303
            aload 6 /* javaType */
            aload 5 /* metaAccess */
            ldc Ljava/lang/Class;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            if_acmpne 8
            aload 3 /* base */
            instanceof org.graalvm.compiler.nodes.ConstantNode
            ifeq 8
         6: .line 304
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.test.LateMembarInsertionTest.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
            astore 7 /* constantReflection */
        start local 7 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
         7: .line 305
            aload 7 /* constantReflection */
            aload 3 /* base */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
            invokeinterface jdk.vm.ci.meta.ConstantReflectionProvider.asJavaType:(Ljdk/vm/ci/meta/Constant;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 6 /* javaType */
        end local 7 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
         8: .line 307
      StackMap locals: org.graalvm.compiler.core.test.LateMembarInsertionTest org.graalvm.compiler.nodes.memory.FixedAccessNode org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp jdk.vm.ci.meta.MetaAccessProvider jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack:
            aload 6 /* javaType */
            areturn
        end local 6 // jdk.vm.ci.meta.ResolvedJavaType javaType
        end local 5 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 4 // org.graalvm.compiler.core.common.type.Stamp stamp
        end local 3 // org.graalvm.compiler.nodes.ValueNode base
        end local 2 // org.graalvm.compiler.nodes.memory.address.AddressNode address
        end local 1 // org.graalvm.compiler.nodes.memory.FixedAccessNode n
        end local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    9     0                this  Lorg/graalvm/compiler/core/test/LateMembarInsertionTest;
            0    9     1                   n  Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;
            1    9     2             address  Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            2    9     3                base  Lorg/graalvm/compiler/nodes/ValueNode;
            3    9     4               stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            4    9     5          metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            5    9     6            javaType  Ljdk/vm/ci/meta/ResolvedJavaType;
            7    8     7  constantReflection  Ljdk/vm/ci/meta/ConstantReflectionProvider;
    MethodParameters:
      Name  Flags
      n     

  private static java.util.stream.Stream lambda$0(org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult, org.graalvm.compiler.nodes.cfg.Block);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;Lorg/graalvm/compiler/nodes/cfg/Block;)Ljava/util/stream/Stream;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // org.graalvm.compiler.nodes.cfg.Block b
         0: .line 288
            aload 0
            aload 1 /* b */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult.nodesFor:(Lorg/graalvm/compiler/nodes/cfg/Block;)Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            areturn
        end local 1 // org.graalvm.compiler.nodes.cfg.Block b
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     b  Lorg/graalvm/compiler/nodes/cfg/Block;

  private static boolean lambda$1(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.graph.Node n
         0: .line 288
            aload 0 /* n */
            instanceof org.graalvm.compiler.nodes.memory.MemoryAccess
            ireturn
        end local 0 // org.graalvm.compiler.graph.Node n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     n  Lorg/graalvm/compiler/graph/Node;

  private org.graalvm.compiler.core.test.LateMembarInsertionTest$TypePair lambda$2(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/core/test/LateMembarInsertionTest$TypePair;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
        start local 1 // org.graalvm.compiler.graph.Node n
         0: .line 289
            new org.graalvm.compiler.core.test.LateMembarInsertionTest$TypePair
            dup
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.memory.ReadNode
            aload 0 /* this */
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.memory.FixedAccessNode
            invokevirtual org.graalvm.compiler.core.test.LateMembarInsertionTest.classForAccess:(Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;)Ljdk/vm/ci/meta/ResolvedJavaType;
            invokespecial org.graalvm.compiler.core.test.LateMembarInsertionTest$TypePair.<init>:(ZLjdk/vm/ci/meta/ResolvedJavaType;)V
            areturn
        end local 1 // org.graalvm.compiler.graph.Node n
        end local 0 // org.graalvm.compiler.core.test.LateMembarInsertionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/test/LateMembarInsertionTest;
            0    1     1     n  Lorg/graalvm/compiler/graph/Node;
}
SourceFile: "LateMembarInsertionTest.java"
NestMembers:
  org.graalvm.compiler.core.test.LateMembarInsertionTest$RegularAccess  org.graalvm.compiler.core.test.LateMembarInsertionTest$TypePair  org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess  org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess2
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  RegularAccess = org.graalvm.compiler.core.test.LateMembarInsertionTest$RegularAccess of org.graalvm.compiler.core.test.LateMembarInsertionTest
  TypePair = org.graalvm.compiler.core.test.LateMembarInsertionTest$TypePair of org.graalvm.compiler.core.test.LateMembarInsertionTest
  VolatileAccess = org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess of org.graalvm.compiler.core.test.LateMembarInsertionTest
  VolatileAccess2 = org.graalvm.compiler.core.test.LateMembarInsertionTest$VolatileAccess2 of org.graalvm.compiler.core.test.LateMembarInsertionTest
  public ScheduleResult = org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult of org.graalvm.compiler.nodes.StructuredGraph