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 39
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 45
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=10, args_size=2
start local 0 // org.graalvm.compiler.phases.common.LoopSafepointInsertionPhase this
start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
0: .line 51
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 18
1: .line 52
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 17
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 53
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 16
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 54
aload 4 /* loopEndNode */
invokevirtual org.graalvm.compiler.nodes.LoopEndNode.canSafepoint:()Z
ifeq 16
6: .line 55
aconst_null
astore 6
aconst_null
astore 7
7: aload 4 /* loopEndNode */
invokevirtual org.graalvm.compiler.nodes.LoopEndNode.withNodeSourcePosition:()Lorg/graalvm/compiler/debug/DebugCloseable;
astore 8 /* s */
start local 8 // org.graalvm.compiler.debug.DebugCloseable s
8: .line 56
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 9 /* safepointNode */
start local 9 // org.graalvm.compiler.nodes.SafepointNode safepointNode
9: .line 57
aload 1 /* graph */
aload 4 /* loopEndNode */
aload 9 /* safepointNode */
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
end local 9 // org.graalvm.compiler.nodes.SafepointNode safepointNode
10: .line 58
aload 8 /* s */
ifnull 16
aload 8 /* s */
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
goto 16
StackMap locals: org.graalvm.compiler.phases.common.LoopSafepointInsertionPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.LoopBeginNode java.util.Iterator org.graalvm.compiler.nodes.LoopEndNode java.util.Iterator java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
StackMap stack: java.lang.Throwable
11: astore 6
aload 8 /* s */
ifnull 12
aload 8 /* s */
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 8 // org.graalvm.compiler.debug.DebugCloseable s
StackMap locals:
StackMap stack:
12: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 7
aload 6
ifnonnull 14
aload 7
astore 6
goto 15
StackMap locals:
StackMap stack:
14: aload 6
aload 7
if_acmpeq 15
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
15: aload 6
athrow
end local 4 // org.graalvm.compiler.nodes.LoopEndNode loopEndNode
16: .line 53
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:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 2 // org.graalvm.compiler.nodes.LoopBeginNode loopBeginNode
17: .line 52
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
18: .line 63
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 19 0 this Lorg/graalvm/compiler/phases/common/LoopSafepointInsertionPhase;
0 19 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
3 17 2 loopBeginNode Lorg/graalvm/compiler/nodes/LoopBeginNode;
5 16 4 loopEndNode Lorg/graalvm/compiler/nodes/LoopEndNode;
8 12 8 s Lorg/graalvm/compiler/debug/DebugCloseable;
9 10 9 safepointNode Lorg/graalvm/compiler/nodes/SafepointNode;
Exception table:
from to target type
8 10 11 any
7 13 13 any
MethodParameters:
Name Flags
graph
}
SourceFile: "LoopSafepointInsertionPhase.java"