class org.graalvm.compiler.loop.LoopFragmentInside$3 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$3
super_class: java.lang.Object
{
private org.graalvm.util.EconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node> seenNode;
descriptor: Lorg/graalvm/util/EconomicMap;
flags: (0x0002) ACC_PRIVATE
Signature: Lorg/graalvm/util/EconomicMap<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$3.this$0:Lorg/graalvm/compiler/loop/LoopFragmentInside;
aload 0
aload 2
putfield org.graalvm.compiler.loop.LoopFragmentInside$3.val$loopBegin:Lorg/graalvm/compiler/nodes/LoopBeginNode;
aload 0
aload 3
putfield org.graalvm.compiler.loop.LoopFragmentInside$3.val$graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
getstatic org.graalvm.util.Equivalence.IDENTITY:Lorg/graalvm/util/Equivalence;
invokestatic org.graalvm.util.EconomicMap.create:(Lorg/graalvm/util/Equivalence;)Lorg/graalvm/util/EconomicMap;
putfield org.graalvm.compiler.loop.LoopFragmentInside$3.seenNode:Lorg/graalvm/util/EconomicMap;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside$3;
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$3.val$loopBegin:Lorg/graalvm/compiler/nodes/LoopBeginNode;
if_acmpne 7
1: aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside$3.seenNode:Lorg/graalvm/util/EconomicMap;
aload 1
invokeinterface org.graalvm.util.EconomicMap.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$3.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$3.seenNode:Lorg/graalvm/util/EconomicMap;
aload 1
aload 3
invokeinterface org.graalvm.util.EconomicMap.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$3.val$loopBegin:Lorg/graalvm/compiler/nodes/LoopBeginNode;
if_acmpne 14
8: aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside$3.seenNode:Lorg/graalvm/util/EconomicMap;
aload 1
invokeinterface org.graalvm.util.EconomicMap.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$3.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$3.seenNode:Lorg/graalvm/util/EconomicMap;
aload 1
aload 3
invokeinterface org.graalvm.util.EconomicMap.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$3.val$loopBegin:Lorg/graalvm/compiler/nodes/LoopBeginNode;
if_acmpne 21
15: aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside$3.seenNode:Lorg/graalvm/util/EconomicMap;
aload 1
invokeinterface org.graalvm.util.EconomicMap.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$3.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$3.seenNode:Lorg/graalvm/util/EconomicMap;
aload 1
aload 3
invokeinterface org.graalvm.util.EconomicMap.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$3;
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$3