public class org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest 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.HotSpotClassInitializationTest
super_class: org.graalvm.compiler.hotspot.test.HotSpotGraalCompilerTest
{
static org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest instance;
descriptor: Lorg/graalvm/compiler/hotspot/test/HotSpotClassInitializationTest;
flags: (0x0008) ACC_STATIC
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.hotspot.test.HotSpotGraalCompilerTest.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/test/HotSpotClassInitializationTest;
public void checkAssumptions();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: ldc "init_thread field must be visible"
aload 0
invokevirtual org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest.runtime:()Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.instanceKlassInitThreadOffset:I
iconst_m1
if_icmpeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack: java.lang.String
1: iconst_0
StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest
StackMap stack: java.lang.String int
2: invokestatic org.junit.Assume.assumeTrue:(Ljava/lang/String;Z)V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/hotspot/test/HotSpotClassInitializationTest;
RuntimeVisibleAnnotations:
org.junit.Before()
final void test(java.lang.Class<?>, java.lang.String, java.lang.Class<? extends org.graalvm.compiler.graph.Node>[]);
descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)V
flags: (0x0090) ACC_FINAL, ACC_VARARGS
Code:
stack=3, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest.getResolvedJavaMethod:(Ljava/lang/Class;Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 4
start local 4 1: aload 0
aload 4
getstatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.NO:Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
invokevirtual org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest.parseProfiled:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 5
start local 5 2: aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/nodes/DeoptimizeNode;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 7
goto 5
StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest java.lang.Class java.lang.String java.lang.Class[] jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
3: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.DeoptimizeNode
astore 6
start local 6 4: ldc "No unresolved deopts expected"
aload 6
invokevirtual org.graalvm.compiler.nodes.DeoptimizeNode.getReason:()Ljdk/vm/ci/meta/DeoptimizationReason;
getstatic jdk.vm.ci.meta.DeoptimizationReason.Unresolved:Ljdk/vm/ci/meta/DeoptimizationReason;
invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 6 5: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: ldc "A dynamic check should have been emitted"
aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/hotspot/nodes/KlassBeingInitializedCheckNode;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
iconst_1
if_icmpne 7
iconst_1
goto 8
StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest java.lang.Class java.lang.String java.lang.Class[] jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph
StackMap stack: java.lang.String
7: iconst_0
StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest java.lang.Class java.lang.String java.lang.Class[] jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph
StackMap stack: java.lang.String int
8: invokestatic org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest.assertTrue:(Ljava/lang/String;Z)V
9: aload 3
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 15
StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest java.lang.Class java.lang.String java.lang.Class[] jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph top int int java.lang.Class[]
StackMap stack:
10: aload 9
iload 7
aaload
astore 6
start local 6 11: new java.lang.StringBuilder
dup
ldc "expected node of type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
aload 6
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
iconst_1
if_icmpne 12
iconst_1
goto 13
StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest java.lang.Class java.lang.String java.lang.Class[] jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph java.lang.Class int int java.lang.Class[]
StackMap stack: java.lang.String
12: iconst_0
StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest java.lang.Class java.lang.String java.lang.Class[] jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph java.lang.Class int int java.lang.Class[]
StackMap stack: java.lang.String int
13: invokestatic org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest.assertTrue:(Ljava/lang/String;Z)V
end local 6 14: iinc 7 1
StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest java.lang.Class java.lang.String java.lang.Class[] jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph top int int java.lang.Class[]
StackMap stack:
15: iload 7
iload 8
if_icmplt 10
16: getstatic org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest.instance:Lorg/graalvm/compiler/hotspot/test/HotSpotClassInitializationTest;
aload 4
aload 5
invokevirtual org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest.getCode:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/StructuredGraph;)Ljdk/vm/ci/code/InstalledCode;
astore 6
start local 6 17: aload 6
iconst_0
anewarray java.lang.Object
invokevirtual jdk.vm.ci.code.InstalledCode.executeVarargs:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 7
start local 7 18: ldc "should have completed in compiled code"
iload 7
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 7 19: goto 22
StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest java.lang.Class java.lang.String java.lang.Class[] jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.code.InstalledCode
StackMap stack: jdk.vm.ci.code.InvalidInstalledCodeException
20: astore 7
start local 7 21: aload 7
invokevirtual jdk.vm.ci.code.InvalidInstalledCodeException.printStackTrace:()V
end local 7 22: StackMap locals:
StackMap stack:
return
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 23 0 this Lorg/graalvm/compiler/hotspot/test/HotSpotClassInitializationTest;
0 23 1 testClass Ljava/lang/Class<*>;
0 23 2 methodName Ljava/lang/String;
0 23 3 nodeTypes [Ljava/lang/Class;
1 23 4 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
2 23 5 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
4 5 6 d Lorg/graalvm/compiler/nodes/DeoptimizeNode;
11 14 6 nodeType Ljava/lang/Class<+Lorg/graalvm/compiler/graph/Node;>;
17 23 6 code Ljdk/vm/ci/code/InstalledCode;
18 19 7 result Z
21 22 7 e Ljdk/vm/ci/code/InvalidInstalledCodeException;
Exception table:
from to target type
17 19 20 Class jdk.vm.ci.code.InvalidInstalledCodeException
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Class<+Lorg/graalvm/compiler/graph/Node;>;)V
RuntimeVisibleAnnotations:
java.lang.SafeVarargs()
MethodParameters:
Name Flags
testClass
methodName
nodeTypes
public void testInvokeStatic();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic org.graalvm.compiler.api.directives.GraalDirectives.inCompiledCode:()Z
pop
1: aload 0
putstatic org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest.instance:Lorg/graalvm/compiler/hotspot/test/HotSpotClassInitializationTest;
2: iconst_0
putstatic org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest$InvokeStatic.field:I
3: aconst_null
putstatic org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest.instance:Lorg/graalvm/compiler/hotspot/test/HotSpotClassInitializationTest;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/hotspot/test/HotSpotClassInitializationTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testGetStatic();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic org.graalvm.compiler.api.directives.GraalDirectives.inCompiledCode:()Z
pop
1: aload 0
putstatic org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest.instance:Lorg/graalvm/compiler/hotspot/test/HotSpotClassInitializationTest;
2: dconst_0
putstatic org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest$GetStatic.field:D
3: aconst_null
putstatic org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest.instance:Lorg/graalvm/compiler/hotspot/test/HotSpotClassInitializationTest;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/hotspot/test/HotSpotClassInitializationTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testNewInstance();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic org.graalvm.compiler.api.directives.GraalDirectives.inCompiledCode:()Z
pop
1: aload 0
putstatic org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest.instance:Lorg/graalvm/compiler/hotspot/test/HotSpotClassInitializationTest;
2: dconst_0
putstatic org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest$NewInstance.field:D
3: aconst_null
putstatic org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest.instance:Lorg/graalvm/compiler/hotspot/test/HotSpotClassInitializationTest;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/hotspot/test/HotSpotClassInitializationTest;
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "HotSpotClassInitializationTest.java"
NestMembers:
org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest$GetStatic org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest$GetStatic$Inner org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest$InvokeStatic org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest$NewInstance
InnerClasses:
GetStatic = org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest$GetStatic of org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest
InvokeStatic = org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest$InvokeStatic of org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest
NewInstance = org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest$NewInstance of org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest
public final AllowAssumptions = org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions of org.graalvm.compiler.nodes.StructuredGraph