class org.graalvm.compiler.loop.LoopFragmentInside$3 extends org.graalvm.compiler.nodes.VirtualState$NodePositionClosure<org.graalvm.compiler.graph.Node>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.graalvm.compiler.loop.LoopFragmentInside$3
super_class: org.graalvm.compiler.nodes.VirtualState$NodePositionClosure
{
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.LoopExitNode val$exit;
descriptor: Lorg/graalvm/compiler/nodes/LoopExitNode;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final org.graalvm.collections.EconomicMap val$new2OldPhis;
descriptor: Lorg/graalvm/collections/EconomicMap;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final org.graalvm.compiler.nodes.LoopExitNode val$lex;
descriptor: Lorg/graalvm/compiler/nodes/LoopExitNode;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(org.graalvm.compiler.loop.LoopFragmentInside, org.graalvm.compiler.nodes.LoopExitNode, org.graalvm.collections.EconomicMap, org.graalvm.compiler.nodes.LoopExitNode);
descriptor: (Lorg/graalvm/compiler/loop/LoopFragmentInside;Lorg/graalvm/compiler/nodes/LoopExitNode;Lorg/graalvm/collections/EconomicMap;Lorg/graalvm/compiler/nodes/LoopExitNode;)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=5
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$exit:Lorg/graalvm/compiler/nodes/LoopExitNode;
aload 0
aload 3
putfield org.graalvm.compiler.loop.LoopFragmentInside$3.val$new2OldPhis:Lorg/graalvm/collections/EconomicMap;
aload 0
aload 4
putfield org.graalvm.compiler.loop.LoopFragmentInside$3.val$lex:Lorg/graalvm/compiler/nodes/LoopExitNode;
aload 0
invokespecial org.graalvm.compiler.nodes.VirtualState$NodePositionClosure.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside$3;
MethodParameters:
Name Flags
this$0 final
val$exit final
val$new2OldPhis final
val$lex final
public void apply(org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Position);
descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Position;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 1
invokevirtual org.graalvm.compiler.graph.Position.get:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 3
start local 3 1: aload 3
instanceof org.graalvm.compiler.nodes.ProxyNode
ifeq 8
2: aload 3
checkcast org.graalvm.compiler.nodes.ProxyNode
astore 4
start local 4 3: aload 4
invokevirtual org.graalvm.compiler.nodes.ProxyNode.proxyPoint:()Lorg/graalvm/compiler/nodes/LoopExitNode;
aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside$3.val$exit:Lorg/graalvm/compiler/nodes/LoopExitNode;
if_acmpne 12
4: aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside$3.this$0:Lorg/graalvm/compiler/loop/LoopFragmentInside;
aload 4
aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside$3.val$new2OldPhis:Lorg/graalvm/collections/EconomicMap;
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.getNodeInExitPathFromUnrolledSegment:(Lorg/graalvm/compiler/nodes/ProxyNode;Lorg/graalvm/collections/EconomicMap;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 5
start local 5 5: getstatic org.graalvm.compiler.loop.LoopFragmentInside.$assertionsDisabled:Z
ifne 6
aload 5
ifnonnull 6
new java.lang.AssertionError
dup
aload 4
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
6: StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ProxyNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 2
aload 1
aload 4
aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside$3.val$lex:Lorg/graalvm/compiler/nodes/LoopExitNode;
aload 5
invokevirtual org.graalvm.compiler.nodes.ProxyNode.duplicateOn:(Lorg/graalvm/compiler/nodes/LoopExitNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ProxyNode;
invokevirtual org.graalvm.compiler.graph.Position.set:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
end local 5 end local 4 7: goto 12
8: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside$3.this$0:Lorg/graalvm/compiler/loop/LoopFragmentInside;
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.original:()Lorg/graalvm/compiler/loop/LoopFragmentInside;
aload 3
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.contains:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 12
9: aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside$3.this$0:Lorg/graalvm/compiler/loop/LoopFragmentInside;
aload 3
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.getDuplicatedNode:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 4
start local 4 10: getstatic org.graalvm.compiler.loop.LoopFragmentInside.$assertionsDisabled:Z
ifne 11
aload 4
ifnonnull 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 2
aload 1
aload 4
invokevirtual org.graalvm.compiler.graph.Position.set:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
end local 4 12: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside$3;
0 13 1 from Lorg/graalvm/compiler/graph/Node;
0 13 2 p Lorg/graalvm/compiler/graph/Position;
1 13 3 to Lorg/graalvm/compiler/nodes/ValueNode;
3 7 4 originalProxy Lorg/graalvm/compiler/nodes/ProxyNode;
5 7 5 replacement Lorg/graalvm/compiler/nodes/ValueNode;
10 12 4 replacement Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
from
p
}
Signature: Lorg/graalvm/compiler/nodes/VirtualState$NodePositionClosure<Lorg/graalvm/compiler/graph/Node;>;
SourceFile: "LoopFragmentInside.java"
EnclosingMethod: org.graalvm.compiler.loop.LoopFragmentInside.createExitStateForNewSegmentEarlyExit:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/LoopExitNode;Lorg/graalvm/compiler/nodes/LoopExitNode;Lorg/graalvm/collections/EconomicMap;)V
NestHost: org.graalvm.compiler.loop.LoopFragmentInside
InnerClasses:
org.graalvm.compiler.loop.LoopFragmentInside$3
public abstract NodePositionClosure = org.graalvm.compiler.nodes.VirtualState$NodePositionClosure of org.graalvm.compiler.nodes.VirtualState