public class org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest extends org.graalvm.compiler.core.test.GraalCompilerTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest
super_class: org.graalvm.compiler.core.test.GraalCompilerTest
{
private final java.lang.Class<?> type;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<*>;
private final int length;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean shouldDeopt;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest$DeoptimizationBox box;
descriptor: Lorg/graalvm/compiler/hotspot/test/ArrayNewInstanceTest$DeoptimizationBox;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public static java.lang.Iterable<java.lang.Object[]> data();
descriptor: ()Ljava/lang/Iterable;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=0
0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 0
start local 0 1: bipush 8
anewarray java.lang.Class
dup
iconst_0
2: getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
aastore
dup
iconst_1
3: getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
aastore
dup
iconst_2
4: getstatic java.lang.Short.TYPE:Ljava/lang/Class;
aastore
dup
iconst_3
5: getstatic java.lang.Character.TYPE:Ljava/lang/Class;
aastore
dup
iconst_4
6: getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
dup
iconst_5
7: getstatic java.lang.Long.TYPE:Ljava/lang/Class;
aastore
dup
bipush 6
8: ldc Ljava/lang/Void;
aastore
dup
bipush 7
9: ldc Lorg/graalvm/compiler/hotspot/test/ArrayNewInstanceTest;
aastore
10: astore 1
start local 1 11: aload 1
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 17
StackMap locals: java.util.ArrayList java.lang.Class[] top int int java.lang.Class[]
StackMap stack:
12: aload 5
iload 3
aaload
astore 2
start local 2 13: aload 0
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
iconst_m1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
14: aload 0
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
15: aload 0
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 2 16: iinc 3 1
StackMap locals:
StackMap stack:
17: iload 3
iload 4
if_icmplt 12
18: aload 0
iconst_3
anewarray java.lang.Object
dup
iconst_0
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
aastore
dup
iconst_1
iconst_m1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
19: aload 0
iconst_3
anewarray java.lang.Object
dup
iconst_0
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
aastore
dup
iconst_1
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
20: aload 0
iconst_3
anewarray java.lang.Object
dup
iconst_0
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
aastore
dup
iconst_1
bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
21: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 22 0 parameters Ljava/util/ArrayList<[Ljava/lang/Object;>;
11 22 1 classesToTest [Ljava/lang/Class;
13 16 2 clazz Ljava/lang/Class<*>;
Signature: ()Ljava/lang/Iterable<[Ljava/lang/Object;>;
RuntimeVisibleAnnotations:
org.junit.runners.Parameterized$Parameters(name = "{index}: class {0} length {1}")
public void <init>(java.lang.Class<?>, int, );
descriptor: (Ljava/lang/Class;IZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial org.graalvm.compiler.core.test.GraalCompilerTest.<init>:()V
1: aload 0
new org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest$DeoptimizationBox
dup
invokespecial org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest$DeoptimizationBox.<init>:()V
putfield org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest.box:Lorg/graalvm/compiler/hotspot/test/ArrayNewInstanceTest$DeoptimizationBox;
2: aload 0
aload 1
putfield org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest.type:Ljava/lang/Class;
3: aload 0
iload 2
putfield org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest.length:I
4: aload 0
iload 3
putfield org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest.shouldDeopt:Z
5: return
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/hotspot/test/ArrayNewInstanceTest;
0 6 1 type Ljava/lang/Class<*>;
0 6 2 length I
0 6 3 shouldDeopt Z
Signature: (Ljava/lang/Class<*>;IZ)V
MethodParameters:
Name Flags
type
length
shouldDeopt
public static newArray(java.lang.Class<?>, int, org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest$DeoptimizationBox);
descriptor: (Ljava/lang/Class;ILorg/graalvm/compiler/hotspot/test/ArrayNewInstanceTest$DeoptimizationBox;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
astore 3
start local 3 1: aload 2
invokestatic org.graalvm.compiler.api.directives.GraalDirectives.inCompiledCode:()Z
putfield org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest$DeoptimizationBox.inCompiledCode:Z
2: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 klass Ljava/lang/Class<*>;
0 3 1 length I
0 3 2 box Lorg/graalvm/compiler/hotspot/test/ArrayNewInstanceTest$DeoptimizationBox;
1 3 3 result Ljava/lang/Object;
Signature: (Ljava/lang/Class<*>;ILorg/graalvm/compiler/hotspot/test/ArrayNewInstanceTest$DeoptimizationBox;)Ljava/lang/Object;
MethodParameters:
Name Flags
klass
length
box
public void testNewArray();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
ldc "newArray"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest.type:Ljava/lang/Class;
aastore
dup
iconst_1
aload 0
getfield org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest.length:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 0
getfield org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest.box:Lorg/graalvm/compiler/hotspot/test/ArrayNewInstanceTest$DeoptimizationBox;
aastore
invokevirtual org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
1: aload 0
getfield org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest.box:Lorg/graalvm/compiler/hotspot/test/ArrayNewInstanceTest$DeoptimizationBox;
getfield org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest$DeoptimizationBox.inCompiledCode:Z
aload 0
getfield org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest.shouldDeopt:Z
ixor
invokestatic org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest.assertTrue:(Z)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/hotspot/test/ArrayNewInstanceTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public static newArrayInLoop(java.lang.Class<?>, int, int, org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest$DeoptimizationBox);
descriptor: (Ljava/lang/Class;IILorg/graalvm/compiler/hotspot/test/ArrayNewInstanceTest$DeoptimizationBox;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: iconst_0
istore 5
start local 5 2: goto 5
3: StackMap locals: java.lang.Object int
StackMap stack:
aload 0
iload 1
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
astore 4
4: iinc 5 1
StackMap locals:
StackMap stack:
5: iload 5
iload 2
if_icmplt 3
end local 5 6: aload 3
invokestatic org.graalvm.compiler.api.directives.GraalDirectives.inCompiledCode:()Z
putfield org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest$DeoptimizationBox.inCompiledCode:Z
7: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 klass Ljava/lang/Class<*>;
0 8 1 length I
0 8 2 iterations I
0 8 3 box Lorg/graalvm/compiler/hotspot/test/ArrayNewInstanceTest$DeoptimizationBox;
1 8 4 o Ljava/lang/Object;
2 6 5 i I
Signature: (Ljava/lang/Class<*>;IILorg/graalvm/compiler/hotspot/test/ArrayNewInstanceTest$DeoptimizationBox;)Ljava/lang/Object;
MethodParameters:
Name Flags
klass
length
iterations
box
public void testNewArrayInLoop();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
ldc "newArrayInLoop"
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest.type:Ljava/lang/Class;
aastore
dup
iconst_1
aload 0
getfield org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest.length:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
aload 0
getfield org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest.box:Lorg/graalvm/compiler/hotspot/test/ArrayNewInstanceTest$DeoptimizationBox;
aastore
invokevirtual org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
1: aload 0
getfield org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest.box:Lorg/graalvm/compiler/hotspot/test/ArrayNewInstanceTest$DeoptimizationBox;
getfield org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest$DeoptimizationBox.inCompiledCode:Z
aload 0
getfield org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest.shouldDeopt:Z
ixor
invokestatic org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest.assertTrue:(Z)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/hotspot/test/ArrayNewInstanceTest;
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "ArrayNewInstanceTest.java"
NestMembers:
org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest$DeoptimizationBox
InnerClasses:
public Result = org.graalvm.compiler.core.test.GraalCompilerTest$Result of org.graalvm.compiler.core.test.GraalCompilerTest
private DeoptimizationBox = org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest$DeoptimizationBox of org.graalvm.compiler.hotspot.test.ArrayNewInstanceTest
public abstract Parameters = org.junit.runners.Parameterized$Parameters of org.junit.runners.Parameterized
RuntimeVisibleAnnotations:
org.junit.runner.RunWith(value = Lorg/junit/runners/Parameterized;)