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 final org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config;
    descriptor: Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static java.lang.ref.WeakReference<java.lang.Object> wr;
    descriptor: Ljava/lang/ref/WeakReference;
    flags: (0x0008) ACC_STATIC
    Signature: Ljava/lang/ref/WeakReference<Ljava/lang/Object;>;

  static org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container con;
    descriptor: Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
    flags: (0x0008) ACC_STATIC

  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 162
            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.wr:Ljava/lang/ref/WeakReference;
         1: .line 163
            new org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container
            dup
            invokespecial org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.<init>:()V
            putstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.con:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
         2: .line 239
            iconst_1
            anewarray java.lang.Object
            putstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.src:[Ljava/lang/Object;
         3: .line 240
            iconst_1
            anewarray java.lang.Object
            putstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.dst:[Ljava/lang/Object;
         4: .line 243
            iconst_0
            istore 0 /* i */
        start local 0 // int i
         5: goto 8
         6: .line 244
      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
         7: .line 243
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 0 /* i */
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.src:[Ljava/lang/Object;
            arraylength
            if_icmplt 6
        end local 0 // int i
         9: .line 246
            iconst_0
            istore 0 /* i */
        start local 0 // int i
        10: goto 13
        11: .line 247
      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
        12: .line 246
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 0 /* i */
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.dst:[Ljava/lang/Object;
            arraylength
            if_icmplt 11
        end local 0 // int i
        14: .line 249
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            5    9     0     i  I
           10   14     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 77
            aload 0 /* this */
            invokespecial org.graalvm.compiler.hotspot.test.HotSpotGraalCompilerTest.<init>:()V
         1: .line 79
            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 77
            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 test1();
    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 90
            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.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
    Exceptions:
      throws java.lang.Exception
    RuntimeInvisibleAnnotations: 
      Test()

  public static void test1Snippet();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=0
         0: .line 96
            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 97
            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 98
            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 99
            aload 0 /* main */
            aload 1 /* temp1 */
            putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.a:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
         4: .line 100
            aload 0 /* main */
            aload 2 /* temp2 */
            putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.b:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
         5: .line 101
            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    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 test2();
    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 106
            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.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
    Exceptions:
      throws java.lang.Exception
    RuntimeInvisibleAnnotations: 
      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 112
            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 113
            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 114
            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 115
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 12
         5: .line 116
      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 117
            aload 1 /* main */
            aload 2 /* temp1 */
            putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.a:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
         7: .line 118
            aload 1 /* main */
            aload 3 /* temp2 */
            putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.b:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
         8: .line 119
            goto 11
         9: .line 120
      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 121
            aload 1 /* main */
            aload 2 /* temp1 */
            putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container.b:Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$Container;
        11: .line 115
      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 124
            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 test3();
    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 129
            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.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
    Exceptions:
      throws java.lang.Exception
    RuntimeInvisibleAnnotations: 
      Test()

  public static void test3Snippet();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=0
         0: .line 135
            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 136
            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 137
            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 138
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 7
         5: .line 139
      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 138
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            bipush 10
            if_icmplt 5
        end local 3 // int i
         8: .line 142
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         9: goto 12
        10: .line 143
      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 142
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            bipush 10
            if_icmplt 10
        end local 3 // int i
        13: .line 145
            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 test4();
    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 152
            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.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
    Exceptions:
      throws java.lang.Exception
    RuntimeInvisibleAnnotations: 
      Test()

  public static java.lang.Object test4Snippet();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 158
            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
            astore 0 /* weakRef */
        start local 0 // java.lang.ref.WeakReference weakRef
         1: .line 159
            aload 0 /* weakRef */
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            areturn
        end local 0 // java.lang.ref.WeakReference weakRef
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            1    2     0  weakRef  Ljava/lang/ref/WeakReference<Ljava/lang/Object;>;

  public void test5();
    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 170
            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.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
    Exceptions:
      throws java.lang.Exception
    RuntimeInvisibleAnnotations: 
      Test()

  protected void registerInvocationPlugins(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
         0: .line 178
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tPluginFactory_WriteBarrierAdditionTest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        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;
    MethodParameters:
                   Name  Flags
      invocationPlugins  

  public static boolean useCompressedOops(org.graalvm.compiler.hotspot.GraalHotSpotVMConfig);
    descriptor: (Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config
         0: .line 184
            aload 0 /* config */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useCompressedOops:Z
            ireturn
        end local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  config  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.api.replacements.Fold()
    RuntimeVisibleParameterAnnotations: 
      0:
        org.graalvm.compiler.api.replacements.Fold$InjectedParameter()
    MethodParameters:
        Name  Flags
      config  

  public static java.lang.Object test5Snippet();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 188
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.UNSAFE:Lsun/misc/Unsafe;
            getstatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.wr:Ljava/lang/ref/WeakReference;
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigBase.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            invokestatic org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.useCompressedOops:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)Z
            ifeq 1
            ldc 12
            goto 2
      StackMap locals:
      StackMap stack: sun.misc.Unsafe java.lang.ref.WeakReference
         1: ldc 16
      StackMap locals:
      StackMap stack: sun.misc.Unsafe java.lang.ref.WeakReference long
         2: invokevirtual sun.misc.Unsafe.getObject:(Ljava/lang/Object;J)Ljava/lang/Object;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  public void test6();
    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 195
            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.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
    Exceptions:
      throws java.lang.Exception
    RuntimeInvisibleAnnotations: 
      Test()

  public void test7();
    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 204
            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.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
    Exceptions:
      throws java.lang.Exception
    RuntimeInvisibleAnnotations: 
      Test()

  public void test8();
    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 214
            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.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
    Exceptions:
      throws java.lang.Exception
    RuntimeInvisibleAnnotations: 
      Test()

  public void test10();
    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 224
            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.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
    Exceptions:
      throws java.lang.Exception
    RuntimeInvisibleAnnotations: 
      Test()

  public void test9();
    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 234
            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.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
    Exceptions:
      throws java.lang.Exception
    RuntimeInvisibleAnnotations: 
      Test()

  public static void testArrayCopy(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 252
            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 253
            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 test11();
    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 255
            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.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
    Exceptions:
      throws java.lang.Exception
    RuntimeInvisibleAnnotations: 
      Test()

  public static void testWordFieldSnippet();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 265
            new org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$WordContainer
            dup
            invokespecial org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$WordContainer.<init>:()V
            astore 0 /* wordContainer */
        start local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$WordContainer wordContainer
         1: .line 266
            aload 0 /* wordContainer */
            bipush 42
            invokestatic jdk.internal.vm.compiler.word.WordFactory.signed:(I)Ljdk/internal/vm/compiler/word/SignedWord;
            checkcast org.graalvm.compiler.word.Word
            putfield org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$WordContainer.word:Lorg/graalvm/compiler/word/Word;
         2: .line 267
            return
        end local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$WordContainer wordContainer
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            1    3     0  wordContainer  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest$WordContainer;

  public void testWordField();
    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 269
            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.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
    Exceptions:
      throws java.lang.Exception
    RuntimeInvisibleAnnotations: 
      Test()

  public static org.graalvm.compiler.word.Word[] testWordArraySnippet(int);
    descriptor: (I)[Lorg/graalvm/compiler/word/Word;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // int length
         0: .line 275
            bipush 42
            invokestatic jdk.internal.vm.compiler.word.WordFactory.signed:(I)Ljdk/internal/vm/compiler/word/SignedWord;
            checkcast org.graalvm.compiler.word.Word
            astore 1 /* fortyTwo */
        start local 1 // org.graalvm.compiler.word.Word fortyTwo
         1: .line 276
            iload 0 /* length */
            anewarray org.graalvm.compiler.word.Word
            astore 2 /* words */
        start local 2 // org.graalvm.compiler.word.Word[] words
         2: .line 277
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 278
      StackMap locals: org.graalvm.compiler.word.Word org.graalvm.compiler.word.Word[] int
      StackMap stack:
            aload 2 /* words */
            iload 3 /* i */
            aload 1 /* fortyTwo */
            aastore
         5: .line 277
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iload 0 /* length */
            if_icmplt 4
        end local 3 // int i
         7: .line 280
            aload 2 /* words */
            areturn
        end local 2 // org.graalvm.compiler.word.Word[] words
        end local 1 // org.graalvm.compiler.word.Word fortyTwo
        end local 0 // int length
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0    length  I
            1    8     1  fortyTwo  Lorg/graalvm/compiler/word/Word;
            2    8     2     words  [Lorg/graalvm/compiler/word/Word;
            3    7     3         i  I
    MethodParameters:
        Name  Flags
      length  

  public void testWordArray();
    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 283
            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.hotspot.test.WriteBarrierAdditionTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
    Exceptions:
      throws java.lang.Exception
    RuntimeInvisibleAnnotations: 
      Test()

  public static java.lang.Object testUnsafeLoad(sun.misc.Unsafe, java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Lsun/misc/Unsafe;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // sun.misc.Unsafe theUnsafe
        start local 1 // java.lang.Object a
        start local 2 // java.lang.Object b
        start local 3 // java.lang.Object c
         0: .line 289
            aload 3 /* c */
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 3 /* c */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
      StackMap locals:
      StackMap stack: int
         2: istore 4 /* offset */
        start local 4 // int offset
         3: .line 290
            aload 2 /* b */
            ifnonnull 4
            lconst_0
            goto 5
      StackMap locals: int
      StackMap stack:
         4: aload 2 /* b */
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
      StackMap locals:
      StackMap stack: long
         5: lstore 5 /* displacement */
        start local 5 // long displacement
         6: .line 291
            aload 0 /* theUnsafe */
            aload 1 /* a */
            iload 4 /* offset */
            i2l
            lload 5 /* displacement */
            ladd
            invokevirtual sun.misc.Unsafe.getObject:(Ljava/lang/Object;J)Ljava/lang/Object;
            areturn
        end local 5 // long displacement
        end local 4 // int offset
        end local 3 // java.lang.Object c
        end local 2 // java.lang.Object b
        end local 1 // java.lang.Object a
        end local 0 // sun.misc.Unsafe theUnsafe
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0     theUnsafe  Lsun/misc/Unsafe;
            0    7     1             a  Ljava/lang/Object;
            0    7     2             b  Ljava/lang/Object;
            0    7     3             c  Ljava/lang/Object;
            3    7     4        offset  I
            6    7     5  displacement  J
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
           Name  Flags
      theUnsafe  
      a          
      b          
      c          

  private jdk.vm.ci.hotspot.HotSpotInstalledCode getInstalledCode(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Ljdk/vm/ci/hotspot/HotSpotInstalledCode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
        start local 1 // java.lang.String name
        start local 2 // boolean withUnsafePrefix
         0: .line 295
            iload 2 /* withUnsafePrefix */
            ifeq 1
            aload 0 /* this */
            ldc Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
            aload 1 /* name */
            iconst_4
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lsun/misc/Unsafe;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_3
            ldc Ljava/lang/Object;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.getResolvedJavaMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            goto 2
         1: .line 296
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc Lorg/graalvm/compiler/hotspot/test/WriteBarrierAdditionTest;
            aload 1 /* name */
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc Ljava/lang/Object;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.getResolvedJavaMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
         2: .line 295
      StackMap locals:
      StackMap stack: jdk.vm.ci.meta.ResolvedJavaMethod
            astore 3 /* javaMethod */
        start local 3 // jdk.vm.ci.meta.ResolvedJavaMethod javaMethod
         3: .line 297
            aload 0 /* this */
            aload 3 /* javaMethod */
            invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.getCode:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/code/InstalledCode;
            checkcast jdk.vm.ci.hotspot.HotSpotInstalledCode
            astore 4 /* installedCode */
        start local 4 // jdk.vm.ci.hotspot.HotSpotInstalledCode installedCode
         4: .line 298
            aload 4 /* installedCode */
            areturn
        end local 4 // jdk.vm.ci.hotspot.HotSpotInstalledCode installedCode
        end local 3 // jdk.vm.ci.meta.ResolvedJavaMethod javaMethod
        end local 2 // boolean withUnsafePrefix
        end local 1 // java.lang.String name
        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;
            0    5     1              name  Ljava/lang/String;
            0    5     2  withUnsafePrefix  Z
            3    5     3        javaMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            4    5     4     installedCode  Ljdk/vm/ci/hotspot/HotSpotInstalledCode;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
                  Name  Flags
      name              
      withUnsafePrefix  

  private void testHelper(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
         0: .line 325
            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\tAssert cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        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;
    Exceptions:
      throws java.lang.Exception, java.lang.SecurityException
    MethodParameters:
                  Name  Flags
      snippetName       final
      expectedBarriers  final

  private void test2(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)V
    flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest this
        start local 1 // java.lang.String snippet
        start local 2 // java.lang.Object[] args
         0: .line 360
            aload 0 /* this */
            aload 1 /* snippet */
            aload 2 /* args */
            iconst_0
            aaload
            instanceof sun.misc.Unsafe
            invokevirtual org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest.getInstalledCode:(Ljava/lang/String;Z)Ljdk/vm/ci/hotspot/HotSpotInstalledCode;
            astore 3 /* code */
        start local 3 // jdk.vm.ci.hotspot.HotSpotInstalledCode code
         1: .line 361
            aload 3 /* code */
            aload 2 /* args */
            invokevirtual jdk.vm.ci.hotspot.HotSpotInstalledCode.executeVarargs:([Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 362
            return
        end local 3 // jdk.vm.ci.hotspot.HotSpotInstalledCode code
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String snippet
        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;
            0    3     1  snippet  Ljava/lang/String;
            0    3     2     args  [Ljava/lang/Object;
            1    3     3     code  Ljdk/vm/ci/hotspot/HotSpotInstalledCode;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
         Name  Flags
      snippet  final
      args     
}
SourceFile: "WriteBarrierAdditionTest.java"
NestMembers:
  org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container  org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$WordContainer
InnerClasses:
  public abstract InjectedParameter = org.graalvm.compiler.api.replacements.Fold$InjectedParameter of org.graalvm.compiler.api.replacements.Fold
  public Container = org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$Container of org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest
  public WordContainer = org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest$WordContainer of org.graalvm.compiler.hotspot.test.WriteBarrierAdditionTest