public class org.graalvm.compiler.core.test.SubWordArrayStoreTest extends org.graalvm.compiler.core.test.CustomizedBytecodePatternTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.core.test.SubWordArrayStoreTest
  super_class: org.graalvm.compiler.core.test.CustomizedBytecodePatternTest
{
  private static final java.lang.String SNIPPET;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "snippet"

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

  private final int value;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean unsafeStore;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean unsafeLoad;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static volatile int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  public static java.util.List<java.lang.Object[]> data();
    descriptor: ()Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=13, args_size=0
         0: .line 45
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 0 /* ret */
        start local 0 // java.util.ArrayList ret
         1: .line 46
            iconst_4
            newarray 10
            dup
            iconst_0
            ldc -65536
            iastore
            dup
            iconst_1
            ldc -65535
            iastore
            dup
            iconst_2
            ldc 65535
            iastore
            dup
            iconst_3
            ldc 16909060
            iastore
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 16
      StackMap locals: java.util.ArrayList top int int int[]
      StackMap stack:
         2: aload 4
            iload 2
            iaload
            istore 1 /* i */
        start local 1 // int i
         3: .line 47
            iconst_2
            newarray 4
            dup
            iconst_1
            iconst_1
            bastore
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 14
      StackMap locals: java.util.ArrayList int int int int[] top int int boolean[]
      StackMap stack:
         4: aload 8
            iload 6
            baload
            istore 5 /* unsafeStore */
        start local 5 // boolean unsafeStore
         5: .line 48
            iconst_2
            newarray 4
            dup
            iconst_1
            iconst_1
            bastore
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 12
      StackMap locals: java.util.ArrayList int int int int[] int int int boolean[] top int int boolean[]
      StackMap stack:
         6: aload 12
            iload 10
            baload
            istore 9 /* unsafeLoad */
        start local 9 // boolean unsafeLoad
         7: .line 49
            aload 0 /* ret */
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            iconst_1
            iload 1 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iload 5 /* unsafeStore */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_3
            iload 9 /* unsafeLoad */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         8: .line 50
            aload 0 /* ret */
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            iconst_1
            iload 1 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iload 5 /* unsafeStore */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_3
            iload 9 /* unsafeLoad */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         9: .line 51
            aload 0 /* ret */
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            iconst_1
            iload 1 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iload 5 /* unsafeStore */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_3
            iload 9 /* unsafeLoad */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        10: .line 52
            aload 0 /* ret */
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
            aastore
            dup
            iconst_1
            iload 1 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iload 5 /* unsafeStore */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_3
            iload 9 /* unsafeLoad */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // boolean unsafeLoad
        11: .line 48
            iinc 10 1
      StackMap locals:
      StackMap stack:
        12: iload 10
            iload 11
            if_icmplt 6
        end local 5 // boolean unsafeStore
        13: .line 47
            iinc 6 1
      StackMap locals: java.util.ArrayList int int int int[] top int int boolean[]
      StackMap stack:
        14: iload 6
            iload 7
            if_icmplt 4
        end local 1 // int i
        15: .line 46
            iinc 2 1
      StackMap locals: java.util.ArrayList top int int int[]
      StackMap stack:
        16: iload 2
            iload 3
            if_icmplt 2
        17: .line 56
            aload 0 /* ret */
            areturn
        end local 0 // java.util.ArrayList ret
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            1   18     0          ret  Ljava/util/ArrayList<[Ljava/lang/Object;>;
            3   15     1            i  I
            5   13     5  unsafeStore  Z
            7   11     9   unsafeLoad  Z
    Signature: ()Ljava/util/List<[Ljava/lang/Object;>;
    RuntimeVisibleAnnotations: 
      org.junit.runners.Parameterized$Parameters(name = "{0}, {1}, {2}, {3}")

  public void <init>(jdk.vm.ci.meta.JavaKind, int, boolean, boolean);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;IZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.core.test.SubWordArrayStoreTest this
        start local 1 // jdk.vm.ci.meta.JavaKind kind
        start local 2 // int value
        start local 3 // boolean unsafeStore
        start local 4 // boolean unsafeLoad
         0: .line 66
            aload 0 /* this */
            invokespecial org.graalvm.compiler.core.test.CustomizedBytecodePatternTest.<init>:()V
         1: .line 67
            aload 0 /* this */
            aload 1 /* kind */
            putfield org.graalvm.compiler.core.test.SubWordArrayStoreTest.kind:Ljdk/vm/ci/meta/JavaKind;
         2: .line 68
            aload 0 /* this */
            iload 2 /* value */
            putfield org.graalvm.compiler.core.test.SubWordArrayStoreTest.value:I
         3: .line 69
            aload 0 /* this */
            iload 3 /* unsafeStore */
            putfield org.graalvm.compiler.core.test.SubWordArrayStoreTest.unsafeStore:Z
         4: .line 70
            aload 0 /* this */
            iload 4 /* unsafeLoad */
            putfield org.graalvm.compiler.core.test.SubWordArrayStoreTest.unsafeLoad:Z
         5: .line 71
            return
        end local 4 // boolean unsafeLoad
        end local 3 // boolean unsafeStore
        end local 2 // int value
        end local 1 // jdk.vm.ci.meta.JavaKind kind
        end local 0 // org.graalvm.compiler.core.test.SubWordArrayStoreTest this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/graalvm/compiler/core/test/SubWordArrayStoreTest;
            0    6     1         kind  Ljdk/vm/ci/meta/JavaKind;
            0    6     2        value  I
            0    6     3  unsafeStore  Z
            0    6     4   unsafeLoad  Z
    MethodParameters:
             Name  Flags
      kind         
      value        
      unsafeStore  
      unsafeLoad   

  public void testArrayStore();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.core.test.SubWordArrayStoreTest this
         0: .line 75
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc Lorg/graalvm/compiler/core/test/SubWordArrayStoreTest;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "$"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.graalvm.compiler.core.test.SubWordArrayStoreTest.kind:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "Getter"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.graalvm.compiler.core.test.SubWordArrayStoreTest.getClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 1 /* testClass */
        start local 1 // java.lang.Class testClass
         1: .line 76
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* testClass */
            ldc "snippet"
            invokevirtual org.graalvm.compiler.core.test.SubWordArrayStoreTest.getResolvedJavaMethod:(Ljava/lang/Class;Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            aconst_null
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.core.test.SubWordArrayStoreTest.test:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Object;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         2: .line 77
            return
        end local 1 // java.lang.Class testClass
        end local 0 // org.graalvm.compiler.core.test.SubWordArrayStoreTest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/graalvm/compiler/core/test/SubWordArrayStoreTest;
            1    3     1  testClass  Ljava/lang/Class<*>;
    Exceptions:
      throws java.lang.ClassNotFoundException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static long arrayBaseOffset(jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.JavaKind kind
         0: .line 80
            invokestatic org.graalvm.compiler.core.test.SubWordArrayStoreTest.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
            aload 0 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 1
                    2: 2
                    3: 3
                    4: 4
              default: 5
          }
         1: .line 82
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.core.test.SubWordArrayStoreTest.UNSAFE:Lsun/misc/Unsafe;
            ldc [Z
            invokevirtual sun.misc.Unsafe.arrayBaseOffset:(Ljava/lang/Class;)I
            i2l
            lreturn
         2: .line 84
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.core.test.SubWordArrayStoreTest.UNSAFE:Lsun/misc/Unsafe;
            ldc [B
            invokevirtual sun.misc.Unsafe.arrayBaseOffset:(Ljava/lang/Class;)I
            i2l
            lreturn
         3: .line 86
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.core.test.SubWordArrayStoreTest.UNSAFE:Lsun/misc/Unsafe;
            ldc [S
            invokevirtual sun.misc.Unsafe.arrayBaseOffset:(Ljava/lang/Class;)I
            i2l
            lreturn
         4: .line 88
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.core.test.SubWordArrayStoreTest.UNSAFE:Lsun/misc/Unsafe;
            ldc [C
            invokevirtual sun.misc.Unsafe.arrayBaseOffset:(Ljava/lang/Class;)I
            i2l
            lreturn
         5: .line 90
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 0 // jdk.vm.ci.meta.JavaKind kind
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  kind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
      Name  Flags
      kind  

  static int toASMType(jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.JavaKind kind
         0: .line 95
            invokestatic org.graalvm.compiler.core.test.SubWordArrayStoreTest.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
            aload 0 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 1
                    2: 2
                    3: 3
                    4: 4
              default: 5
          }
         1: .line 97
      StackMap locals:
      StackMap stack:
            iconst_4
            ireturn
         2: .line 99
      StackMap locals:
      StackMap stack:
            bipush 8
            ireturn
         3: .line 101
      StackMap locals:
      StackMap stack:
            bipush 9
            ireturn
         4: .line 103
      StackMap locals:
      StackMap stack:
            iconst_5
            ireturn
         5: .line 105
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 0 // jdk.vm.ci.meta.JavaKind kind
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  kind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
      Name  Flags
      kind  

  private static int toArrayStoreOpcode(jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.JavaKind kind
         0: .line 110
            invokestatic org.graalvm.compiler.core.test.SubWordArrayStoreTest.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
            aload 0 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 1
                    2: 1
                    3: 2
                    4: 3
              default: 4
          }
         1: .line 113
      StackMap locals:
      StackMap stack:
            bipush 84
            ireturn
         2: .line 115
      StackMap locals:
      StackMap stack:
            bipush 86
            ireturn
         3: .line 117
      StackMap locals:
      StackMap stack:
            bipush 85
            ireturn
         4: .line 119
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 0 // jdk.vm.ci.meta.JavaKind kind
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  kind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
      Name  Flags
      kind  

  private static int toArrayLoadOpcode(jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.JavaKind kind
         0: .line 124
            invokestatic org.graalvm.compiler.core.test.SubWordArrayStoreTest.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
            aload 0 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 1
                    2: 1
                    3: 2
                    4: 3
              default: 4
          }
         1: .line 127
      StackMap locals:
      StackMap stack:
            bipush 51
            ireturn
         2: .line 129
      StackMap locals:
      StackMap stack:
            bipush 53
            ireturn
         3: .line 131
      StackMap locals:
      StackMap stack:
            bipush 52
            ireturn
         4: .line 133
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 0 // jdk.vm.ci.meta.JavaKind kind
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  kind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
      Name  Flags
      kind  

  protected byte[] generateClass(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // org.graalvm.compiler.core.test.SubWordArrayStoreTest this
        start local 1 // java.lang.String internalClassName
         0: .line 139
            new org.objectweb.asm.ClassWriter
            dup
            iconst_2
            invokespecial org.objectweb.asm.ClassWriter.<init>:(I)V
            astore 2 /* cw */
        start local 2 // org.objectweb.asm.ClassWriter cw
         1: .line 140
            aload 2 /* cw */
            bipush 52
            bipush 33
            aload 1 /* internalClassName */
            aconst_null
            ldc "java/lang/Object"
            aconst_null
            invokevirtual org.objectweb.asm.ClassWriter.visit:(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
         2: .line 143
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.graalvm.compiler.core.test.SubWordArrayStoreTest.kind:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.getTypeChar:()C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* fieldDescriptor */
        start local 3 // java.lang.String fieldDescriptor
         3: .line 145
            aload 2 /* cw */
            bipush 9
            ldc "array"
            aload 3 /* fieldDescriptor */
            aconst_null
            aconst_null
            invokevirtual org.objectweb.asm.ClassWriter.visitField:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)Lorg/objectweb/asm/FieldVisitor;
            astore 4 /* field */
        start local 4 // org.objectweb.asm.FieldVisitor field
         4: .line 146
            aload 4 /* field */
            invokevirtual org.objectweb.asm.FieldVisitor.visitEnd:()V
         5: .line 148
            aload 2 /* cw */
            bipush 8
            ldc "<clinit>"
            ldc "()V"
            aconst_null
            aconst_null
            invokevirtual org.objectweb.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/objectweb/asm/MethodVisitor;
            astore 5 /* clinit */
        start local 5 // org.objectweb.asm.MethodVisitor clinit
         6: .line 149
            aload 5 /* clinit */
            invokevirtual org.objectweb.asm.MethodVisitor.visitCode:()V
         7: .line 150
            aload 5 /* clinit */
            bipush 16
            bipush 16
            invokevirtual org.objectweb.asm.MethodVisitor.visitIntInsn:(II)V
         8: .line 151
            aload 5 /* clinit */
            sipush 188
            aload 0 /* this */
            getfield org.graalvm.compiler.core.test.SubWordArrayStoreTest.kind:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.core.test.SubWordArrayStoreTest.toASMType:(Ljdk/vm/ci/meta/JavaKind;)I
            invokevirtual org.objectweb.asm.MethodVisitor.visitIntInsn:(II)V
         9: .line 152
            aload 5 /* clinit */
            sipush 179
            aload 1 /* internalClassName */
            ldc "array"
            aload 3 /* fieldDescriptor */
            invokevirtual org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        10: .line 153
            aload 5 /* clinit */
            sipush 177
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        11: .line 154
            aload 5 /* clinit */
            iconst_1
            iconst_0
            invokevirtual org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
        12: .line 155
            aload 5 /* clinit */
            invokevirtual org.objectweb.asm.MethodVisitor.visitEnd:()V
        13: .line 157
            aload 2 /* cw */
            bipush 9
            ldc "snippet"
            ldc "()Z"
            aconst_null
            aconst_null
            invokevirtual org.objectweb.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/objectweb/asm/MethodVisitor;
            astore 6 /* snippet */
        start local 6 // org.objectweb.asm.MethodVisitor snippet
        14: .line 158
            aload 6 /* snippet */
            invokevirtual org.objectweb.asm.MethodVisitor.visitCode:()V
        15: .line 160
            aload 0 /* this */
            getfield org.graalvm.compiler.core.test.SubWordArrayStoreTest.unsafeStore:Z
            ifeq 22
        16: .line 161
            aload 6 /* snippet */
            invokestatic org.graalvm.compiler.core.test.SubWordTestUtil.getUnsafe:(Lorg/objectweb/asm/MethodVisitor;)V
        17: .line 162
            aload 6 /* snippet */
            sipush 178
            aload 1 /* internalClassName */
            ldc "array"
            aload 3 /* fieldDescriptor */
            invokevirtual org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        18: .line 163
            aload 6 /* snippet */
            aload 0 /* this */
            getfield org.graalvm.compiler.core.test.SubWordArrayStoreTest.kind:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.core.test.SubWordArrayStoreTest.arrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
        19: .line 164
            aload 6 /* snippet */
            aload 0 /* this */
            getfield org.graalvm.compiler.core.test.SubWordArrayStoreTest.value:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
        20: .line 165
            aload 6 /* snippet */
            sipush 182
            ldc "sun/misc/Unsafe"
            new java.lang.StringBuilder
            dup
            ldc "put"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.graalvm.compiler.core.test.SubWordArrayStoreTest.kind:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.core.test.SubWordTestUtil.getUnsafePutMethodName:(Ljdk/vm/ci/meta/JavaKind;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "(Ljava/lang/Object;J"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.graalvm.compiler.core.test.SubWordArrayStoreTest.kind:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.getTypeChar:()C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc ")V"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            invokevirtual org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        21: .line 166
            goto 26
        22: .line 167
      StackMap locals: org.graalvm.compiler.core.test.SubWordArrayStoreTest java.lang.String org.objectweb.asm.ClassWriter java.lang.String org.objectweb.asm.FieldVisitor org.objectweb.asm.MethodVisitor org.objectweb.asm.MethodVisitor
      StackMap stack:
            aload 6 /* snippet */
            sipush 178
            aload 1 /* internalClassName */
            ldc "array"
            aload 3 /* fieldDescriptor */
            invokevirtual org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        23: .line 168
            aload 6 /* snippet */
            iconst_3
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        24: .line 169
            aload 6 /* snippet */
            aload 0 /* this */
            getfield org.graalvm.compiler.core.test.SubWordArrayStoreTest.value:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
        25: .line 170
            aload 6 /* snippet */
            aload 0 /* this */
            getfield org.graalvm.compiler.core.test.SubWordArrayStoreTest.kind:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.core.test.SubWordArrayStoreTest.toArrayStoreOpcode:(Ljdk/vm/ci/meta/JavaKind;)I
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        26: .line 173
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.core.test.SubWordArrayStoreTest.unsafeLoad:Z
            ifeq 32
        27: .line 174
            aload 6 /* snippet */
            invokestatic org.graalvm.compiler.core.test.SubWordTestUtil.getUnsafe:(Lorg/objectweb/asm/MethodVisitor;)V
        28: .line 175
            aload 6 /* snippet */
            sipush 178
            aload 1 /* internalClassName */
            ldc "array"
            aload 3 /* fieldDescriptor */
            invokevirtual org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        29: .line 176
            aload 6 /* snippet */
            aload 0 /* this */
            getfield org.graalvm.compiler.core.test.SubWordArrayStoreTest.kind:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.core.test.SubWordArrayStoreTest.arrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
        30: .line 177
            aload 6 /* snippet */
            sipush 182
            ldc "sun/misc/Unsafe"
            new java.lang.StringBuilder
            dup
            ldc "get"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.graalvm.compiler.core.test.SubWordArrayStoreTest.kind:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.core.test.SubWordTestUtil.getUnsafePutMethodName:(Ljdk/vm/ci/meta/JavaKind;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "(Ljava/lang/Object;J)"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.graalvm.compiler.core.test.SubWordArrayStoreTest.kind:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.getTypeChar:()C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            invokevirtual org.objectweb.asm.MethodVisitor.visitMethodInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        31: .line 178
            goto 35
        32: .line 179
      StackMap locals:
      StackMap stack:
            aload 6 /* snippet */
            sipush 178
            aload 1 /* internalClassName */
            ldc "array"
            aload 3 /* fieldDescriptor */
            invokevirtual org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        33: .line 180
            aload 6 /* snippet */
            iconst_3
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        34: .line 181
            aload 6 /* snippet */
            aload 0 /* this */
            getfield org.graalvm.compiler.core.test.SubWordArrayStoreTest.kind:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.core.test.SubWordArrayStoreTest.toArrayLoadOpcode:(Ljdk/vm/ci/meta/JavaKind;)I
            invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
        35: .line 184
      StackMap locals:
      StackMap stack:
            aload 6 /* snippet */
            aload 0 /* this */
            getfield org.graalvm.compiler.core.test.SubWordArrayStoreTest.value:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.objectweb.asm.MethodVisitor.visitLdcInsn:(Ljava/lang/Object;)V
        36: .line 185
            aload 6 /* snippet */
            aload 0 /* this */
            getfield org.graalvm.compiler.core.test.SubWordArrayStoreTest.kind:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.core.test.SubWordTestUtil.convertToKind:(Lorg/objectweb/asm/MethodVisitor;Ljdk/vm/ci/meta/JavaKind;)V
        37: .line 186
            aload 6 /* snippet */
            invokestatic org.graalvm.compiler.core.test.SubWordTestUtil.testEqual:(Lorg/objectweb/asm/MethodVisitor;)V
        38: .line 188
            aload 6 /* snippet */
            iconst_5
            iconst_0
            invokevirtual org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
        39: .line 189
            aload 6 /* snippet */
            invokevirtual org.objectweb.asm.MethodVisitor.visitEnd:()V
        40: .line 191
            aload 2 /* cw */
            invokevirtual org.objectweb.asm.ClassWriter.visitEnd:()V
        41: .line 192
            aload 2 /* cw */
            invokevirtual org.objectweb.asm.ClassWriter.toByteArray:()[B
            areturn
        end local 6 // org.objectweb.asm.MethodVisitor snippet
        end local 5 // org.objectweb.asm.MethodVisitor clinit
        end local 4 // org.objectweb.asm.FieldVisitor field
        end local 3 // java.lang.String fieldDescriptor
        end local 2 // org.objectweb.asm.ClassWriter cw
        end local 1 // java.lang.String internalClassName
        end local 0 // org.graalvm.compiler.core.test.SubWordArrayStoreTest this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   42     0               this  Lorg/graalvm/compiler/core/test/SubWordArrayStoreTest;
            0   42     1  internalClassName  Ljava/lang/String;
            1   42     2                 cw  Lorg/objectweb/asm/ClassWriter;
            3   42     3    fieldDescriptor  Ljava/lang/String;
            4   42     4              field  Lorg/objectweb/asm/FieldVisitor;
            6   42     5             clinit  Lorg/objectweb/asm/MethodVisitor;
           14   42     6            snippet  Lorg/objectweb/asm/MethodVisitor;
    MethodParameters:
                   Name  Flags
      internalClassName  

  static int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 41
            getstatic org.graalvm.compiler.core.test.SubWordArrayStoreTest.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.vm.ci.meta.JavaKind.values:()[Ljdk/vm/ci/meta/JavaKind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_4
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 8
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 6
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 11
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_5
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 7
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 9
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_3
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 10
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            dup
            putstatic org.graalvm.compiler.core.test.SubWordArrayStoreTest.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
}
SourceFile: "SubWordArrayStoreTest.java"
InnerClasses:
  public Result = org.graalvm.compiler.core.test.GraalCompilerTest$Result of org.graalvm.compiler.core.test.GraalCompilerTest
  public abstract Parameters = org.junit.runners.Parameterized$Parameters of org.junit.runners.Parameterized
    RuntimeVisibleAnnotations: 
      org.junit.runner.RunWith(value = Lorg/junit/runners/Parameterized;)