public class org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest extends org.graalvm.compiler.hotspot.test.HotSpotGraalCompilerTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
  super_class: org.graalvm.compiler.hotspot.test.HotSpotGraalCompilerTest
{
  private static java.util.EnumSet<org.graalvm.compiler.hotspot.HotSpotGraalRuntime$HotSpotGC> knownSupport;
    descriptor: Ljava/util/EnumSet;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/EnumSet<Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntime$HotSpotGC;>;

  private final org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config;
    descriptor: Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int expectedBarriers;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private static final java.lang.ref.WeakReference<?> weakReference;
    descriptor: Ljava/lang/ref/WeakReference;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/ref/WeakReference<*>;

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

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

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

  private static final org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$DummyReference dummyReference;
    descriptor: Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$DummyReference;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  static java.lang.Object[] src;
    descriptor: [Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC

  static java.lang.Object[] dst;
    descriptor: [Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 84
            getstatic org.graalvm.compiler.hotspot.HotSpotGraalRuntime$HotSpotGC.G1:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntime$HotSpotGC;
            getstatic org.graalvm.compiler.hotspot.HotSpotGraalRuntime$HotSpotGC.CMS:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntime$HotSpotGC;
            getstatic org.graalvm.compiler.hotspot.HotSpotGraalRuntime$HotSpotGC.Parallel:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntime$HotSpotGC;
            getstatic org.graalvm.compiler.hotspot.HotSpotGraalRuntime$HotSpotGC.Serial:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntime$HotSpotGC;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
            putstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.knownSupport:Ljava/util/EnumSet;
         1: .line 201
            new java.lang.ref.WeakReference
            dup
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            putstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.weakReference:Ljava/lang/ref/WeakReference;
         2: .line 202
            new java.lang.ref.WeakReference
            dup
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            putstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.weakReferenceAsObject:Ljava/lang/Object;
         3: .line 203
            invokestatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.getStaticMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            ldc Ljava/lang/ref/Reference;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            ldc "referent"
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.getFieldOffset:(Ljdk/vm/ci/meta/ResolvedJavaType;Ljava/lang/String;)I
            i2l
            putstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.referenceReferentFieldOffset:J
         4: .line 204
            invokestatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.getStaticMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            ldc Ljava/lang/ref/Reference;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            ldc "queue"
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.getFieldOffset:(Ljdk/vm/ci/meta/ResolvedJavaType;Ljava/lang/String;)I
            i2l
            putstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.referenceQueueFieldOffset:J
         5: .line 206
            new org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$DummyReference
            dup
            invokespecial org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$DummyReference.<init>:()V
            putstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.dummyReference:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$DummyReference;
         6: .line 207
            invokestatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.getStaticMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            ldc Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$DummyReference;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            ldc "referent"
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.getFieldOffset:(Ljdk/vm/ci/meta/ResolvedJavaType;Ljava/lang/String;)I
            i2l
            putstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.dummyReferenceReferentFieldOffset:J
         7: .line 284
            iconst_1
            anewarray java.lang.Object
            putstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.src:[Ljava/lang/Object;
         8: .line 285
            iconst_1
            anewarray java.lang.Object
            putstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.dst:[Ljava/lang/Object;
         9: .line 288
            iconst_0
            istore 0 /* i */
        start local 0 // int i
        10: goto 13
        11: .line 289
      StackMap locals: int
      StackMap stack:
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.src:[Ljava/lang/Object;
            iload 0 /* i */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            aastore
        12: .line 288
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 0 /* i */
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.src:[Ljava/lang/Object;
            arraylength
            if_icmplt 11
        end local 0 // int i
        14: .line 291
            iconst_0
            istore 0 /* i */
        start local 0 // int i
        15: goto 18
        16: .line 292
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.dst:[Ljava/lang/Object;
            iload 0 /* i */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            aastore
        17: .line 291
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 0 /* i */
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.dst:[Ljava/lang/Object;
            arraylength
            if_icmplt 16
        end local 0 // int i
        19: .line 294
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
           10   14     0     i  I
           15   19     0     i  I

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
         0: .line 78
            aload 0 /* this */
            invokespecial org.graalvm.compiler.hotspot.test.HotSpotGraalCompilerTest.<init>:()V
         1: .line 86
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.runtime:()Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
         2: .line 78
            return
        end local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;

  public void testAllocation();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
         0: .line 118
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useG1GC:Z
            ifeq 1
            iconst_4
            goto 2
      StackMap locals:
      StackMap stack: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
         1: iconst_2
      StackMap locals: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
      StackMap stack: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest int
         2: putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.expectedBarriers:I
         3: .line 119
            aload 0 /* this */
            ldc "testAllocationSnippet"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.testWithoutPEA:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         4: .line 120
            return
        end local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public static org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container testAllocationSnippet();
    descriptor: ()Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=0
         0: .line 123
            new org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container
            dup
            invokespecial org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.<init>:()V
            astore 0 /* main */
        start local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container main
         1: .line 124
            new org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container
            dup
            invokespecial org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.<init>:()V
            astore 1 /* temp1 */
        start local 1 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container temp1
         2: .line 125
            new org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container
            dup
            invokespecial org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.<init>:()V
            astore 2 /* temp2 */
        start local 2 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container temp2
         3: .line 126
            aload 0 /* main */
            aload 1 /* temp1 */
            putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.a:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
         4: .line 127
            aload 0 /* main */
            aload 2 /* temp2 */
            putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.b:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
         5: .line 128
            aload 0 /* main */
            areturn
        end local 2 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container temp2
        end local 1 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container temp1
        end local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container main
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            1    6     0   main  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
            2    6     1  temp1  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
            3    6     2  temp2  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;

  public void testLoopAllocation1();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
         0: .line 136
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useG1GC:Z
            ifeq 1
            bipush 8
            goto 2
      StackMap locals:
      StackMap stack: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
         1: iconst_4
      StackMap locals: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
      StackMap stack: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest int
         2: putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.expectedBarriers:I
         3: .line 137
            aload 0 /* this */
            ldc "test2Snippet"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.testWithoutPEA:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         4: .line 138
            aload 0 /* this */
            ldc "test2Snippet"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.testWithoutPEA:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         5: .line 139
            return
        end local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public static void test2Snippet(boolean);
    descriptor: (Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // boolean test
         0: .line 142
            new org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container
            dup
            invokespecial org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.<init>:()V
            astore 1 /* main */
        start local 1 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container main
         1: .line 143
            new org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container
            dup
            invokespecial org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.<init>:()V
            astore 2 /* temp1 */
        start local 2 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container temp1
         2: .line 144
            new org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container
            dup
            invokespecial org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.<init>:()V
            astore 3 /* temp2 */
        start local 3 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container temp2
         3: .line 145
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 12
         5: .line 146
      StackMap locals: int org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container int
      StackMap stack:
            iload 0 /* test */
            ifeq 9
         6: .line 147
            aload 1 /* main */
            aload 2 /* temp1 */
            putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.a:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
         7: .line 148
            aload 1 /* main */
            aload 3 /* temp2 */
            putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.b:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
         8: .line 149
            goto 11
         9: .line 150
      StackMap locals:
      StackMap stack:
            aload 1 /* main */
            aload 3 /* temp2 */
            putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.a:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
        10: .line 151
            aload 1 /* main */
            aload 2 /* temp1 */
            putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.b:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
        11: .line 145
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            bipush 10
            if_icmplt 5
        end local 4 // int i
        13: .line 154
            return
        end local 3 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container temp2
        end local 2 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container temp1
        end local 1 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container main
        end local 0 // boolean test
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   test  Z
            1   14     1   main  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
            2   14     2  temp1  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
            3   14     3  temp2  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
            4   13     4      i  I
    MethodParameters:
      Name  Flags
      test  

  public void testLoopAllocation2();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
         0: .line 161
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useG1GC:Z
            ifeq 1
            bipush 8
            goto 2
      StackMap locals:
      StackMap stack: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
         1: iconst_4
      StackMap locals: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
      StackMap stack: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest int
         2: putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.expectedBarriers:I
         3: .line 162
            aload 0 /* this */
            ldc "test3Snippet"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.testWithoutPEA:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         4: .line 163
            return
        end local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public static void test3Snippet();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=0
         0: .line 166
            bipush 10
            anewarray org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container
            astore 0 /* main */
        start local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container[] main
         1: .line 167
            new org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container
            dup
            invokespecial org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.<init>:()V
            astore 1 /* temp1 */
        start local 1 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container temp1
         2: .line 168
            new org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container
            dup
            invokespecial org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.<init>:()V
            astore 2 /* temp2 */
        start local 2 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container temp2
         3: .line 169
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 7
         5: .line 170
      StackMap locals: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container[] org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container int
      StackMap stack:
            aload 0 /* main */
            iload 3 /* i */
            aaload
            aload 0 /* main */
            iload 3 /* i */
            aaload
            aload 1 /* temp1 */
            dup_x1
            putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.b:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
            putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.a:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
         6: .line 169
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            bipush 10
            if_icmplt 5
        end local 3 // int i
         8: .line 173
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         9: goto 12
        10: .line 174
      StackMap locals:
      StackMap stack:
            aload 0 /* main */
            iload 3 /* i */
            aaload
            aload 0 /* main */
            iload 3 /* i */
            aaload
            aload 2 /* temp2 */
            dup_x1
            putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.b:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
            putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.a:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
        11: .line 173
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            bipush 10
            if_icmplt 10
        end local 3 // int i
        13: .line 176
            return
        end local 2 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container temp2
        end local 1 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container temp1
        end local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container[] main
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            1   14     0   main  [Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
            2   14     1  temp1  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
            3   14     2  temp2  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
            4    8     3      i  I
            9   13     3      i  I

  public void testReferenceGet();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
         0: .line 185
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useG1GC:Z
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
         1: iconst_0
      StackMap locals: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
      StackMap stack: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest int
         2: putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.expectedBarriers:I
         3: .line 186
            aload 0 /* this */
            ldc "testReferenceGetSnippet"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         4: .line 187
            return
        end local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public static java.lang.Object testReferenceGetSnippet();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 190
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.weakReference:Ljava/lang/ref/WeakReference;
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static jdk.vm.ci.meta.MetaAccessProvider getStaticMetaAccess();
    descriptor: ()Ljdk/vm/ci/meta/MetaAccessProvider;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 198
            ldc Lorg/graalvm/compiler/runtime/RuntimeProvider;
            invokestatic org.graalvm.compiler.api.test.Graal.getRequiredCapability:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.runtime.RuntimeProvider
            invokeinterface org.graalvm.compiler.runtime.RuntimeProvider.getHostBackend:()Lorg/graalvm/compiler/core/target/Backend;
            checkcast org.graalvm.compiler.hotspot.HotSpotBackend
            invokevirtual org.graalvm.compiler.hotspot.HotSpotBackend.getRuntime:()Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getHostProviders:()Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
            invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void testReferenceReferent1();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
         0: .line 216
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useG1GC:Z
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
         1: iconst_0
      StackMap locals: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
      StackMap stack: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest int
         2: putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.expectedBarriers:I
         3: .line 217
            aload 0 /* this */
            ldc "testReferenceReferentSnippet"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         4: .line 218
            return
        end local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public java.lang.Object testReferenceReferentSnippet();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
         0: .line 221
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.UNSAFE:Lsun/misc/Unsafe;
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.weakReference:Ljava/lang/ref/WeakReference;
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.referenceReferentFieldOffset:J
            invokevirtual sun.misc.Unsafe.getObject:(Ljava/lang/Object;J)Ljava/lang/Object;
            areturn
        end local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;

  public void testReferenceReferent2();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
         0: .line 231
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useG1GC:Z
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
         1: iconst_0
      StackMap locals: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
      StackMap stack: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest int
         2: putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.expectedBarriers:I
         3: .line 232
            aload 0 /* this */
            ldc "testReferenceReferent2Snippet"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.referenceReferentFieldOffset:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         4: .line 233
            return
        end local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public java.lang.Object testReferenceReferent2Snippet(long);
    descriptor: (J)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
        start local 1 // long offset
         0: .line 236
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.UNSAFE:Lsun/misc/Unsafe;
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.weakReference:Ljava/lang/ref/WeakReference;
            lload 1 /* offset */
            invokevirtual sun.misc.Unsafe.getObject:(Ljava/lang/Object;J)Ljava/lang/Object;
            areturn
        end local 1 // long offset
        end local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
            0    1     1  offset  J
    MethodParameters:
        Name  Flags
      offset  

  public void testReferenceReferent3();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
         0: .line 245
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.expectedBarriers:I
         1: .line 246
            aload 0 /* this */
            ldc "testReferenceReferent3Snippet"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         2: .line 247
            return
        end local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public java.lang.Object testReferenceReferent3Snippet();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
         0: .line 250
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.UNSAFE:Lsun/misc/Unsafe;
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.weakReference:Ljava/lang/ref/WeakReference;
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.referenceQueueFieldOffset:J
            invokevirtual sun.misc.Unsafe.getObject:(Ljava/lang/Object;J)Ljava/lang/Object;
            areturn
        end local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;

  public void testReferenceReferent4();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
         0: .line 261
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useG1GC:Z
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
         1: iconst_0
      StackMap locals: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
      StackMap stack: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest int
         2: putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.expectedBarriers:I
         3: .line 262
            aload 0 /* this */
            ldc "testReferenceReferent4Snippet"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         4: .line 263
            return
        end local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public java.lang.Object testReferenceReferent4Snippet();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
         0: .line 266
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.UNSAFE:Lsun/misc/Unsafe;
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.weakReferenceAsObject:Ljava/lang/Object;
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.referenceReferentFieldOffset:J
            invokevirtual sun.misc.Unsafe.getObject:(Ljava/lang/Object;J)Ljava/lang/Object;
            areturn
        end local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;

  public void testReferenceReferent5();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
         0: .line 275
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.expectedBarriers:I
         1: .line 276
            ldc "expected fields to have the same offset"
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.referenceReferentFieldOffset:J
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.dummyReferenceReferentFieldOffset:J
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
         2: .line 277
            aload 0 /* this */
            ldc "testReferenceReferent5Snippet"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         3: .line 278
            return
        end local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public java.lang.Object testReferenceReferent5Snippet();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
         0: .line 281
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.UNSAFE:Lsun/misc/Unsafe;
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.dummyReference:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$DummyReference;
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.referenceReferentFieldOffset:J
            invokevirtual sun.misc.Unsafe.getObject:(Ljava/lang/Object;J)Ljava/lang/Object;
            areturn
        end local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;

  public static void testArrayCopySnippet(java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.Object a
        start local 1 // java.lang.Object b
        start local 2 // java.lang.Object c
         0: .line 297
            aload 0 /* a */
            iconst_0
            aload 1 /* b */
            iconst_0
            aload 2 /* c */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         1: .line 298
            return
        end local 2 // java.lang.Object c
        end local 1 // java.lang.Object b
        end local 0 // java.lang.Object a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     a  Ljava/lang/Object;
            0    2     1     b  Ljava/lang/Object;
            0    2     2     c  Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      a     
      b     
      c     

  public void testArrayCopy();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
         0: .line 302
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.expectedBarriers:I
         1: .line 303
            aload 0 /* this */
            ldc "testArrayCopySnippet"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.src:[Ljava/lang/Object;
            aastore
            dup
            iconst_1
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.dst:[Ljava/lang/Object;
            aastore
            dup
            iconst_2
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.dst:[Ljava/lang/Object;
            arraylength
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         2: .line 304
            return
        end local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private void verifyBarriers(org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 307
            ldc "Unknown collector selected"
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.knownSupport:Ljava/util/EnumSet;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.runtime:()Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getGarbageCollector:()Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntime$HotSpotGC;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
         1: .line 308
            ldc "test must set expected barrier count"
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.expectedBarriers:I
            i2l
            ldc -1
            invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/String;JJ)V
         2: .line 309
            iconst_0
            istore 2 /* barriers */
        start local 2 // int barriers
         3: .line 310
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useG1GC:Z
            ifeq 8
         4: .line 311
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            ldc Lorg/graalvm/compiler/nodes/gc/G1ReferentFieldReadBarrier;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            ldc Lorg/graalvm/compiler/nodes/gc/G1PreWriteBarrier;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
            iadd
         5: .line 312
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            ldc Lorg/graalvm/compiler/nodes/gc/G1PostWriteBarrier;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
         6: .line 311
            iadd
            istore 2 /* barriers */
         7: .line 313
            goto 9
         8: .line 314
      StackMap locals: int
      StackMap stack:
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            ldc Lorg/graalvm/compiler/nodes/gc/SerialWriteBarrier;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
            istore 2 /* barriers */
         9: .line 316
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.expectedBarriers:I
            iload 2 /* barriers */
            if_icmpeq 11
        10: .line 317
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.expectedBarriers:I
            i2l
            iload 2 /* barriers */
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        11: .line 319
      StackMap locals:
      StackMap stack:
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            ldc Lorg/graalvm/compiler/nodes/memory/WriteNode;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 24
      StackMap locals: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest org.graalvm.compiler.nodes.StructuredGraph int top java.util.Iterator
      StackMap stack:
        12: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.memory.WriteNode
            astore 3 /* write */
        start local 3 // org.graalvm.compiler.nodes.memory.WriteNode write
        13: .line 320
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useG1GC:Z
            ifeq 21
        14: .line 321
            aload 3 /* write */
            invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.getBarrierType:()Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            if_acmpeq 24
        15: .line 322
            lconst_1
            aload 3 /* write */
            invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.successors:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        16: .line 323
            aload 3 /* write */
            invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            instanceof org.graalvm.compiler.nodes.gc.G1PostWriteBarrier
            invokestatic org.junit.Assert.assertTrue:(Z)V
        17: .line 324
            aload 3 /* write */
            invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
            instanceof org.graalvm.compiler.nodes.gc.G1PreWriteBarrier
            ifne 18
            aload 3 /* write */
            invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.getLocationIdentity:()Lorg/graalvm/word/LocationIdentity;
            invokevirtual org.graalvm.word.LocationIdentity.isImmutable:()Z
            ifne 18
            iconst_0
            goto 19
      StackMap locals: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.nodes.memory.WriteNode java.util.Iterator
      StackMap stack:
        18: iconst_1
      StackMap locals:
      StackMap stack: int
        19: invokestatic org.junit.Assert.assertTrue:(Z)V
        20: .line 326
            goto 24
        21: .line 327
      StackMap locals:
      StackMap stack:
            aload 3 /* write */
            invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.getBarrierType:()Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            if_acmpeq 24
        22: .line 328
            lconst_1
            aload 3 /* write */
            invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.successors:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        23: .line 329
            aload 3 /* write */
            invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            instanceof org.graalvm.compiler.nodes.gc.SerialWriteBarrier
            invokestatic org.junit.Assert.assertTrue:(Z)V
        end local 3 // org.graalvm.compiler.nodes.memory.WriteNode write
        24: .line 319
      StackMap locals: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest org.graalvm.compiler.nodes.StructuredGraph int top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        25: .line 334
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            ldc Lorg/graalvm/compiler/nodes/memory/ReadNode;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 37
      StackMap locals:
      StackMap stack:
        26: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.memory.ReadNode
            astore 3 /* read */
        start local 3 // org.graalvm.compiler.nodes.memory.ReadNode read
        27: .line 335
            aload 3 /* read */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getBarrierType:()Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            if_acmpeq 37
        28: .line 336
            aload 3 /* read */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            instanceof org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
            ifeq 32
        29: .line 337
            aload 3 /* read */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            checkcast org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
            invokevirtual org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.getOffset:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            astore 5 /* constDisp */
        start local 5 // jdk.vm.ci.meta.JavaConstant constDisp
        30: .line 338
            aload 5 /* constDisp */
            ifnull 32
        31: .line 339
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.referentOffset:(Ljdk/vm/ci/meta/MetaAccessProvider;)J
            aload 5 /* constDisp */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        end local 5 // jdk.vm.ci.meta.JavaConstant constDisp
        32: .line 342
      StackMap locals: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.nodes.memory.ReadNode java.util.Iterator
      StackMap stack:
            getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.WEAK_FIELD:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            aload 3 /* read */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getBarrierType:()Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            if_acmpeq 33
            getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.MAYBE_WEAK_FIELD:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            aload 3 /* read */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getBarrierType:()Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
            if_acmpeq 33
            iconst_0
            goto 34
      StackMap locals:
      StackMap stack:
        33: iconst_1
      StackMap locals:
      StackMap stack: int
        34: invokestatic org.junit.Assert.assertTrue:(Z)V
        35: .line 343
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useG1GC:Z
            ifeq 37
        36: .line 344
            aload 3 /* read */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            instanceof org.graalvm.compiler.nodes.gc.G1ReferentFieldReadBarrier
            invokestatic org.junit.Assert.assertTrue:(Z)V
        end local 3 // org.graalvm.compiler.nodes.memory.ReadNode read
        37: .line 334
      StackMap locals: org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest org.graalvm.compiler.nodes.StructuredGraph int top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 26
        38: .line 348
            return
        end local 2 // int barriers
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   39     0       this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
            0   39     1      graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            3   39     2   barriers  I
           13   24     3      write  Lorg/graalvm/compiler/nodes/memory/WriteNode;
           27   37     3       read  Lorg/graalvm/compiler/nodes/memory/ReadNode;
           30   32     5  constDisp  Ljdk/vm/ci/meta/JavaConstant;
    MethodParameters:
       Name  Flags
      graph  

  protected org.graalvm.compiler.core.test.GraalCompilerTest$Result testWithoutPEA(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
    flags: (0x0084) ACC_PROTECTED, ACC_VARARGS
    Code:
      stack=10, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Object[] args
         0: .line 351
            aload 0 /* this */
            new org.graalvm.compiler.options.OptionValues
            dup
            invokestatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.getInitialOptions:()Lorg/graalvm/compiler/options/OptionValues;
            getstatic org.graalvm.compiler.core.common.GraalOptions.PartialEscapeAnalysis:Lorg/graalvm/compiler/options/OptionKey;
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            bipush 6
            anewarray java.lang.Object
            dup
            iconst_0
            getstatic org.graalvm.compiler.core.common.GraalOptions.FullUnroll:Lorg/graalvm/compiler/options/OptionKey;
            aastore
            dup
            iconst_1
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_2
            getstatic org.graalvm.compiler.core.common.GraalOptions.LoopPeeling:Lorg/graalvm/compiler/options/OptionKey;
            aastore
            dup
            iconst_3
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_4
            getstatic org.graalvm.compiler.core.common.GraalOptions.PartialUnroll:Lorg/graalvm/compiler/options/OptionKey;
            aastore
            dup
            iconst_5
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            invokespecial org.graalvm.compiler.options.OptionValues.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/Object;[Ljava/lang/Object;)V
            aload 1 /* name */
            aload 2 /* args */
            invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.test:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            areturn
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
            0    1     1  name  Ljava/lang/String;
            0    1     2  args  [Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      name  
      args  

  public void before();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
         0: .line 356
            aload 0 /* this */
            iconst_m1
            putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.expectedBarriers:I
         1: .line 357
            return
        end local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
    RuntimeVisibleAnnotations: 
      org.junit.Before()

  protected org.graalvm.compiler.phases.tiers.Suites createSuites(org.graalvm.compiler.options.OptionValues);
    descriptor: (Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/phases/tiers/Suites;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
        start local 1 // org.graalvm.compiler.options.OptionValues opts
         0: .line 364
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.getBackend:()Lorg/graalvm/compiler/core/target/Backend;
            invokevirtual org.graalvm.compiler.core.target.Backend.getSuites:()Lorg/graalvm/compiler/phases/tiers/SuitesProvider;
            aload 1 /* opts */
            invokeinterface org.graalvm.compiler.phases.tiers.SuitesProvider.getDefaultSuites:(Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/phases/tiers/Suites;
            invokevirtual org.graalvm.compiler.phases.tiers.Suites.copy:()Lorg/graalvm/compiler/phases/tiers/Suites;
            astore 2 /* ret */
        start local 2 // org.graalvm.compiler.phases.tiers.Suites ret
         1: .line 365
            aload 2 /* ret */
            invokevirtual org.graalvm.compiler.phases.tiers.Suites.getMidTier:()Lorg/graalvm/compiler/phases/PhaseSuite;
            ldc Lorg/graalvm/compiler/phases/common/WriteBarrierAdditionPhase;
            iconst_1
            invokevirtual org.graalvm.compiler.phases.PhaseSuite.findPhase:(Ljava/lang/Class;Z)Ljava/util/ListIterator;
            astore 3 /* iter */
        start local 3 // java.util.ListIterator iter
         2: .line 366
            aload 3 /* iter */
            new org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$1
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$1.<init>:(Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;)V
            invokeinterface java.util.ListIterator.add:(Ljava/lang/Object;)V
         3: .line 383
            aload 2 /* ret */
            areturn
        end local 3 // java.util.ListIterator iter
        end local 2 // org.graalvm.compiler.phases.tiers.Suites ret
        end local 1 // org.graalvm.compiler.options.OptionValues opts
        end local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
            0    4     1  opts  Lorg/graalvm/compiler/options/OptionValues;
            1    4     2   ret  Lorg/graalvm/compiler/phases/tiers/Suites;
            2    4     3  iter  Ljava/util/ListIterator<Lorg/graalvm/compiler/phases/BasePhase<-Lorg/graalvm/compiler/phases/tiers/MidTierContext;>;>;
    MethodParameters:
      Name  Flags
      opts  
}
SourceFile: "WriteBarrierAdditionTest.java"
NestMembers:
  org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$1  org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container  org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$DummyReference
InnerClasses:
  public Result = org.graalvm.compiler.core.test.GraalCompilerTest$Result of org.graalvm.compiler.core.test.GraalCompilerTest
  public final HotSpotGC = org.graalvm.compiler.hotspot.HotSpotGraalRuntime$HotSpotGC of org.graalvm.compiler.hotspot.HotSpotGraalRuntime
  org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$1
  public Container = org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container of org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
  DummyReference = org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$DummyReference of org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
  public final BarrierType = org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType of org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess