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 jdk.internal.vm.compiler.collections.EconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node> seenNode;
descriptor: Ljdk/internal/vm/compiler/collections/EconomicMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljdk/internal/vm/compiler/collections/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 jdk.internal.vm.compiler.collections.Equivalence.IDENTITY:Ljdk/internal/vm/compiler/collections/Equivalence;
invokestatic jdk.internal.vm.compiler.collections.EconomicMap.create:(Ljdk/internal/vm/compiler/collections/Equivalence;)Ljdk/internal/vm/compiler/collections/EconomicMap;
putfield org.graalvm.compiler.loop.LoopFragmentInside$3.seenNode:Ljdk/internal/vm/compiler/collections/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=7, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
aconst_null
astore 3
1: aload 1
invokevirtual org.graalvm.compiler.graph.Node.withNodeSourcePosition:()Lorg/graalvm/compiler/debug/DebugCloseable;
astore 4
start local 4 2: aload 1
aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside$3.val$loopBegin:Lorg/graalvm/compiler/nodes/LoopBeginNode;
if_acmpne 13
3: aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside$3.seenNode:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 1
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 5
start local 5 4: aload 5
ifnull 8
5: aload 5
6: aload 4
ifnull 7
aload 4
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
7: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside$3 org.graalvm.compiler.graph.Node java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.graph.Node
StackMap stack: org.graalvm.compiler.graph.Node
areturn
8: StackMap locals:
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 6
start local 6 9: aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside$3.seenNode:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 1
aload 6
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: aload 6
11: aload 4
ifnull 12
aload 4
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
12: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside$3 org.graalvm.compiler.graph.Node java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.AbstractBeginNode
StackMap stack: org.graalvm.compiler.nodes.AbstractBeginNode
areturn
end local 6 end local 5 13: StackMap locals:
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.LoopExitNode
ifeq 24
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 24
14: aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside$3.seenNode:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 1
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 5
start local 5 15: aload 5
ifnull 19
16: aload 5
17: aload 4
ifnull 18
aload 4
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
18: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside$3 org.graalvm.compiler.graph.Node java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.graph.Node
StackMap stack: org.graalvm.compiler.graph.Node
areturn
19: StackMap locals:
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 6
start local 6 20: aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside$3.seenNode:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 1
aload 6
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
21: aload 6
22: aload 4
ifnull 23
aload 4
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
23: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside$3 org.graalvm.compiler.graph.Node java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.AbstractBeginNode
StackMap stack: org.graalvm.compiler.nodes.AbstractBeginNode
areturn
end local 6 end local 5 24: StackMap locals:
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.LoopEndNode
ifeq 35
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 35
25: aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside$3.seenNode:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 1
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 5
start local 5 26: aload 5
ifnull 30
27: aload 5
28: aload 4
ifnull 29
aload 4
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
29: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside$3 org.graalvm.compiler.graph.Node java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.graph.Node
StackMap stack: org.graalvm.compiler.graph.Node
areturn
30: StackMap locals:
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 6
start local 6 31: aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside$3.seenNode:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 1
aload 6
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
32: aload 6
33: aload 4
ifnull 34
aload 4
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
34: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside$3 org.graalvm.compiler.graph.Node java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.EndNode
StackMap stack: org.graalvm.compiler.nodes.EndNode
areturn
end local 6 end local 5 35: StackMap locals:
StackMap stack:
aload 1
36: aload 4
ifnull 37
aload 4
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
37: StackMap locals:
StackMap stack: org.graalvm.compiler.graph.Node
areturn
StackMap locals:
StackMap stack: java.lang.Throwable
38: astore 2
39: aload 4
ifnull 40
aload 4
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 4 StackMap locals:
StackMap stack:
40: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
41: astore 3
aload 2
ifnonnull 42
aload 3
astore 2
goto 43
StackMap locals:
StackMap stack:
42: aload 2
aload 3
if_acmpeq 43
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
43: aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside$3;
0 44 1 original Lorg/graalvm/compiler/graph/Node;
2 40 4 position Lorg/graalvm/compiler/debug/DebugCloseable;
4 13 5 value Lorg/graalvm/compiler/graph/Node;
9 13 6 newValue Lorg/graalvm/compiler/nodes/AbstractBeginNode;
15 24 5 value Lorg/graalvm/compiler/graph/Node;
20 24 6 newValue Lorg/graalvm/compiler/nodes/AbstractBeginNode;
26 35 5 value Lorg/graalvm/compiler/graph/Node;
31 35 6 newValue Lorg/graalvm/compiler/nodes/EndNode;
Exception table:
from to target type
2 6 38 any
8 11 38 any
13 17 38 any
19 22 38 any
24 28 38 any
30 33 38 any
35 36 38 any
1 7 41 any
8 12 41 any
13 18 41 any
19 23 41 any
24 29 41 any
30 34 41 any
35 37 41 any
38 41 41 any
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