public class org.graalvm.compiler.phases.common.LoopSafepointInsertionPhase 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.LoopSafepointInsertionPhase
super_class: org.graalvm.compiler.phases.Phase
{
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.LoopSafepointInsertionPhase this
0: .line 36
aload 0 /* this */
invokespecial org.graalvm.compiler.phases.Phase.<init>:()V
return
end local 0 // org.graalvm.compiler.phases.common.LoopSafepointInsertionPhase this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/phases/common/LoopSafepointInsertionPhase;
public boolean checkContract();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.graalvm.compiler.phases.common.LoopSafepointInsertionPhase this
0: .line 42
iconst_0
ireturn
end local 0 // org.graalvm.compiler.phases.common.LoopSafepointInsertionPhase this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/phases/common/LoopSafepointInsertionPhase;
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.LoopSafepointInsertionPhase this
start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
0: .line 47
getstatic org.graalvm.compiler.core.common.GraalOptions.GenLoopSafepoints:Lorg/graalvm/compiler/options/OptionKey;
aload 1 /* graph */
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 10
1: .line 48
aload 1 /* graph */
getstatic org.graalvm.compiler.nodes.LoopBeginNode.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.LoopSafepointInsertionPhase org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.LoopBeginNode
astore 2 /* loopBeginNode */
start local 2 // org.graalvm.compiler.nodes.LoopBeginNode loopBeginNode
3: .line 49
aload 2 /* loopBeginNode */
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopEnds:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 5
goto 8
StackMap locals: org.graalvm.compiler.phases.common.LoopSafepointInsertionPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.LoopBeginNode java.util.Iterator top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.LoopEndNode
astore 4 /* loopEndNode */
start local 4 // org.graalvm.compiler.nodes.LoopEndNode loopEndNode
5: .line 50
aload 4 /* loopEndNode */
invokevirtual org.graalvm.compiler.nodes.LoopEndNode.canSafepoint:()Z
ifeq 8
6: .line 51
aload 1 /* graph */
new org.graalvm.compiler.nodes.SafepointNode
dup
invokespecial org.graalvm.compiler.nodes.SafepointNode.<init>:()V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.SafepointNode
astore 6 /* safepointNode */
start local 6 // org.graalvm.compiler.nodes.SafepointNode safepointNode
7: .line 52
aload 1 /* graph */
aload 4 /* loopEndNode */
aload 6 /* safepointNode */
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
end local 6 // org.graalvm.compiler.nodes.SafepointNode safepointNode
end local 4 // org.graalvm.compiler.nodes.LoopEndNode loopEndNode
8: .line 49
StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 2 // org.graalvm.compiler.nodes.LoopBeginNode loopBeginNode
9: .line 48
StackMap locals: org.graalvm.compiler.phases.common.LoopSafepointInsertionPhase org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
10: .line 57
StackMap locals: org.graalvm.compiler.phases.common.LoopSafepointInsertionPhase org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
return
end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
end local 0 // org.graalvm.compiler.phases.common.LoopSafepointInsertionPhase this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/phases/common/LoopSafepointInsertionPhase;
0 11 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
3 9 2 loopBeginNode Lorg/graalvm/compiler/nodes/LoopBeginNode;
5 8 4 loopEndNode Lorg/graalvm/compiler/nodes/LoopEndNode;
7 8 6 safepointNode Lorg/graalvm/compiler/nodes/SafepointNode;
MethodParameters:
Name Flags
graph
}
SourceFile: "LoopSafepointInsertionPhase.java"