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: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 0
start local 0 1: 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
start local 1 3: 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
start local 5 5: 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
start local 9 7: aload 0
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
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
iload 5
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
dup
iconst_3
iload 9
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
8: aload 0
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
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
iload 5
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
dup
iconst_3
iload 9
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
9: aload 0
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
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
iload 5
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
dup
iconst_3
iload 9
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
10: aload 0
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
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
iload 5
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
dup
iconst_3
iload 9
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 9 11: iinc 10 1
StackMap locals:
StackMap stack:
12: iload 10
iload 11
if_icmplt 6
end local 5 13: 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 15: iinc 2 1
StackMap locals: java.util.ArrayList top int int int[]
StackMap stack:
16: iload 2
iload 3
if_icmplt 2
17: aload 0
areturn
end local 0 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 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial org.graalvm.compiler.core.test.CustomizedBytecodePatternTest.<init>:()V
1: aload 0
aload 1
putfield org.graalvm.compiler.core.test.SubWordArrayStoreTest.kind:Ljdk/vm/ci/meta/JavaKind;
2: aload 0
iload 2
putfield org.graalvm.compiler.core.test.SubWordArrayStoreTest.value:I
3: aload 0
iload 3
putfield org.graalvm.compiler.core.test.SubWordArrayStoreTest.unsafeStore:Z
4: aload 0
iload 4
putfield org.graalvm.compiler.core.test.SubWordArrayStoreTest.unsafeLoad:Z
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 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 0: aload 0
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
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
start local 1 1: aload 0
aload 0
aload 1
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: return
end local 1 end local 0 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 0: invokestatic org.graalvm.compiler.core.test.SubWordArrayStoreTest.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
aload 0
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iaload
tableswitch { // 1 - 4
1: 1
2: 2
3: 3
4: 4
default: 5
}
1: 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: 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: 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: 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: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
end local 0 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 0: invokestatic org.graalvm.compiler.core.test.SubWordArrayStoreTest.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
aload 0
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iaload
tableswitch { // 1 - 4
1: 1
2: 2
3: 3
4: 4
default: 5
}
1: StackMap locals:
StackMap stack:
iconst_4
ireturn
2: StackMap locals:
StackMap stack:
bipush 8
ireturn
3: StackMap locals:
StackMap stack:
bipush 9
ireturn
4: StackMap locals:
StackMap stack:
iconst_5
ireturn
5: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
end local 0 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 0: invokestatic org.graalvm.compiler.core.test.SubWordArrayStoreTest.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
aload 0
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iaload
tableswitch { // 1 - 4
1: 1
2: 1
3: 2
4: 3
default: 4
}
1: StackMap locals:
StackMap stack:
bipush 84
ireturn
2: StackMap locals:
StackMap stack:
bipush 86
ireturn
3: StackMap locals:
StackMap stack:
bipush 85
ireturn
4: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
end local 0 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 0: invokestatic org.graalvm.compiler.core.test.SubWordArrayStoreTest.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
aload 0
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iaload
tableswitch { // 1 - 4
1: 1
2: 1
3: 2
4: 3
default: 4
}
1: StackMap locals:
StackMap stack:
bipush 51
ireturn
2: StackMap locals:
StackMap stack:
bipush 53
ireturn
3: StackMap locals:
StackMap stack:
bipush 52
ireturn
4: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
end local 0 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 start local 1 0: new org.objectweb.asm.ClassWriter
dup
iconst_2
invokespecial org.objectweb.asm.ClassWriter.<init>:(I)V
astore 2
start local 2 1: aload 2
bipush 52
bipush 33
aload 1
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: new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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
start local 3 3: aload 2
bipush 9
ldc "array"
aload 3
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
start local 4 4: aload 4
invokevirtual org.objectweb.asm.FieldVisitor.visitEnd:()V
5: aload 2
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
start local 5 6: aload 5
invokevirtual org.objectweb.asm.MethodVisitor.visitCode:()V
7: aload 5
bipush 16
bipush 16
invokevirtual org.objectweb.asm.MethodVisitor.visitIntInsn:(II)V
8: aload 5
sipush 188
aload 0
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: aload 5
sipush 179
aload 1
ldc "array"
aload 3
invokevirtual org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
10: aload 5
sipush 177
invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
11: aload 5
iconst_1
iconst_0
invokevirtual org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
12: aload 5
invokevirtual org.objectweb.asm.MethodVisitor.visitEnd:()V
13: aload 2
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
start local 6 14: aload 6
invokevirtual org.objectweb.asm.MethodVisitor.visitCode:()V
15: aload 0
getfield org.graalvm.compiler.core.test.SubWordArrayStoreTest.unsafeStore:Z
ifeq 22
16: aload 6
invokestatic org.graalvm.compiler.core.test.SubWordTestUtil.getUnsafe:(Lorg/objectweb/asm/MethodVisitor;)V
17: aload 6
sipush 178
aload 1
ldc "array"
aload 3
invokevirtual org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
18: aload 6
aload 0
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: aload 6
aload 0
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: aload 6
sipush 182
ldc "sun/misc/Unsafe"
new java.lang.StringBuilder
dup
ldc "put"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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
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: goto 26
22: 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
sipush 178
aload 1
ldc "array"
aload 3
invokevirtual org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
23: aload 6
iconst_3
invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
24: aload 6
aload 0
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: aload 6
aload 0
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: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.test.SubWordArrayStoreTest.unsafeLoad:Z
ifeq 32
27: aload 6
invokestatic org.graalvm.compiler.core.test.SubWordTestUtil.getUnsafe:(Lorg/objectweb/asm/MethodVisitor;)V
28: aload 6
sipush 178
aload 1
ldc "array"
aload 3
invokevirtual org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
29: aload 6
aload 0
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: aload 6
sipush 182
ldc "sun/misc/Unsafe"
new java.lang.StringBuilder
dup
ldc "get"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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
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: goto 35
32: StackMap locals:
StackMap stack:
aload 6
sipush 178
aload 1
ldc "array"
aload 3
invokevirtual org.objectweb.asm.MethodVisitor.visitFieldInsn:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
33: aload 6
iconst_3
invokevirtual org.objectweb.asm.MethodVisitor.visitInsn:(I)V
34: aload 6
aload 0
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: StackMap locals:
StackMap stack:
aload 6
aload 0
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: aload 6
aload 0
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: aload 6
invokestatic org.graalvm.compiler.core.test.SubWordTestUtil.testEqual:(Lorg/objectweb/asm/MethodVisitor;)V
38: aload 6
iconst_5
iconst_0
invokevirtual org.objectweb.asm.MethodVisitor.visitMaxs:(II)V
39: aload 6
invokevirtual org.objectweb.asm.MethodVisitor.visitEnd:()V
40: aload 2
invokevirtual org.objectweb.asm.ClassWriter.visitEnd:()V
41: aload 2
invokevirtual org.objectweb.asm.ClassWriter.toByteArray:()[B
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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: 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;)