public class org.graalvm.compiler.core.test.PushThroughIfTest 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.core.test.PushThroughIfTest
super_class: org.graalvm.compiler.core.test.GraalCompilerTest
{
public int field1;
descriptor: I
flags: (0x0001) ACC_PUBLIC
public int field2;
descriptor: I
flags: (0x0001) ACC_PUBLIC
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.core.test.GraalCompilerTest.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/test/PushThroughIfTest;
public int testSnippet(boolean);
descriptor: (Z)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iload 1
ifeq 3
1: aload 0
getfield org.graalvm.compiler.core.test.PushThroughIfTest.field1:I
istore 2
start local 2 2: goto 4
end local 2 3: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.test.PushThroughIfTest.field1:I
istore 2
start local 2 4: StackMap locals: int
StackMap stack:
iload 2
aload 0
getfield org.graalvm.compiler.core.test.PushThroughIfTest.field2:I
iadd
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/core/test/PushThroughIfTest;
0 5 1 b Z
2 3 2 i I
4 5 2 i I
MethodParameters:
Name Flags
b
public int referenceSnippet(boolean);
descriptor: (Z)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.core.test.PushThroughIfTest.field1:I
aload 0
getfield org.graalvm.compiler.core.test.PushThroughIfTest.field2:I
iadd
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/test/PushThroughIfTest;
0 1 1 b Z
MethodParameters:
Name Flags
b
public void test1();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: 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 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/test/PushThroughIfTest;
RuntimeInvisibleAnnotations:
Test()
private void test(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
getstatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.YES:Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
invokevirtual org.graalvm.compiler.core.test.PushThroughIfTest.parseEager:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 3
start local 3 1: iconst_1
aload 3
ldc "Graph"
invokestatic org.graalvm.compiler.debug.Debug.dump:(ILjava/lang/Object;Ljava/lang/String;)V
2: aload 3
getstatic org.graalvm.compiler.nodes.FrameState.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 6
StackMap locals: org.graalvm.compiler.core.test.PushThroughIfTest java.lang.String java.lang.String org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.FrameState
astore 4
start local 4 4: aload 4
aconst_null
invokevirtual org.graalvm.compiler.nodes.FrameState.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
5: aload 4
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
end local 4 6: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
7: new org.graalvm.compiler.phases.common.CanonicalizerPhase
dup
invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
aload 3
new org.graalvm.compiler.phases.tiers.PhaseContext
dup
aload 0
invokevirtual org.graalvm.compiler.core.test.PushThroughIfTest.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
invokespecial org.graalvm.compiler.phases.tiers.PhaseContext.<init>:(Lorg/graalvm/compiler/phases/util/Providers;)V
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
8: new org.graalvm.compiler.phases.common.CanonicalizerPhase
dup
invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
aload 3
new org.graalvm.compiler.phases.tiers.PhaseContext
dup
aload 0
invokevirtual org.graalvm.compiler.core.test.PushThroughIfTest.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
invokespecial org.graalvm.compiler.phases.tiers.PhaseContext.<init>:(Lorg/graalvm/compiler/phases/util/Providers;)V
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
9: aload 0
aload 2
getstatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.YES:Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
invokevirtual org.graalvm.compiler.core.test.PushThroughIfTest.parseEager:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 4
start local 4 10: aload 4
getstatic org.graalvm.compiler.nodes.FrameState.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 14
StackMap locals: org.graalvm.compiler.core.test.PushThroughIfTest java.lang.String java.lang.String org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
11: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.FrameState
astore 5
start local 5 12: aload 5
aconst_null
invokevirtual org.graalvm.compiler.nodes.FrameState.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
13: aload 5
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
end local 5 14: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
15: new org.graalvm.compiler.phases.common.CanonicalizerPhase
dup
invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
aload 4
new org.graalvm.compiler.phases.tiers.PhaseContext
dup
aload 0
invokevirtual org.graalvm.compiler.core.test.PushThroughIfTest.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
invokespecial org.graalvm.compiler.phases.tiers.PhaseContext.<init>:(Lorg/graalvm/compiler/phases/util/Providers;)V
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
16: aload 0
aload 4
aload 3
invokevirtual org.graalvm.compiler.core.test.PushThroughIfTest.assertEquals:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
17: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/graalvm/compiler/core/test/PushThroughIfTest;
0 18 1 snippet Ljava/lang/String;
0 18 2 reference Ljava/lang/String;
1 18 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
4 6 4 fs Lorg/graalvm/compiler/nodes/FrameState;
10 18 4 referenceGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
12 14 5 fs Lorg/graalvm/compiler/nodes/FrameState;
MethodParameters:
Name Flags
snippet
reference
}
SourceFile: "PushThroughIfTest.java"
InnerClasses:
public final AllowAssumptions = org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions of org.graalvm.compiler.nodes.StructuredGraph