public class org.graalvm.compiler.loop.LoopFragmentInside extends org.graalvm.compiler.loop.LoopFragment
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.loop.LoopFragmentInside
super_class: org.graalvm.compiler.loop.LoopFragment
{
private jdk.internal.vm.compiler.collections.EconomicMap<org.graalvm.compiler.nodes.PhiNode, org.graalvm.compiler.nodes.ValueNode> mergedInitializers;
descriptor: Ljdk/internal/vm/compiler/collections/EconomicMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/nodes/PhiNode;Lorg/graalvm/compiler/nodes/ValueNode;>;
private final org.graalvm.compiler.graph.Graph$DuplicationReplacement dataFixBefore;
descriptor: Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.graph.Graph$DuplicationReplacement dataFixWithinAfter;
descriptor: Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/loop/LoopFragmentInside;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.graalvm.compiler.loop.LoopFragmentInside.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.loop.LoopEx);
descriptor: (Lorg/graalvm/compiler/loop/LoopEx;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.graalvm.compiler.loop.LoopFragment.<init>:(Lorg/graalvm/compiler/loop/LoopEx;)V
1: aload 0
new org.graalvm.compiler.loop.LoopFragmentInside$1
dup
aload 0
invokespecial org.graalvm.compiler.loop.LoopFragmentInside$1.<init>:(Lorg/graalvm/compiler/loop/LoopFragmentInside;)V
putfield org.graalvm.compiler.loop.LoopFragmentInside.dataFixBefore:Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;
2: aload 0
new org.graalvm.compiler.loop.LoopFragmentInside$2
dup
aload 0
invokespecial org.graalvm.compiler.loop.LoopFragmentInside$2.<init>:(Lorg/graalvm/compiler/loop/LoopFragmentInside;)V
putfield org.graalvm.compiler.loop.LoopFragmentInside.dataFixWithinAfter:Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside;
0 4 1 loop Lorg/graalvm/compiler/loop/LoopEx;
MethodParameters:
Name Flags
loop
public void <init>(org.graalvm.compiler.loop.LoopFragmentInside);
descriptor: (Lorg/graalvm/compiler/loop/LoopFragmentInside;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aconst_null
aload 1
invokespecial org.graalvm.compiler.loop.LoopFragment.<init>:(Lorg/graalvm/compiler/loop/LoopEx;Lorg/graalvm/compiler/loop/LoopFragment;)V
1: aload 0
new org.graalvm.compiler.loop.LoopFragmentInside$1
dup
aload 0
invokespecial org.graalvm.compiler.loop.LoopFragmentInside$1.<init>:(Lorg/graalvm/compiler/loop/LoopFragmentInside;)V
putfield org.graalvm.compiler.loop.LoopFragmentInside.dataFixBefore:Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;
2: aload 0
new org.graalvm.compiler.loop.LoopFragmentInside$2
dup
aload 0
invokespecial org.graalvm.compiler.loop.LoopFragmentInside$2.<init>:(Lorg/graalvm/compiler/loop/LoopFragmentInside;)V
putfield org.graalvm.compiler.loop.LoopFragmentInside.dataFixWithinAfter:Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside;
0 4 1 original Lorg/graalvm/compiler/loop/LoopFragmentInside;
MethodParameters:
Name Flags
original
public org.graalvm.compiler.loop.LoopFragmentInside duplicate();
descriptor: ()Lorg/graalvm/compiler/loop/LoopFragmentInside;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic org.graalvm.compiler.loop.LoopFragmentInside.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.isDuplicate:()Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
new org.graalvm.compiler.loop.LoopFragmentInside
dup
aload 0
invokespecial org.graalvm.compiler.loop.LoopFragmentInside.<init>:(Lorg/graalvm/compiler/loop/LoopFragmentInside;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside;
public org.graalvm.compiler.loop.LoopFragmentInside original();
descriptor: ()Lorg/graalvm/compiler/loop/LoopFragmentInside;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.loop.LoopFragment.original:()Lorg/graalvm/compiler/loop/LoopFragment;
checkcast org.graalvm.compiler.loop.LoopFragmentInside
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside;
public void appendInside(org.graalvm.compiler.loop.LoopEx);
descriptor: (Lorg/graalvm/compiler/loop/LoopEx;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside;
0 1 1 loop Lorg/graalvm/compiler/loop/LoopEx;
MethodParameters:
Name Flags
loop
public org.graalvm.compiler.loop.LoopEx loop();
descriptor: ()Lorg/graalvm/compiler/loop/LoopEx;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.graalvm.compiler.loop.LoopFragmentInside.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.isDuplicate:()Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokespecial org.graalvm.compiler.loop.LoopFragment.loop:()Lorg/graalvm/compiler/loop/LoopEx;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside;
public void insertBefore(org.graalvm.compiler.loop.LoopEx);
descriptor: (Lorg/graalvm/compiler/loop/LoopEx;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.loop.LoopFragmentInside.$assertionsDisabled:Z
ifne 2
aload 0
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.isDuplicate:()Z
ifeq 1
aload 0
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.original:()Lorg/graalvm/compiler/loop/LoopFragmentInside;
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.loop:()Lorg/graalvm/compiler/loop/LoopEx;
aload 1
if_acmpeq 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside.dataFixBefore:Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.patchNodes:(Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;)V
3: aload 0
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.mergeEnds:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 2
start local 2 4: aload 0
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.mergeEarlyExits:()V
5: aload 0
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.original:()Lorg/graalvm/compiler/loop/LoopFragmentInside;
aload 0
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.patchPeeling:(Lorg/graalvm/compiler/loop/LoopFragmentInside;)V
6: aload 0
aload 1
invokevirtual org.graalvm.compiler.loop.LoopEx.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.getDuplicatedNode:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.AbstractBeginNode
astore 3
start local 3 7: aload 1
invokevirtual org.graalvm.compiler.loop.LoopEx.entryPoint:()Lorg/graalvm/compiler/nodes/FixedNode;
aload 3
invokevirtual org.graalvm.compiler.nodes.FixedNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
8: aload 2
aload 1
invokevirtual org.graalvm.compiler.loop.LoopEx.entryPoint:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside;
0 10 1 loop Lorg/graalvm/compiler/loop/LoopEx;
4 10 2 end Lorg/graalvm/compiler/nodes/AbstractBeginNode;
7 10 3 entry Lorg/graalvm/compiler/nodes/AbstractBeginNode;
MethodParameters:
Name Flags
loop
public void insertWithinAfter(org.graalvm.compiler.loop.LoopEx);
descriptor: (Lorg/graalvm/compiler/loop/LoopEx;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.insertWithinAfter:(Lorg/graalvm/compiler/loop/LoopEx;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside;
0 2 1 loop Lorg/graalvm/compiler/loop/LoopEx;
MethodParameters:
Name Flags
loop
public void insertWithinAfter(org.graalvm.compiler.loop.LoopEx, boolean);
descriptor: (Lorg/graalvm/compiler/loop/LoopEx;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=15, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.loop.LoopFragmentInside.$assertionsDisabled:Z
ifne 2
aload 0
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.isDuplicate:()Z
ifeq 1
aload 0
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.original:()Lorg/graalvm/compiler/loop/LoopFragmentInside;
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.loop:()Lorg/graalvm/compiler/loop/LoopEx;
aload 1
if_acmpeq 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside.dataFixWithinAfter:Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.patchNodes:(Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;)V
3: aload 1
invokevirtual org.graalvm.compiler.loop.LoopEx.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
astore 3
start local 3 4: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 5: aload 3
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.phis:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 6
goto 14
StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopEx int org.graalvm.compiler.nodes.LoopBeginNode java.util.ArrayList top java.util.Iterator
StackMap stack:
6: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.PhiNode
astore 5
start local 5 7: aload 0
aload 5
iconst_1
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.getDuplicatedNode:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 7
start local 7 8: aload 7
ifnonnull 13
9: aload 3
aload 5
iconst_1
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.isPhiAtMerge:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 12
10: aload 5
iconst_1
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
checkcast org.graalvm.compiler.nodes.PhiNode
iconst_1
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
astore 7
11: goto 13
12: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopEx int org.graalvm.compiler.nodes.LoopBeginNode java.util.ArrayList org.graalvm.compiler.nodes.PhiNode java.util.Iterator org.graalvm.compiler.nodes.ValueNode
StackMap stack:
getstatic org.graalvm.compiler.loop.LoopFragmentInside.$assertionsDisabled:Z
ifne 13
aload 5
iconst_1
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifne 13
new java.lang.AssertionError
dup
aload 5
iconst_1
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
13: StackMap locals:
StackMap stack:
aload 4
aload 7
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 5 14: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopEx int org.graalvm.compiler.nodes.LoopBeginNode java.util.ArrayList top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
15: iconst_0
istore 5
start local 5 16: aload 3
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.phis:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 7
goto 21
StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopEx int org.graalvm.compiler.nodes.LoopBeginNode java.util.ArrayList int top java.util.Iterator
StackMap stack:
17: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.PhiNode
astore 6
start local 6 18: aload 4
iload 5
iinc 5 1
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 8
start local 8 19: aload 8
ifnull 21
20: aload 6
iconst_1
aload 8
invokevirtual org.graalvm.compiler.nodes.PhiNode.setValueAt:(ILorg/graalvm/compiler/nodes/ValueNode;)V
end local 8 end local 6 21: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
22: aload 0
aload 1
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.placeNewSegmentAndCleanup:(Lorg/graalvm/compiler/loop/LoopEx;)V
23: getstatic org.graalvm.compiler.loop.LoopFragmentInside.$assertionsDisabled:Z
ifne 24
aload 1
invokevirtual org.graalvm.compiler.loop.LoopEx.whole:()Lorg/graalvm/compiler/loop/LoopFragmentWhole;
invokevirtual org.graalvm.compiler.loop.LoopFragmentWhole.nodes:()Lorg/graalvm/compiler/graph/NodeBitMap;
ldc Lorg/graalvm/compiler/nodes/SafepointNode;
invokevirtual org.graalvm.compiler.graph.NodeBitMap.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
aload 0
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.nodes:()Lorg/graalvm/compiler/graph/NodeBitMap;
ldc Lorg/graalvm/compiler/nodes/SafepointNode;
invokevirtual org.graalvm.compiler.graph.NodeBitMap.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
if_icmpeq 24
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
24: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopEx int org.graalvm.compiler.nodes.LoopBeginNode java.util.ArrayList int
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.loop.LoopEx.whole:()Lorg/graalvm/compiler/loop/LoopFragmentWhole;
invokevirtual org.graalvm.compiler.loop.LoopFragmentWhole.nodes:()Lorg/graalvm/compiler/graph/NodeBitMap;
ldc Lorg/graalvm/compiler/nodes/SafepointNode;
invokevirtual org.graalvm.compiler.graph.NodeBitMap.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 7
goto 27
StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopEx int org.graalvm.compiler.nodes.LoopBeginNode java.util.ArrayList int top java.util.Iterator
StackMap stack:
25: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.SafepointNode
astore 6
start local 6 26: aload 0
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.removeFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
end local 6 27: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 25
28: aload 3
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.getUnrollFactor:()I
istore 6
start local 6 29: aload 3
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 7
start local 7 30: iload 2
ifeq 52
31: aload 1
invokevirtual org.graalvm.compiler.loop.LoopEx.counted:()Lorg/graalvm/compiler/loop/CountedLoopInfo;
invokevirtual org.graalvm.compiler.loop.CountedLoopInfo.getCounter:()Lorg/graalvm/compiler/loop/InductionVariable;
astore 8
start local 8 32: aload 1
invokevirtual org.graalvm.compiler.loop.LoopEx.counted:()Lorg/graalvm/compiler/loop/CountedLoopInfo;
invokevirtual org.graalvm.compiler.loop.CountedLoopInfo.getLimitTest:()Lorg/graalvm/compiler/nodes/IfNode;
invokevirtual org.graalvm.compiler.nodes.IfNode.condition:()Lorg/graalvm/compiler/nodes/LogicNode;
checkcast org.graalvm.compiler.nodes.calc.CompareNode
astore 9
start local 9 33: aload 9
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 8
invokevirtual org.graalvm.compiler.loop.InductionVariable.valueNode:()Lorg/graalvm/compiler/nodes/ValueNode;
if_acmpne 36
34: aload 9
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 10
start local 10 35: goto 40
end local 10 StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopEx int org.graalvm.compiler.nodes.LoopBeginNode java.util.ArrayList int int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.loop.InductionVariable org.graalvm.compiler.nodes.calc.CompareNode
StackMap stack:
36: aload 9
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 8
invokevirtual org.graalvm.compiler.loop.InductionVariable.valueNode:()Lorg/graalvm/compiler/nodes/ValueNode;
if_acmpne 39
37: aload 9
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 10
start local 10 38: goto 40
end local 10 39: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
start local 10 40: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
iload 6
iconst_1
if_icmpne 41
aload 8
invokevirtual org.graalvm.compiler.loop.InductionVariable.constantStride:()J
goto 42
StackMap locals:
StackMap stack:
41: aload 8
invokevirtual org.graalvm.compiler.loop.InductionVariable.constantStride:()J
iload 6
i2l
ldiv
StackMap locals:
StackMap stack: long
42: lstore 11
start local 11 43: aload 8
invokevirtual org.graalvm.compiler.loop.InductionVariable.direction:()Lorg/graalvm/compiler/loop/InductionVariable$Direction;
getstatic org.graalvm.compiler.loop.InductionVariable$Direction.Up:Lorg/graalvm/compiler/loop/InductionVariable$Direction;
if_acmpne 48
44: aload 7
aload 8
invokevirtual org.graalvm.compiler.loop.InductionVariable.initNode:()Lorg/graalvm/compiler/nodes/ValueNode;
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
iload 6
i2l
lload 11
lmul
invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;J)Lorg/graalvm/compiler/nodes/ConstantNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ConstantNode
astore 13
start local 13 45: aload 7
new org.graalvm.compiler.nodes.calc.SubNode
dup
aload 10
aload 13
invokespecial org.graalvm.compiler.nodes.calc.SubNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addWithoutUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 14
start local 14 46: aload 9
aload 10
aload 14
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.replaceFirstInput:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
end local 14 end local 13 47: goto 52
StackMap locals: long
StackMap stack:
48: aload 8
invokevirtual org.graalvm.compiler.loop.InductionVariable.direction:()Lorg/graalvm/compiler/loop/InductionVariable$Direction;
getstatic org.graalvm.compiler.loop.InductionVariable$Direction.Down:Lorg/graalvm/compiler/loop/InductionVariable$Direction;
if_acmpne 52
49: aload 7
aload 8
invokevirtual org.graalvm.compiler.loop.InductionVariable.initNode:()Lorg/graalvm/compiler/nodes/ValueNode;
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
iload 6
i2l
lload 11
lneg
lmul
invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;J)Lorg/graalvm/compiler/nodes/ConstantNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ConstantNode
astore 13
start local 13 50: aload 7
new org.graalvm.compiler.nodes.calc.AddNode
dup
aload 10
aload 13
invokespecial org.graalvm.compiler.nodes.calc.AddNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addWithoutUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 14
start local 14 51: aload 9
aload 10
aload 14
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.replaceFirstInput:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
end local 14 end local 13 end local 11 end local 10 end local 9 end local 8 52: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopEx int org.graalvm.compiler.nodes.LoopBeginNode java.util.ArrayList int int org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
aload 3
iload 6
iconst_2
imul
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.setUnrollFactor:(I)V
53: aload 3
aload 3
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopFrequency:()D
ldc 2.0
ddiv
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.setLoopFrequency:(D)V
54: aload 7
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
iconst_4
aload 7
ldc "LoopPartialUnroll %s"
aload 1
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
55: aload 3
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
iconst_3
aload 3
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
ldc "After insertWithinAfter %s"
aload 3
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
56: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 57 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside;
0 57 1 loop Lorg/graalvm/compiler/loop/LoopEx;
0 57 2 updateLimit Z
4 57 3 mainLoopBegin Lorg/graalvm/compiler/nodes/LoopBeginNode;
5 57 4 backedgeValues Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/ValueNode;>;
7 14 5 mainPhiNode Lorg/graalvm/compiler/nodes/PhiNode;
8 14 7 duplicatedNode Lorg/graalvm/compiler/nodes/ValueNode;
16 57 5 index I
18 21 6 mainPhiNode Lorg/graalvm/compiler/nodes/PhiNode;
19 21 8 duplicatedNode Lorg/graalvm/compiler/nodes/ValueNode;
26 27 6 safepoint Lorg/graalvm/compiler/nodes/SafepointNode;
29 57 6 unrollFactor I
30 57 7 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
32 52 8 iv Lorg/graalvm/compiler/loop/InductionVariable;
33 52 9 compareNode Lorg/graalvm/compiler/nodes/calc/CompareNode;
35 36 10 compareBound Lorg/graalvm/compiler/nodes/ValueNode;
38 39 10 compareBound Lorg/graalvm/compiler/nodes/ValueNode;
40 52 10 compareBound Lorg/graalvm/compiler/nodes/ValueNode;
43 52 11 originalStride J
45 47 13 aboveVal Lorg/graalvm/compiler/nodes/ConstantNode;
46 47 14 newLimit Lorg/graalvm/compiler/nodes/ValueNode;
50 52 13 aboveVal Lorg/graalvm/compiler/nodes/ConstantNode;
51 52 14 newLimit Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
loop
updateLimit
private void placeNewSegmentAndCleanup(org.graalvm.compiler.loop.LoopEx);
descriptor: (Lorg/graalvm/compiler/loop/LoopEx;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=19, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.loop.LoopEx.counted:()Lorg/graalvm/compiler/loop/CountedLoopInfo;
astore 2
start local 2 1: aload 1
invokevirtual org.graalvm.compiler.loop.LoopEx.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
astore 3
start local 3 2: aload 3
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 4
start local 4 3: aload 2
invokevirtual org.graalvm.compiler.loop.CountedLoopInfo.getLimitTest:()Lorg/graalvm/compiler/nodes/IfNode;
astore 5
start local 5 4: aload 0
aload 5
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.getDuplicatedNode:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.IfNode
astore 6
start local 6 5: aload 5
invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 7
start local 7 6: aload 5
invokevirtual org.graalvm.compiler.nodes.IfNode.falseSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 8
start local 8 7: iconst_0
istore 10
start local 10 8: aload 7
aload 2
invokevirtual org.graalvm.compiler.loop.CountedLoopInfo.getBody:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
if_acmpne 12
9: aload 7
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 9
start local 9 10: iconst_1
istore 10
11: goto 14
end local 9 12: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopEx org.graalvm.compiler.loop.CountedLoopInfo org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.IfNode org.graalvm.compiler.nodes.IfNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode top int
StackMap stack:
getstatic org.graalvm.compiler.loop.LoopFragmentInside.$assertionsDisabled:Z
ifne 13
aload 8
aload 2
invokevirtual org.graalvm.compiler.loop.CountedLoopInfo.getBody:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
if_acmpeq 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 9
start local 9 14: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopEx org.graalvm.compiler.loop.CountedLoopInfo org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.IfNode org.graalvm.compiler.nodes.IfNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.FixedNode int
StackMap stack:
aload 6
invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 7
15: aload 6
invokevirtual org.graalvm.compiler.nodes.IfNode.falseSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 8
16: aload 8
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.anchored:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 19
StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopEx org.graalvm.compiler.loop.CountedLoopInfo org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.IfNode org.graalvm.compiler.nodes.IfNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.FixedNode int top java.util.Iterator
StackMap stack:
17: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 11
start local 11 18: aload 11
aload 8
aload 5
invokevirtual org.graalvm.compiler.nodes.IfNode.falseSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokevirtual org.graalvm.compiler.graph.Node.replaceFirstInput:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
end local 11 19: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
20: aload 7
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.anchored:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 23
StackMap locals:
StackMap stack:
21: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 11
start local 11 22: aload 11
aload 7
aload 5
invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokevirtual org.graalvm.compiler.graph.Node.replaceFirstInput:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
end local 11 23: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
24: iload 10
ifeq 27
25: aload 7
astore 11
start local 11 26: goto 29
end local 11 27: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopEx org.graalvm.compiler.loop.CountedLoopInfo org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.IfNode org.graalvm.compiler.nodes.IfNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.FixedNode int
StackMap stack:
aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
iconst_3
aload 3
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
ldc "before"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
28: aload 8
astore 11
start local 11 29: StackMap locals: org.graalvm.compiler.nodes.AbstractBeginNode
StackMap stack:
aload 11
invokestatic org.graalvm.compiler.loop.LoopFragmentInside.getBlockEnd:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/EndNode;
astore 12
start local 12 30: aload 3
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.getSingleLoopEnd:()Lorg/graalvm/compiler/nodes/LoopEndNode;
astore 13
start local 13 31: aload 13
invokevirtual org.graalvm.compiler.nodes.LoopEndNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
astore 14
start local 14 32: aload 0
aload 9
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.getDuplicatedNode:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedNode
astore 15
start local 15 33: aload 0
aload 14
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.getDuplicatedNode:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
astore 16
start local 16 34: aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
iconst_4
aload 13
invokevirtual org.graalvm.compiler.nodes.LoopEndNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
ldc "Before placing segment"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
35: aload 9
instanceof org.graalvm.compiler.nodes.LoopEndNode
ifeq 38
36: aload 0
aload 3
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.getDuplicatedNode:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedNode
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;)V
37: goto 54
38: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopEx org.graalvm.compiler.loop.CountedLoopInfo org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.IfNode org.graalvm.compiler.nodes.IfNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.FixedNode int org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.LoopEndNode org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedWithNextNode
StackMap stack:
aload 16
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.clearSuccessors:()V
39: aload 11
aload 12
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
40: aload 14
aload 13
aload 15
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.replaceFirstSuccessor:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
41: aload 16
aload 12
aload 13
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.replaceFirstSuccessor:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
42: aload 14
aload 15
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
43: aload 16
aload 13
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
44: aload 11
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.clearSuccessors:()V
45: aload 12
invokevirtual org.graalvm.compiler.nodes.FixedNode.safeDelete:()V
46: aload 6
invokevirtual org.graalvm.compiler.nodes.IfNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
astore 17
start local 17 47: aload 6
invokevirtual org.graalvm.compiler.nodes.IfNode.condition:()Lorg/graalvm/compiler/nodes/LogicNode;
astore 18
start local 18 48: aload 17
invokevirtual org.graalvm.compiler.graph.Node.clearSuccessors:()V
49: aload 6
invokevirtual org.graalvm.compiler.nodes.IfNode.safeDelete:()V
50: aload 18
invokevirtual org.graalvm.compiler.nodes.LogicNode.safeDelete:()V
51: aload 7
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.safeDelete:()V
52: aload 8
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.safeDelete:()V
53: aload 17
invokevirtual org.graalvm.compiler.graph.Node.safeDelete:()V
end local 18 end local 17 54: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
iconst_4
aload 13
invokevirtual org.graalvm.compiler.nodes.LoopEndNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
ldc "After placing segment"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
55: return
end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 56 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside;
0 56 1 loop Lorg/graalvm/compiler/loop/LoopEx;
1 56 2 mainCounted Lorg/graalvm/compiler/loop/CountedLoopInfo;
2 56 3 mainLoopBegin Lorg/graalvm/compiler/nodes/LoopBeginNode;
3 56 4 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
4 56 5 loopTest Lorg/graalvm/compiler/nodes/IfNode;
5 56 6 newSegmentTest Lorg/graalvm/compiler/nodes/IfNode;
6 56 7 trueSuccessor Lorg/graalvm/compiler/nodes/AbstractBeginNode;
7 56 8 falseSuccessor Lorg/graalvm/compiler/nodes/AbstractBeginNode;
10 12 9 firstNode Lorg/graalvm/compiler/nodes/FixedNode;
14 56 9 firstNode Lorg/graalvm/compiler/nodes/FixedNode;
8 56 10 codeInTrueSide Z
18 19 11 usage Lorg/graalvm/compiler/graph/Node;
22 23 11 usage Lorg/graalvm/compiler/graph/Node;
26 27 11 startBlockNode Lorg/graalvm/compiler/nodes/AbstractBeginNode;
29 56 11 startBlockNode Lorg/graalvm/compiler/nodes/AbstractBeginNode;
30 56 12 lastNode Lorg/graalvm/compiler/nodes/FixedNode;
31 56 13 loopEndNode Lorg/graalvm/compiler/nodes/LoopEndNode;
32 56 14 lastCodeNode Lorg/graalvm/compiler/nodes/FixedWithNextNode;
33 56 15 newSegmentFirstNode Lorg/graalvm/compiler/nodes/FixedNode;
34 56 16 newSegmentLastNode Lorg/graalvm/compiler/nodes/FixedWithNextNode;
47 54 17 newSegmentTestStart Lorg/graalvm/compiler/graph/Node;
48 54 18 newSegmentIfTest Lorg/graalvm/compiler/nodes/LogicNode;
MethodParameters:
Name Flags
loop
private static org.graalvm.compiler.nodes.EndNode getBlockEnd(org.graalvm.compiler.nodes.FixedNode);
descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/EndNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: goto 3
2: StackMap locals: org.graalvm.compiler.nodes.FixedNode
StackMap stack:
aload 1
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 1
3: StackMap locals:
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.FixedWithNextNode
ifne 2
4: aload 1
checkcast org.graalvm.compiler.nodes.EndNode
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 node Lorg/graalvm/compiler/nodes/FixedNode;
1 5 1 curNode Lorg/graalvm/compiler/nodes/FixedNode;
MethodParameters:
Name Flags
node
public org.graalvm.compiler.graph.NodeBitMap nodes();
descriptor: ()Lorg/graalvm/compiler/graph/NodeBitMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside.nodes:Lorg/graalvm/compiler/graph/NodeBitMap;
ifnonnull 18
1: aload 0
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.loop:()Lorg/graalvm/compiler/loop/LoopEx;
invokevirtual org.graalvm.compiler.loop.LoopEx.whole:()Lorg/graalvm/compiler/loop/LoopFragmentWhole;
astore 1
start local 1 2: aload 1
invokevirtual org.graalvm.compiler.loop.LoopFragmentWhole.nodes:()Lorg/graalvm/compiler/graph/NodeBitMap;
pop
3: aload 0
aload 1
getfield org.graalvm.compiler.loop.LoopFragmentWhole.nodes:Lorg/graalvm/compiler/graph/NodeBitMap;
invokevirtual org.graalvm.compiler.graph.NodeBitMap.copy:()Lorg/graalvm/compiler/graph/NodeBitMap;
putfield org.graalvm.compiler.loop.LoopFragmentInside.nodes:Lorg/graalvm/compiler/graph/NodeBitMap;
4: aload 0
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.loop:()Lorg/graalvm/compiler/loop/LoopEx;
invokevirtual org.graalvm.compiler.loop.LoopEx.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
astore 2
start local 2 5: aload 2
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.phis:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopFragmentWhole org.graalvm.compiler.nodes.LoopBeginNode top java.util.Iterator
StackMap stack:
6: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.PhiNode
astore 3
start local 3 7: aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside.nodes:Lorg/graalvm/compiler/graph/NodeBitMap;
aload 3
invokevirtual org.graalvm.compiler.graph.NodeBitMap.clear:(Lorg/graalvm/compiler/graph/Node;)V
end local 3 8: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
9: aload 0
aload 2
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.clearStateNodes:(Lorg/graalvm/compiler/nodes/StateSplit;)V
10: aload 0
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.exits:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 4
goto 17
StackMap locals:
StackMap stack:
11: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.LoopExitNode
astore 3
start local 3 12: aload 0
aload 3
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.clearStateNodes:(Lorg/graalvm/compiler/nodes/StateSplit;)V
13: aload 3
invokevirtual org.graalvm.compiler.nodes.LoopExitNode.proxies:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 6
goto 16
StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopFragmentWhole org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.LoopExitNode java.util.Iterator top java.util.Iterator
StackMap stack:
14: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ProxyNode
astore 5
start local 5 15: aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside.nodes:Lorg/graalvm/compiler/graph/NodeBitMap;
aload 5
invokevirtual org.graalvm.compiler.graph.NodeBitMap.clear:(Lorg/graalvm/compiler/graph/Node;)V
end local 5 16: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
end local 3 17: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopFragmentWhole org.graalvm.compiler.nodes.LoopBeginNode top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
end local 2 end local 1 18: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside
StackMap stack:
aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside.nodes:Lorg/graalvm/compiler/graph/NodeBitMap;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside;
2 18 1 whole Lorg/graalvm/compiler/loop/LoopFragmentWhole;
5 18 2 loopBegin Lorg/graalvm/compiler/nodes/LoopBeginNode;
7 8 3 phi Lorg/graalvm/compiler/nodes/PhiNode;
12 17 3 exit Lorg/graalvm/compiler/nodes/LoopExitNode;
15 16 5 proxy Lorg/graalvm/compiler/nodes/ProxyNode;
private void clearStateNodes(org.graalvm.compiler.nodes.StateSplit);
descriptor: (Lorg/graalvm/compiler/nodes/StateSplit;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface org.graalvm.compiler.nodes.StateSplit.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
aload 0
aload 1
invokedynamic apply(Lorg/graalvm/compiler/loop/LoopFragmentInside;Lorg/graalvm/compiler/nodes/StateSplit;)Lorg/graalvm/compiler/nodes/VirtualState$VirtualClosure;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lorg/graalvm/compiler/nodes/VirtualState;)V
org/graalvm/compiler/loop/LoopFragmentInside.lambda$0(Lorg/graalvm/compiler/nodes/StateSplit;Lorg/graalvm/compiler/nodes/VirtualState;)V (7)
(Lorg/graalvm/compiler/nodes/VirtualState;)V
invokevirtual org.graalvm.compiler.nodes.FrameState.applyToVirtual:(Lorg/graalvm/compiler/nodes/VirtualState$VirtualClosure;)V
3: StackMap locals: org.graalvm.compiler.nodes.FrameState
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside;
0 4 1 stateSplit Lorg/graalvm/compiler/nodes/StateSplit;
1 4 2 loopState Lorg/graalvm/compiler/nodes/FrameState;
MethodParameters:
Name Flags
stateSplit
public org.graalvm.compiler.graph.iterators.NodeIterable<org.graalvm.compiler.nodes.LoopExitNode> exits();
descriptor: ()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.loop:()Lorg/graalvm/compiler/loop/LoopEx;
invokevirtual org.graalvm.compiler.loop.LoopEx.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopExits:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside;
Signature: ()Lorg/graalvm/compiler/graph/iterators/NodeIterable<Lorg/graalvm/compiler/nodes/LoopExitNode;>;
protected org.graalvm.compiler.graph.Graph$DuplicationReplacement getDuplicationReplacement();
descriptor: ()Lorg/graalvm/compiler/graph/Graph$DuplicationReplacement;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.loop:()Lorg/graalvm/compiler/loop/LoopEx;
invokevirtual org.graalvm.compiler.loop.LoopEx.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
astore 1
start local 1 1: aload 0
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 2
start local 2 2: new org.graalvm.compiler.loop.LoopFragmentInside$3
dup
aload 0
aload 1
aload 2
invokespecial org.graalvm.compiler.loop.LoopFragmentInside$3.<init>:(Lorg/graalvm/compiler/loop/LoopFragmentInside;Lorg/graalvm/compiler/nodes/LoopBeginNode;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside;
1 3 1 loopBegin Lorg/graalvm/compiler/nodes/LoopBeginNode;
2 3 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
protected void finishDuplication();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside;
protected void beforeDuplication();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside;
private static org.graalvm.compiler.nodes.PhiNode patchPhi(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.PhiNode, org.graalvm.compiler.nodes.AbstractMergeNode);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/PhiNode;Lorg/graalvm/compiler/nodes/AbstractMergeNode;)Lorg/graalvm/compiler/nodes/PhiNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof org.graalvm.compiler.nodes.ValuePhiNode
ifeq 3
1: new org.graalvm.compiler.nodes.ValuePhiNode
dup
aload 1
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.PhiNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 2
invokespecial org.graalvm.compiler.nodes.ValuePhiNode.<init>:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/AbstractMergeNode;)V
astore 3
start local 3 2: goto 10
end local 3 StackMap locals:
StackMap stack:
3: aload 1
instanceof org.graalvm.compiler.nodes.GuardPhiNode
ifeq 6
4: new org.graalvm.compiler.nodes.GuardPhiNode
dup
aload 2
invokespecial org.graalvm.compiler.nodes.GuardPhiNode.<init>:(Lorg/graalvm/compiler/nodes/AbstractMergeNode;)V
astore 3
start local 3 5: goto 10
end local 3 StackMap locals:
StackMap stack:
6: aload 1
instanceof org.graalvm.compiler.nodes.memory.MemoryPhiNode
ifeq 9
7: new org.graalvm.compiler.nodes.memory.MemoryPhiNode
dup
aload 2
aload 1
checkcast org.graalvm.compiler.nodes.memory.MemoryPhiNode
invokevirtual org.graalvm.compiler.nodes.memory.MemoryPhiNode.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokespecial org.graalvm.compiler.nodes.memory.MemoryPhiNode.<init>:(Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
astore 3
start local 3 8: goto 10
end local 3 9: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
start local 3 10: StackMap locals: org.graalvm.compiler.nodes.PhiNode
StackMap stack:
aload 0
aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addWithoutUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.PhiNode
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 11 1 phi Lorg/graalvm/compiler/nodes/PhiNode;
0 11 2 merge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
2 3 3 ret Lorg/graalvm/compiler/nodes/PhiNode;
5 6 3 ret Lorg/graalvm/compiler/nodes/PhiNode;
8 9 3 ret Lorg/graalvm/compiler/nodes/PhiNode;
10 11 3 ret Lorg/graalvm/compiler/nodes/PhiNode;
MethodParameters:
Name Flags
graph
phi
merge
private void patchPeeling(org.graalvm.compiler.loop.LoopFragmentInside);
descriptor: (Lorg/graalvm/compiler/loop/LoopFragmentInside;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=15, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.loop:()Lorg/graalvm/compiler/loop/LoopEx;
invokevirtual org.graalvm.compiler.loop.LoopEx.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
astore 2
start local 2 1: aload 2
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 3
start local 3 2: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 4
start local 4 3: aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside.nodes:Lorg/graalvm/compiler/graph/NodeBitMap;
invokevirtual org.graalvm.compiler.graph.NodeBitMap.copy:()Lorg/graalvm/compiler/graph/NodeBitMap;
astore 5
start local 5 4: aload 0
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.exits:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 7
goto 11
StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.graph.NodeBitMap top java.util.Iterator
StackMap stack:
5: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.LoopExitNode
astore 6
start local 6 6: aload 6
aload 5
invokestatic org.graalvm.compiler.loop.LoopFragmentInside.markStateNodes:(Lorg/graalvm/compiler/nodes/StateSplit;Lorg/graalvm/compiler/graph/NodeBitMap;)V
7: aload 6
invokevirtual org.graalvm.compiler.nodes.LoopExitNode.proxies:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 9
goto 10
StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.LoopExitNode java.util.Iterator top java.util.Iterator
StackMap stack:
8: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ProxyNode
astore 8
start local 8 9: aload 5
aload 8
invokevirtual org.graalvm.compiler.graph.NodeBitMap.markAndGrow:(Lorg/graalvm/compiler/graph/Node;)V
end local 8 10: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
end local 6 11: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.graph.NodeBitMap top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
12: aload 2
aload 5
invokestatic org.graalvm.compiler.loop.LoopFragmentInside.markStateNodes:(Lorg/graalvm/compiler/nodes/StateSplit;Lorg/graalvm/compiler/graph/NodeBitMap;)V
13: aload 2
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.phis:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
astore 6
start local 6 14: aload 6
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 37
StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.graph.NodeBitMap java.util.List top java.util.Iterator
StackMap stack:
15: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.PhiNode
astore 7
start local 7 16: aload 7
invokevirtual org.graalvm.compiler.nodes.PhiNode.hasNoUsages:()Z
ifeq 18
17: goto 37
18: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.graph.NodeBitMap java.util.List org.graalvm.compiler.nodes.PhiNode java.util.Iterator
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopEnds:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
iconst_1
if_icmpne 22
19: aload 7
aload 2
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopEnds:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.first:()Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.AbstractEndNode
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(Lorg/graalvm/compiler/nodes/AbstractEndNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 10
start local 10 20: aload 1
aload 10
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.prim:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 9
end local 10 start local 9 21: goto 23
end local 9 22: StackMap locals:
StackMap stack:
aload 1
getfield org.graalvm.compiler.loop.LoopFragmentInside.mergedInitializers:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 7
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 9
start local 9 23: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 3
aload 7
aload 2
invokestatic org.graalvm.compiler.loop.LoopFragmentInside.patchPhi:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/PhiNode;Lorg/graalvm/compiler/nodes/AbstractMergeNode;)Lorg/graalvm/compiler/nodes/PhiNode;
astore 10
start local 10 24: aload 10
aload 9
invokevirtual org.graalvm.compiler.nodes.PhiNode.addInput:(Lorg/graalvm/compiler/nodes/ValueNode;)V
25: aload 2
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.orderedLoopEnds:()[Lorg/graalvm/compiler/nodes/LoopEndNode;
dup
astore 14
arraylength
istore 13
iconst_0
istore 12
goto 29
StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.graph.NodeBitMap java.util.List org.graalvm.compiler.nodes.PhiNode java.util.Iterator org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.PhiNode top int int org.graalvm.compiler.nodes.LoopEndNode[]
StackMap stack:
26: aload 14
iload 12
aaload
astore 11
start local 11 27: aload 10
aload 7
aload 11
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(Lorg/graalvm/compiler/nodes/AbstractEndNode;)Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.PhiNode.addInput:(Lorg/graalvm/compiler/nodes/ValueNode;)V
end local 11 28: iinc 12 1
StackMap locals:
StackMap stack:
29: iload 12
iload 13
if_icmplt 26
30: aload 1
aload 7
aload 10
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.putDuplicatedNode:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
31: aload 4
aload 10
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
32: aload 7
invokevirtual org.graalvm.compiler.nodes.PhiNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 36
StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.graph.NodeBitMap java.util.List org.graalvm.compiler.nodes.PhiNode java.util.Iterator org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.PhiNode top java.util.Iterator
StackMap stack:
33: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 11
start local 11 34: aload 5
aload 11
invokevirtual org.graalvm.compiler.graph.NodeBitMap.isMarkedAndGrow:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 36
35: aload 11
aload 7
aload 10
invokevirtual org.graalvm.compiler.graph.Node.replaceFirstInput:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
end local 11 36: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 33
end local 10 end local 9 end local 7 37: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.graph.NodeBitMap java.util.List top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
38: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 49
StackMap locals:
StackMap stack:
39: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.PhiNode
astore 7
start local 7 40: iconst_0
istore 9
start local 9 41: goto 48
42: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.graph.NodeBitMap java.util.List org.graalvm.compiler.nodes.PhiNode java.util.Iterator int
StackMap stack:
aload 7
iload 9
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
astore 10
start local 10 43: aload 2
aload 10
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.isPhiAtMerge:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 47
44: aload 1
aload 10
checkcast org.graalvm.compiler.nodes.ValuePhiNode
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.getDuplicatedNode:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.PhiNode
astore 11
start local 11 45: aload 11
ifnull 47
46: aload 7
iload 9
aload 11
invokevirtual org.graalvm.compiler.nodes.PhiNode.setValueAt:(ILorg/graalvm/compiler/nodes/ValueNode;)V
end local 11 end local 10 47: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
48: iload 9
aload 7
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueCount:()I
if_icmplt 42
end local 9 end local 7 49: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.graph.NodeBitMap java.util.List top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 39
50: iconst_1
istore 7
start local 7 51: goto 65
52: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.graph.NodeBitMap java.util.List int
StackMap stack:
iconst_0
istore 7
53: iconst_0
istore 8
start local 8 54: goto 64
55: StackMap locals: int
StackMap stack:
aload 6
iload 8
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.PhiNode
astore 9
start local 9 56: aload 9
invokevirtual org.graalvm.compiler.nodes.PhiNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 11
goto 62
StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.graph.NodeBitMap java.util.List int int org.graalvm.compiler.nodes.PhiNode top java.util.Iterator
StackMap stack:
57: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 10
start local 10 58: aload 10
instanceof org.graalvm.compiler.nodes.PhiNode
ifeq 59
aload 6
aload 10
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifne 62
59: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.graph.NodeBitMap java.util.List int int org.graalvm.compiler.nodes.PhiNode org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
aload 6
iload 8
invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
pop
60: iconst_1
istore 7
61: goto 64
end local 10 62: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.graph.NodeBitMap java.util.List int int org.graalvm.compiler.nodes.PhiNode top java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 57
63: iinc 8 1
end local 9 64: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.graph.NodeBitMap java.util.List int int
StackMap stack:
iload 8
aload 6
invokeinterface java.util.List.size:()I
if_icmplt 55
end local 8 65: StackMap locals:
StackMap stack:
iload 7
ifne 52
66: aload 6
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 69
StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.graph.NodeBitMap java.util.List int top java.util.Iterator
StackMap stack:
67: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.PhiNode
astore 8
start local 8 68: aload 8
invokevirtual org.graalvm.compiler.nodes.PhiNode.clearInputs:()V
end local 8 69: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 67
70: aload 6
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 74
StackMap locals:
StackMap stack:
71: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.PhiNode
astore 8
start local 8 72: aload 8
invokevirtual org.graalvm.compiler.nodes.PhiNode.isAlive:()Z
ifeq 74
73: aload 8
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
end local 8 74: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 71
75: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 76 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside;
0 76 1 peel Lorg/graalvm/compiler/loop/LoopFragmentInside;
1 76 2 loopBegin Lorg/graalvm/compiler/nodes/LoopBeginNode;
2 76 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
3 76 4 newPhis Ljava/util/List<Lorg/graalvm/compiler/nodes/PhiNode;>;
4 76 5 usagesToPatch Lorg/graalvm/compiler/graph/NodeBitMap;
6 11 6 exit Lorg/graalvm/compiler/nodes/LoopExitNode;
9 10 8 proxy Lorg/graalvm/compiler/nodes/ProxyNode;
14 76 6 oldPhis Ljava/util/List<Lorg/graalvm/compiler/nodes/PhiNode;>;
16 37 7 phi Lorg/graalvm/compiler/nodes/PhiNode;
21 22 9 first Lorg/graalvm/compiler/nodes/ValueNode;
23 37 9 first Lorg/graalvm/compiler/nodes/ValueNode;
20 21 10 b Lorg/graalvm/compiler/nodes/ValueNode;
24 37 10 newPhi Lorg/graalvm/compiler/nodes/PhiNode;
27 28 11 end Lorg/graalvm/compiler/nodes/LoopEndNode;
34 36 11 usage Lorg/graalvm/compiler/graph/Node;
40 49 7 phi Lorg/graalvm/compiler/nodes/PhiNode;
41 49 9 i I
43 47 10 v Lorg/graalvm/compiler/nodes/ValueNode;
45 47 11 newV Lorg/graalvm/compiler/nodes/PhiNode;
51 76 7 progress Z
54 65 8 i I
56 64 9 oldPhi Lorg/graalvm/compiler/nodes/PhiNode;
58 62 10 usage Lorg/graalvm/compiler/graph/Node;
68 69 8 deadPhi Lorg/graalvm/compiler/nodes/PhiNode;
72 74 8 deadPhi Lorg/graalvm/compiler/nodes/PhiNode;
MethodParameters:
Name Flags
peel
private static void markStateNodes(org.graalvm.compiler.nodes.StateSplit, org.graalvm.compiler.graph.NodeBitMap);
descriptor: (Lorg/graalvm/compiler/nodes/StateSplit;Lorg/graalvm/compiler/graph/NodeBitMap;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface org.graalvm.compiler.nodes.StateSplit.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
aload 1
invokedynamic apply(Lorg/graalvm/compiler/graph/NodeBitMap;)Lorg/graalvm/compiler/nodes/VirtualState$VirtualClosure;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lorg/graalvm/compiler/nodes/VirtualState;)V
org/graalvm/compiler/loop/LoopFragmentInside.lambda$2(Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/nodes/VirtualState;)V (6)
(Lorg/graalvm/compiler/nodes/VirtualState;)V
invokevirtual org.graalvm.compiler.nodes.FrameState.applyToVirtual:(Lorg/graalvm/compiler/nodes/VirtualState$VirtualClosure;)V
3: StackMap locals: org.graalvm.compiler.nodes.FrameState
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 stateSplit Lorg/graalvm/compiler/nodes/StateSplit;
0 4 1 marks Lorg/graalvm/compiler/graph/NodeBitMap;
1 4 2 exitState Lorg/graalvm/compiler/nodes/FrameState;
MethodParameters:
Name Flags
stateSplit
marks
protected org.graalvm.compiler.nodes.ValueNode prim(org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.loop.LoopFragmentInside.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.isDuplicate:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.original:()Lorg/graalvm/compiler/loop/LoopFragmentInside;
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.loop:()Lorg/graalvm/compiler/loop/LoopEx;
invokevirtual org.graalvm.compiler.loop.LoopEx.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
astore 2
start local 2 2: aload 2
aload 1
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.isPhiAtMerge:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 5
3: aload 1
checkcast org.graalvm.compiler.nodes.PhiNode
astore 3
start local 3 4: aload 3
aload 2
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEnd:()Lorg/graalvm/compiler/nodes/AbstractEndNode;
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(Lorg/graalvm/compiler/nodes/AbstractEndNode;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 3 5: StackMap locals: org.graalvm.compiler.nodes.LoopBeginNode
StackMap stack:
aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside.nodesReady:Z
ifeq 10
6: aload 0
aload 1
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.getDuplicatedNode:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 3
start local 3 7: aload 3
ifnonnull 9
8: aload 1
areturn
9: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 3
areturn
end local 3 10: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside;
0 11 1 b Lorg/graalvm/compiler/nodes/ValueNode;
2 11 2 loopBegin Lorg/graalvm/compiler/nodes/LoopBeginNode;
4 5 3 phi Lorg/graalvm/compiler/nodes/PhiNode;
7 10 3 v Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
b
protected org.graalvm.compiler.nodes.ValueNode primAfter(org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.loop.LoopFragmentInside.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.isDuplicate:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.original:()Lorg/graalvm/compiler/loop/LoopFragmentInside;
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.loop:()Lorg/graalvm/compiler/loop/LoopEx;
invokevirtual org.graalvm.compiler.loop.LoopEx.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
astore 2
start local 2 2: aload 2
aload 1
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.isPhiAtMerge:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 6
3: aload 1
checkcast org.graalvm.compiler.nodes.PhiNode
astore 3
start local 3 4: getstatic org.graalvm.compiler.loop.LoopFragmentInside.$assertionsDisabled:Z
ifne 5
aload 3
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueCount:()I
iconst_2
if_icmpeq 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.PhiNode
StackMap stack:
aload 3
iconst_1
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 3 6: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside.nodesReady:Z
ifeq 11
7: aload 0
aload 1
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.getDuplicatedNode:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 3
start local 3 8: aload 3
ifnonnull 10
9: aload 1
areturn
10: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 3
areturn
end local 3 11: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside;
0 12 1 b Lorg/graalvm/compiler/nodes/ValueNode;
2 12 2 loopBegin Lorg/graalvm/compiler/nodes/LoopBeginNode;
4 6 3 phi Lorg/graalvm/compiler/nodes/PhiNode;
8 11 3 v Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
b
private org.graalvm.compiler.nodes.AbstractBeginNode mergeEnds();
descriptor: ()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=16, args_size=1
start local 0 0: getstatic org.graalvm.compiler.loop.LoopFragmentInside.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.isDuplicate:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 1
start local 1 2: 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;
astore 2
start local 2 3: aload 0
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.original:()Lorg/graalvm/compiler/loop/LoopFragmentInside;
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.loop:()Lorg/graalvm/compiler/loop/LoopEx;
invokevirtual org.graalvm.compiler.loop.LoopEx.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
astore 3
start local 3 4: aload 3
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 10
StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside java.util.List jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.nodes.LoopBeginNode top java.util.Iterator
StackMap stack:
5: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.LoopEndNode
astore 4
start local 4 6: aload 0
aload 4
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.getDuplicatedNode:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.AbstractEndNode
astore 6
start local 6 7: aload 6
ifnull 10
8: aload 1
aload 6
checkcast org.graalvm.compiler.nodes.EndNode
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
9: aload 2
aload 6
aload 4
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 6 end local 4 10: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
11: 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.mergedInitializers:Ljdk/internal/vm/compiler/collections/EconomicMap;
12: aload 0
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 5
start local 5 13: aload 1
invokeinterface java.util.List.size:()I
iconst_1
if_icmpne 27
14: aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.AbstractEndNode
astore 6
start local 6 15: getstatic org.graalvm.compiler.loop.LoopFragmentInside.$assertionsDisabled:Z
ifne 16
aload 6
invokevirtual org.graalvm.compiler.nodes.AbstractEndNode.hasNoUsages:()Z
ifne 16
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
16: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside java.util.List jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.nodes.LoopBeginNode top org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.AbstractEndNode
StackMap stack:
aconst_null
astore 7
aconst_null
astore 8
17: aload 6
invokevirtual org.graalvm.compiler.nodes.AbstractEndNode.withNodeSourcePosition:()Lorg/graalvm/compiler/debug/DebugCloseable;
astore 9
start local 9 18: aload 5
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 4
start local 4 19: aload 6
aload 4
invokevirtual org.graalvm.compiler.nodes.AbstractEndNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
20: aload 6
invokevirtual org.graalvm.compiler.nodes.AbstractEndNode.safeDelete:()V
21: aload 9
ifnull 56
aload 9
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
goto 56
end local 4 StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside java.util.List jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.nodes.LoopBeginNode top org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.AbstractEndNode java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
StackMap stack: java.lang.Throwable
22: astore 7
aload 9
ifnull 23
aload 9
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 9 StackMap locals:
StackMap stack:
23: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
24: astore 8
aload 7
ifnonnull 25
aload 8
astore 7
goto 26
StackMap locals:
StackMap stack:
25: aload 7
aload 8
if_acmpeq 26
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
26: aload 7
athrow
end local 6 27: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.loop.LoopFragmentInside.$assertionsDisabled:Z
ifne 28
aload 1
invokeinterface java.util.List.size:()I
iconst_1
if_icmpgt 28
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
28: StackMap locals:
StackMap stack:
aload 5
new org.graalvm.compiler.nodes.MergeNode
dup
invokespecial org.graalvm.compiler.nodes.MergeNode.<init>:()V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.AbstractMergeNode
astore 6
start local 6 29: aload 6
astore 4
start local 4 30: aload 3
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 7
start local 7 31: aconst_null
astore 8
start local 8 32: aload 7
ifnull 35
33: aload 7
invokevirtual org.graalvm.compiler.nodes.FrameState.duplicateWithVirtualState:()Lorg/graalvm/compiler/nodes/FrameState;
astore 8
34: aload 6
aload 8
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
35: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside java.util.List jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState
StackMap stack:
aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 38
StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside java.util.List jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState top java.util.Iterator
StackMap stack:
36: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.EndNode
astore 9
start local 9 37: aload 6
aload 9
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.addForwardEnd:(Lorg/graalvm/compiler/nodes/EndNode;)V
end local 9 38: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 36
39: aload 3
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.phis:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 55
StackMap locals:
StackMap stack:
40: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.PhiNode
astore 9
start local 9 41: aload 9
invokevirtual org.graalvm.compiler.nodes.PhiNode.hasNoUsages:()Z
ifeq 43
42: goto 55
43: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside java.util.List jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.PhiNode java.util.Iterator
StackMap stack:
aload 5
aload 9
aload 6
invokestatic org.graalvm.compiler.loop.LoopFragmentInside.patchPhi:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/PhiNode;Lorg/graalvm/compiler/nodes/AbstractMergeNode;)Lorg/graalvm/compiler/nodes/PhiNode;
astore 11
start local 11 44: aload 6
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.forwardEnds:()Lorg/graalvm/compiler/graph/NodeInputList;
invokevirtual org.graalvm.compiler.graph.NodeInputList.iterator:()Ljava/util/Iterator;
astore 13
goto 50
StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside java.util.List jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.PhiNode java.util.Iterator org.graalvm.compiler.nodes.PhiNode top java.util.Iterator
StackMap stack:
45: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.AbstractEndNode
astore 12
start local 12 46: aload 2
aload 12
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.LoopEndNode
astore 14
start local 14 47: aload 0
aload 9
aload 14
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(Lorg/graalvm/compiler/nodes/AbstractEndNode;)Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.prim:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 15
start local 15 48: getstatic org.graalvm.compiler.loop.LoopFragmentInside.$assertionsDisabled:Z
ifne 49
aload 15
ifnonnull 49
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
49: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside java.util.List jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.PhiNode java.util.Iterator org.graalvm.compiler.nodes.PhiNode org.graalvm.compiler.nodes.AbstractEndNode java.util.Iterator org.graalvm.compiler.nodes.LoopEndNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 11
aload 15
invokevirtual org.graalvm.compiler.nodes.PhiNode.addInput:(Lorg/graalvm/compiler/nodes/ValueNode;)V
end local 15 end local 14 end local 12 50: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside java.util.List jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.PhiNode java.util.Iterator org.graalvm.compiler.nodes.PhiNode top java.util.Iterator
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 45
51: aload 11
astore 12
start local 12 52: aload 8
ifnull 54
53: aload 8
new org.graalvm.compiler.loop.LoopFragmentInside$4
dup
aload 0
aload 9
aload 11
invokespecial org.graalvm.compiler.loop.LoopFragmentInside$4.<init>:(Lorg/graalvm/compiler/loop/LoopFragmentInside;Lorg/graalvm/compiler/nodes/PhiNode;Lorg/graalvm/compiler/nodes/PhiNode;)V
invokevirtual org.graalvm.compiler.nodes.FrameState.applyToNonVirtual:(Lorg/graalvm/compiler/nodes/VirtualState$NodeClosure;)V
54: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside java.util.List jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.PhiNode java.util.Iterator org.graalvm.compiler.nodes.PhiNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside.mergedInitializers:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 9
aload 12
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 12 end local 11 end local 9 55: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside java.util.List jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 40
end local 8 end local 7 end local 6 56: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside java.util.List jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
aload 4
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 57 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside;
2 57 1 endsToMerge Ljava/util/List<Lorg/graalvm/compiler/nodes/EndNode;>;
3 57 2 reverseEnds Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/nodes/AbstractEndNode;Lorg/graalvm/compiler/nodes/LoopEndNode;>;
4 57 3 loopBegin Lorg/graalvm/compiler/nodes/LoopBeginNode;
6 10 4 le Lorg/graalvm/compiler/nodes/LoopEndNode;
7 10 6 duplicate Lorg/graalvm/compiler/nodes/AbstractEndNode;
19 22 4 newExit Lorg/graalvm/compiler/nodes/AbstractBeginNode;
30 57 4 newExit Lorg/graalvm/compiler/nodes/AbstractBeginNode;
13 57 5 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
15 27 6 end Lorg/graalvm/compiler/nodes/AbstractEndNode;
18 23 9 position Lorg/graalvm/compiler/debug/DebugCloseable;
29 56 6 newExitMerge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
31 56 7 state Lorg/graalvm/compiler/nodes/FrameState;
32 56 8 duplicateState Lorg/graalvm/compiler/nodes/FrameState;
37 38 9 end Lorg/graalvm/compiler/nodes/EndNode;
41 55 9 phi Lorg/graalvm/compiler/nodes/PhiNode;
44 55 11 firstPhi Lorg/graalvm/compiler/nodes/PhiNode;
46 50 12 end Lorg/graalvm/compiler/nodes/AbstractEndNode;
47 50 14 loopEnd Lorg/graalvm/compiler/nodes/LoopEndNode;
48 50 15 prim Lorg/graalvm/compiler/nodes/ValueNode;
52 55 12 initializer Lorg/graalvm/compiler/nodes/ValueNode;
Exception table:
from to target type
18 21 22 any
17 24 24 any
public org.graalvm.compiler.loop.LoopFragment original();
descriptor: ()Lorg/graalvm/compiler/loop/LoopFragment;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.original:()Lorg/graalvm/compiler/loop/LoopFragmentInside;
areturn
LocalVariableTable:
Start End Slot Name Signature
public org.graalvm.compiler.loop.LoopFragment duplicate();
descriptor: ()Lorg/graalvm/compiler/loop/LoopFragment;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.duplicate:()Lorg/graalvm/compiler/loop/LoopFragmentInside;
areturn
LocalVariableTable:
Start End Slot Name Signature
private void lambda$0(org.graalvm.compiler.nodes.StateSplit, org.graalvm.compiler.nodes.VirtualState);
descriptor: (Lorg/graalvm/compiler/nodes/StateSplit;Lorg/graalvm/compiler/nodes/VirtualState;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 2 0: aload 2
invokevirtual org.graalvm.compiler.nodes.VirtualState.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
aload 0
aload 1
invokedynamic apply(Lorg/graalvm/compiler/loop/LoopFragmentInside;Lorg/graalvm/compiler/nodes/StateSplit;)Lorg/graalvm/compiler/graph/iterators/NodePredicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lorg/graalvm/compiler/graph/Node;)Z
org/graalvm/compiler/loop/LoopFragmentInside.lambda$1(Lorg/graalvm/compiler/nodes/StateSplit;Lorg/graalvm/compiler/graph/Node;)Z (7)
(Lorg/graalvm/compiler/graph/Node;)Z
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Lorg/graalvm/compiler/graph/iterators/NodePredicate;)Lorg/graalvm/compiler/graph/iterators/FilteredNodeIterable;
invokevirtual org.graalvm.compiler.graph.iterators.FilteredNodeIterable.isEmpty:()Z
ifeq 2
1: aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside.nodes:Lorg/graalvm/compiler/graph/NodeBitMap;
aload 2
invokevirtual org.graalvm.compiler.graph.NodeBitMap.clear:(Lorg/graalvm/compiler/graph/Node;)V
2: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside;
0 3 2 v Lorg/graalvm/compiler/nodes/VirtualState;
private static void lambda$2(org.graalvm.compiler.graph.NodeBitMap, org.graalvm.compiler.nodes.VirtualState);
descriptor: (Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/nodes/VirtualState;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.graph.NodeBitMap.markAndGrow:(Lorg/graalvm/compiler/graph/Node;)V
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 v Lorg/graalvm/compiler/nodes/VirtualState;
private boolean lambda$1(org.graalvm.compiler.nodes.StateSplit, org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/nodes/StateSplit;Lorg/graalvm/compiler/graph/Node;)Z
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 2 0: aload 0
getfield org.graalvm.compiler.loop.LoopFragmentInside.nodes:Lorg/graalvm/compiler/graph/NodeBitMap;
aload 2
invokevirtual org.graalvm.compiler.graph.NodeBitMap.isMarked:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 1
aload 2
aload 1
if_acmpeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside;
0 3 2 n Lorg/graalvm/compiler/graph/Node;
}
SourceFile: "LoopFragmentInside.java"
NestMembers:
org.graalvm.compiler.loop.LoopFragmentInside$1 org.graalvm.compiler.loop.LoopFragmentInside$2 org.graalvm.compiler.loop.LoopFragmentInside$3 org.graalvm.compiler.loop.LoopFragmentInside$4
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract DuplicationReplacement = org.graalvm.compiler.graph.Graph$DuplicationReplacement of org.graalvm.compiler.graph.Graph
public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node
public final Direction = org.graalvm.compiler.loop.InductionVariable$Direction of org.graalvm.compiler.loop.InductionVariable
org.graalvm.compiler.loop.LoopFragmentInside$1
org.graalvm.compiler.loop.LoopFragmentInside$2
org.graalvm.compiler.loop.LoopFragmentInside$3
org.graalvm.compiler.loop.LoopFragmentInside$4
public abstract NodeClosure = org.graalvm.compiler.nodes.VirtualState$NodeClosure of org.graalvm.compiler.nodes.VirtualState
public abstract VirtualClosure = org.graalvm.compiler.nodes.VirtualState$VirtualClosure of org.graalvm.compiler.nodes.VirtualState