public class org.graalvm.compiler.phases.common.PushThroughPiPhase extends org.graalvm.compiler.phases.Phase
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.phases.common.PushThroughPiPhase
super_class: org.graalvm.compiler.phases.Phase
{
public static final org.graalvm.compiler.debug.DebugCounter PUSHED_NODES;
descriptor: Lorg/graalvm/compiler/debug/DebugCounter;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: .line 35
ldc "NodesPushedThroughPi"
invokestatic org.graalvm.compiler.debug.Debug.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/DebugCounter;
putstatic org.graalvm.compiler.phases.common.PushThroughPiPhase.PUSHED_NODES:Lorg/graalvm/compiler/debug/DebugCounter;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.graalvm.compiler.phases.common.PushThroughPiPhase this
0: .line 33
aload 0 /* this */
invokespecial org.graalvm.compiler.phases.Phase.<init>:()V
return
end local 0 // org.graalvm.compiler.phases.common.PushThroughPiPhase this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/phases/common/PushThroughPiPhase;
protected void run(org.graalvm.compiler.nodes.StructuredGraph);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=7, args_size=2
start local 0 // org.graalvm.compiler.phases.common.PushThroughPiPhase this
start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
0: .line 39
aload 1 /* graph */
getstatic org.graalvm.compiler.nodes.PiNode.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.iterator:()Ljava/util/Iterator;
astore 3
goto 9
StackMap locals: org.graalvm.compiler.phases.common.PushThroughPiPhase org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.PiNode
astore 2 /* pi */
start local 2 // org.graalvm.compiler.nodes.PiNode pi
2: .line 40
aload 2 /* pi */
invokevirtual org.graalvm.compiler.nodes.PiNode.usages:()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 8
StackMap locals: org.graalvm.compiler.phases.common.PushThroughPiPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.PiNode java.util.Iterator top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 4 /* n */
start local 4 // org.graalvm.compiler.graph.Node n
4: .line 41
aload 4 /* n */
instanceof org.graalvm.compiler.nodes.spi.PiPushable
ifeq 8
5: .line 42
aload 4 /* n */
checkcast org.graalvm.compiler.nodes.spi.PiPushable
astore 6 /* pip */
start local 6 // org.graalvm.compiler.nodes.spi.PiPushable pip
6: .line 43
aload 6 /* pip */
aload 2 /* pi */
invokeinterface org.graalvm.compiler.nodes.spi.PiPushable.push:(Lorg/graalvm/compiler/nodes/PiNode;)Z
ifeq 8
7: .line 44
getstatic org.graalvm.compiler.phases.common.PushThroughPiPhase.PUSHED_NODES:Lorg/graalvm/compiler/debug/DebugCounter;
lconst_1
invokeinterface org.graalvm.compiler.debug.DebugCounter.add:(J)V
end local 6 // org.graalvm.compiler.nodes.spi.PiPushable pip
end local 4 // org.graalvm.compiler.graph.Node n
8: .line 40
StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 2 // org.graalvm.compiler.nodes.PiNode pi
9: .line 39
StackMap locals: org.graalvm.compiler.phases.common.PushThroughPiPhase org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
10: .line 49
return
end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
end local 0 // org.graalvm.compiler.phases.common.PushThroughPiPhase this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/phases/common/PushThroughPiPhase;
0 11 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 9 2 pi Lorg/graalvm/compiler/nodes/PiNode;
4 8 4 n Lorg/graalvm/compiler/graph/Node;
6 8 6 pip Lorg/graalvm/compiler/nodes/spi/PiPushable;
MethodParameters:
Name Flags
graph
}
SourceFile: "PushThroughPiPhase.java"