class org.graalvm.compiler.loop.LoopFragmentInside$2 implements org.graalvm.compiler.graph.Graph$DuplicationReplacement
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.graalvm.compiler.loop.LoopFragmentInside$2
super_class: java.lang.Object
{
private java.util.Map<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node> seenNode;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
final org.graalvm.compiler.loop.LoopFragmentInside this$0;
descriptor: Lorg/graalvm/compiler/loop/LoopFragmentInside;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final org.graalvm.compiler.nodes.LoopBeginNode val$loopBegin;
descriptor: Lorg/graalvm/compiler/nodes/LoopBeginNode;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final org.graalvm.compiler.nodes.StructuredGraph val$graph;
descriptor: Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(org.graalvm.compiler.loop.LoopFragmentInside, org.graalvm.compiler.nodes.LoopBeginNode, org.graalvm.compiler.nodes.StructuredGraph);
descriptor: (Lorg/graalvm/compiler/loop/LoopFragmentInside;Lorg/graalvm/compiler/nodes/LoopBeginNode;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 0: aload 0
aload 1
putfield org.graalvm.compiler.loop.LoopFragmentInside$2.this$0:Lorg/graalvm/compiler/loop/LoopFragmentInside;
aload 0
aload 2
putfield org.graalvm.compiler.loop.LoopFragmentInside$2.val$loopBegin:Lorg/graalvm/compiler/nodes/LoopBeginNode;
aload 0
aload 3
putfield org.graalvm.compiler.loop.LoopFragmentInside$2.val$graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
invokestatic org.graalvm.compiler.graph.Node.newMap:()Ljava/util/Map;
putfield org.graalvm.compiler.loop.LoopFragmentInside$2.seenNode:Ljava/util/Map;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside$2;
MethodParameters:
Name Flags
this$0 final
val$loopBegin final
val$graph final
public org.graalvm.compiler.graph.Node replacement(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside$2.val$loopBegin:Lorg/graalvm/compiler/nodes/LoopBeginNode;
if_acmpne 7
1: aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside$2.seenNode:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 2
start local 2 2: aload 2
ifnull 4
3: aload 2
areturn
4: StackMap locals: org.graalvm.compiler.graph.Node
StackMap stack:
aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside$2.val$graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.BeginNode
dup
invokespecial org.graalvm.compiler.nodes.BeginNode.<init>:()V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.AbstractBeginNode
astore 3
start local 3 5: aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside$2.seenNode:Ljava/util/Map;
aload 1
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: aload 3
areturn
end local 3 end local 2 7: StackMap locals:
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.LoopExitNode
ifeq 14
aload 1
checkcast org.graalvm.compiler.nodes.LoopExitNode
invokevirtual org.graalvm.compiler.nodes.LoopExitNode.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside$2.val$loopBegin:Lorg/graalvm/compiler/nodes/LoopBeginNode;
if_acmpne 14
8: aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside$2.seenNode:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 2
start local 2 9: aload 2
ifnull 11
10: aload 2
areturn
11: StackMap locals: org.graalvm.compiler.graph.Node
StackMap stack:
aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside$2.val$graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.BeginNode
dup
invokespecial org.graalvm.compiler.nodes.BeginNode.<init>:()V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.AbstractBeginNode
astore 3
start local 3 12: aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside$2.seenNode:Ljava/util/Map;
aload 1
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
13: aload 3
areturn
end local 3 end local 2 14: StackMap locals:
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.LoopEndNode
ifeq 21
aload 1
checkcast org.graalvm.compiler.nodes.LoopEndNode
invokevirtual org.graalvm.compiler.nodes.LoopEndNode.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside$2.val$loopBegin:Lorg/graalvm/compiler/nodes/LoopBeginNode;
if_acmpne 21
15: aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside$2.seenNode:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 2
start local 2 16: aload 2
ifnull 18
17: aload 2
areturn
18: StackMap locals: org.graalvm.compiler.graph.Node
StackMap stack:
aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside$2.val$graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.EndNode
dup
invokespecial org.graalvm.compiler.nodes.EndNode.<init>:()V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.EndNode
astore 3
start local 3 19: aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside$2.seenNode:Ljava/util/Map;
aload 1
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
20: aload 3
areturn
end local 3 end local 2 21: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside$2;
0 22 1 original Lorg/graalvm/compiler/graph/Node;
2 7 2 value Lorg/graalvm/compiler/graph/Node;
5 7 3 newValue Lorg/graalvm/compiler/nodes/AbstractBeginNode;
9 14 2 value Lorg/graalvm/compiler/graph/Node;
12 14 3 newValue Lorg/graalvm/compiler/nodes/AbstractBeginNode;
16 21 2 value Lorg/graalvm/compiler/graph/Node;
19 21 3 newValue Lorg/graalvm/compiler/nodes/EndNode;
MethodParameters:
Name Flags
original
}
SourceFile: "LoopFragmentInside.java"
EnclosingMethod: org.graalvm.compiler.loop.LoopFragmentInside.getDuplicationReplacement:()Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;
NestHost: org.graalvm.compiler.loop.LoopFragmentInside
InnerClasses:
public abstract DuplicationReplacement = org.graalvm.compiler.graph.Graph$DuplicationReplacement of org.graalvm.compiler.graph.Graph
org.graalvm.compiler.loop.LoopFragmentInside$2