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, jdk.internal.vm.compiler.collections.EconomicMap<org.graalvm.compiler.nodes.LoopBeginNode, org.graalvm.compiler.nodes.extended.OpaqueNode>);
descriptor: (Lorg/graalvm/compiler/loop/LoopEx;Ljdk/internal/vm/compiler/collections/EconomicMap;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=17, 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 15
StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopEx jdk.internal.vm.compiler.collections.EconomicMap 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 5
iconst_1
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
astore 7
start local 7 8: aload 0
aload 7
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.getDuplicatedNode:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 8
start local 8 9: aload 8
ifnonnull 14
10: aload 3
aload 7
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.isPhiAtMerge:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 13
11: aload 7
checkcast org.graalvm.compiler.nodes.PhiNode
iconst_1
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
astore 8
12: goto 14
13: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopEx jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.nodes.LoopBeginNode java.util.ArrayList org.graalvm.compiler.nodes.PhiNode java.util.Iterator org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
getstatic org.graalvm.compiler.loop.LoopFragmentInside.$assertionsDisabled:Z
ifne 14
aload 7
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifne 14
aload 1
aload 7
invokevirtual org.graalvm.compiler.loop.LoopEx.isOutsideLoop:(Lorg/graalvm/compiler/graph/Node;)Z
ifne 14
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Not duplicated node "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
14: StackMap locals:
StackMap stack:
aload 4
aload 8
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 8 end local 7 end local 5 15: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopEx jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.nodes.LoopBeginNode java.util.ArrayList top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
16: iconst_0
istore 5
start local 5 17: 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 22
StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopEx jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.nodes.LoopBeginNode java.util.ArrayList int top java.util.Iterator
StackMap stack:
18: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.PhiNode
astore 6
start local 6 19: 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 20: aload 8
ifnull 22
21: 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 22: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
23: aload 0
aload 1
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.placeNewSegmentAndCleanup:(Lorg/graalvm/compiler/loop/LoopEx;)V
24: getstatic org.graalvm.compiler.loop.LoopFragmentInside.$assertionsDisabled:Z
ifne 25
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 25
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
25: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopEx jdk.internal.vm.compiler.collections.EconomicMap 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 28
StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopEx jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.nodes.LoopBeginNode java.util.ArrayList int top java.util.Iterator
StackMap stack:
26: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.SafepointNode
astore 6
start local 6 27: 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 28: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
29: aload 3
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 6
start local 6 30: aload 2
ifnull 57
31: aload 2
aload 1
invokevirtual org.graalvm.compiler.loop.LoopEx.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.extended.OpaqueNode
astore 7
start local 7 32: aload 1
invokevirtual org.graalvm.compiler.loop.LoopEx.counted:()Lorg/graalvm/compiler/loop/CountedLoopInfo;
astore 8
start local 8 33: aload 8
invokevirtual org.graalvm.compiler.loop.CountedLoopInfo.getCounter:()Lorg/graalvm/compiler/loop/InductionVariable;
invokevirtual org.graalvm.compiler.loop.InductionVariable.strideNode:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 9
start local 9 34: aload 7
ifnonnull 52
35: new org.graalvm.compiler.nodes.extended.OpaqueNode
dup
aload 9
aload 9
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokestatic org.graalvm.compiler.nodes.calc.AddNode.add:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
invokespecial org.graalvm.compiler.nodes.extended.OpaqueNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
astore 7
36: aload 8
invokevirtual org.graalvm.compiler.loop.CountedLoopInfo.getLimit:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 10
start local 10 37: aload 10
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;
checkcast org.graalvm.compiler.core.common.type.IntegerStamp
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.getBits:()I
istore 11
start local 11 38: aload 10
aload 7
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokestatic org.graalvm.compiler.nodes.calc.SubNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 12
start local 12 39: aload 8
invokevirtual org.graalvm.compiler.loop.CountedLoopInfo.getCounterIntegerHelper:()Lorg/graalvm/compiler/nodes/util/IntegerHelper;
astore 13
start local 13 40: aload 8
invokevirtual org.graalvm.compiler.loop.CountedLoopInfo.getDirection:()Lorg/graalvm/compiler/loop/InductionVariable$Direction;
getstatic org.graalvm.compiler.loop.InductionVariable$Direction.Up:Lorg/graalvm/compiler/loop/InductionVariable$Direction;
if_acmpne 44
41: iload 11
aload 13
invokevirtual org.graalvm.compiler.nodes.util.IntegerHelper.minValue:()J
invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerBits:(IJ)Lorg/graalvm/compiler/nodes/ConstantNode;
astore 15
start local 15 42: aload 10
aload 15
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokestatic org.graalvm.compiler.nodes.calc.SubNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
aload 7
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokestatic org.graalvm.compiler.nodes.calc.IntegerBelowNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/LogicNode;
astore 14
start local 14 43: goto 47
end local 15 end local 14 44: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopEx jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.nodes.LoopBeginNode java.util.ArrayList int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.extended.OpaqueNode org.graalvm.compiler.loop.CountedLoopInfo org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode int org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.util.IntegerHelper
StackMap stack:
getstatic org.graalvm.compiler.loop.LoopFragmentInside.$assertionsDisabled:Z
ifne 45
aload 8
invokevirtual org.graalvm.compiler.loop.CountedLoopInfo.getDirection:()Lorg/graalvm/compiler/loop/InductionVariable$Direction;
getstatic org.graalvm.compiler.loop.InductionVariable$Direction.Down:Lorg/graalvm/compiler/loop/InductionVariable$Direction;
if_acmpeq 45
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
45: StackMap locals:
StackMap stack:
iload 11
aload 13
invokevirtual org.graalvm.compiler.nodes.util.IntegerHelper.maxValue:()J
invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerBits:(IJ)Lorg/graalvm/compiler/nodes/ConstantNode;
astore 15
start local 15 46: aload 7
aload 10
aload 15
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokestatic org.graalvm.compiler.nodes.calc.SubNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokestatic org.graalvm.compiler.nodes.calc.IntegerBelowNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/LogicNode;
astore 14
start local 14 47: StackMap locals: org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.ConstantNode
StackMap stack:
aload 14
aload 15
aload 12
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokestatic org.graalvm.compiler.nodes.calc.ConditionalNode.create:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 12
48: aload 8
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 16
start local 16 49: aload 16
aload 10
aload 6
aload 12
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.replaceFirstInput:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
50: aload 2
aload 1
invokevirtual org.graalvm.compiler.loop.LoopEx.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
aload 7
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 51: goto 57
52: StackMap locals: org.graalvm.compiler.loop.LoopFragmentInside org.graalvm.compiler.loop.LoopEx jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.nodes.LoopBeginNode java.util.ArrayList int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.extended.OpaqueNode org.graalvm.compiler.loop.CountedLoopInfo org.graalvm.compiler.nodes.ValueNode
StackMap stack:
getstatic org.graalvm.compiler.loop.LoopFragmentInside.$assertionsDisabled:Z
ifne 53
aload 8
invokevirtual org.graalvm.compiler.loop.CountedLoopInfo.getCounter:()Lorg/graalvm/compiler/loop/InductionVariable;
invokevirtual org.graalvm.compiler.loop.InductionVariable.isConstantStride:()Z
ifne 53
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
53: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.loop.LoopFragmentInside.$assertionsDisabled:Z
ifne 54
aload 8
invokevirtual org.graalvm.compiler.loop.CountedLoopInfo.getCounter:()Lorg/graalvm/compiler/loop/InductionVariable;
invokevirtual org.graalvm.compiler.loop.InductionVariable.constantStride:()J
aload 8
invokevirtual org.graalvm.compiler.loop.CountedLoopInfo.getCounter:()Lorg/graalvm/compiler/loop/InductionVariable;
invokevirtual org.graalvm.compiler.loop.InductionVariable.constantStride:()J
invokestatic java.lang.Math.addExact:(JJ)J
aload 8
invokevirtual org.graalvm.compiler.loop.CountedLoopInfo.getCounter:()Lorg/graalvm/compiler/loop/InductionVariable;
invokevirtual org.graalvm.compiler.loop.InductionVariable.constantStride:()J
ldc 2
lmul
lcmp
ifeq 54
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
54: StackMap locals:
StackMap stack:
aload 7
invokevirtual org.graalvm.compiler.nodes.extended.OpaqueNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 10
start local 10 55: aload 7
aload 6
aload 9
aload 10
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokestatic org.graalvm.compiler.nodes.calc.AddNode.add:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
invokevirtual org.graalvm.compiler.nodes.extended.OpaqueNode.setValue:(Lorg/graalvm/compiler/nodes/ValueNode;)V
56: aload 10
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.tryKillUnused:(Lorg/graalvm/compiler/graph/Node;)Z
pop
end local 10 end local 9 end local 8 end local 7 57: StackMap locals:
StackMap stack:
aload 3
aload 3
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.getUnrollFactor:()I
iconst_2
imul
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.setUnrollFactor:(I)V
58: aload 3
dconst_1
aload 3
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopFrequency:()D
ldc 2.0
ddiv
invokestatic java.lang.Math.max:(DD)D
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.setLoopFrequency:(D)V
59: aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
iconst_4
aload 6
ldc "LoopPartialUnroll %s"
aload 1
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
60: 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
61: return
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 62 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside;
0 62 1 loop Lorg/graalvm/compiler/loop/LoopEx;
0 62 2 opaqueUnrolledStrides Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/nodes/LoopBeginNode;Lorg/graalvm/compiler/nodes/extended/OpaqueNode;>;
4 62 3 mainLoopBegin Lorg/graalvm/compiler/nodes/LoopBeginNode;
5 62 4 backedgeValues Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/ValueNode;>;
7 15 5 mainPhiNode Lorg/graalvm/compiler/nodes/PhiNode;
8 15 7 originalNode Lorg/graalvm/compiler/nodes/ValueNode;
9 15 8 duplicatedNode Lorg/graalvm/compiler/nodes/ValueNode;
17 62 5 index I
19 22 6 mainPhiNode Lorg/graalvm/compiler/nodes/PhiNode;
20 22 8 duplicatedNode Lorg/graalvm/compiler/nodes/ValueNode;
27 28 6 safepoint Lorg/graalvm/compiler/nodes/SafepointNode;
30 62 6 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
32 57 7 opaque Lorg/graalvm/compiler/nodes/extended/OpaqueNode;
33 57 8 counted Lorg/graalvm/compiler/loop/CountedLoopInfo;
34 57 9 counterStride Lorg/graalvm/compiler/nodes/ValueNode;
37 51 10 limit Lorg/graalvm/compiler/nodes/ValueNode;
38 51 11 bits I
39 51 12 newLimit Lorg/graalvm/compiler/nodes/ValueNode;
40 51 13 helper Lorg/graalvm/compiler/nodes/util/IntegerHelper;
43 44 14 overflowCheck Lorg/graalvm/compiler/nodes/LogicNode;
47 51 14 overflowCheck Lorg/graalvm/compiler/nodes/LogicNode;
42 44 15 extremum Lorg/graalvm/compiler/nodes/ConstantNode;
46 51 15 extremum Lorg/graalvm/compiler/nodes/ConstantNode;
49 51 16 compareNode Lorg/graalvm/compiler/nodes/calc/CompareNode;
55 57 10 previousValue Lorg/graalvm/compiler/nodes/ValueNode;
Signature: (Lorg/graalvm/compiler/loop/LoopEx;Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/nodes/LoopBeginNode;Lorg/graalvm/compiler/nodes/extended/OpaqueNode;>;)V
MethodParameters:
Name Flags
loop
opaqueUnrolledStrides
private void placeNewSegmentAndCleanup(org.graalvm.compiler.loop.LoopEx);
descriptor: (Lorg/graalvm/compiler/loop/LoopEx;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=15, 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 6
invokevirtual org.graalvm.compiler.nodes.IfNode.falseSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 7
start local 7 6: 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 9
goto 9
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 top java.util.Iterator
StackMap stack:
7: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 8
start local 8 8: aload 8
aload 7
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 8 9: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
10: aload 6
invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 8
start local 8 11: 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 10
goto 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 top java.util.Iterator
StackMap stack:
12: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 9
start local 9 13: aload 9
aload 8
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 9 14: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
15: aload 4
aload 6
aload 5
invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
aload 2
invokevirtual org.graalvm.compiler.loop.CountedLoopInfo.getBody:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
if_acmpne 16
aload 8
goto 17
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
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.IfNode
16: aload 7
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
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.IfNode org.graalvm.compiler.nodes.AbstractBeginNode
17: invokevirtual org.graalvm.compiler.nodes.StructuredGraph.removeSplitPropagate:(Lorg/graalvm/compiler/nodes/ControlSplitNode;Lorg/graalvm/compiler/nodes/AbstractBeginNode;)V
18: aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
iconst_4
aload 4
ldc "Before placing segment"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
19: aload 2
invokevirtual org.graalvm.compiler.loop.CountedLoopInfo.getBody:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
instanceof org.graalvm.compiler.nodes.LoopEndNode
ifeq 22
20: 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
21: goto 33
22: StackMap locals:
StackMap stack:
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.AbstractBeginNode
astore 9
start local 9 23: aload 9
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 10
start local 10 24: aload 9
invokestatic org.graalvm.compiler.loop.LoopFragmentInside.getBlockEnd:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/EndNode;
astore 11
start local 11 25: aload 11
invokevirtual org.graalvm.compiler.nodes.EndNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
astore 12
start local 12 26: aload 3
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.getSingleLoopEnd:()Lorg/graalvm/compiler/nodes/LoopEndNode;
astore 13
start local 13 27: 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 28: aload 9
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.clearSuccessors:()V
29: aload 14
aload 13
aload 10
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.replaceFirstSuccessor:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
30: aload 12
aload 11
aload 13
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.replaceFirstSuccessor:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
31: aload 9
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.safeDelete:()V
32: aload 11
invokevirtual org.graalvm.compiler.nodes.EndNode.safeDelete:()V
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 33: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
iconst_4
aload 4
ldc "After placing segment"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
34: return
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 35 0 this Lorg/graalvm/compiler/loop/LoopFragmentInside;
0 35 1 loop Lorg/graalvm/compiler/loop/LoopEx;
1 35 2 mainCounted Lorg/graalvm/compiler/loop/CountedLoopInfo;
2 35 3 mainLoopBegin Lorg/graalvm/compiler/nodes/LoopBeginNode;
3 35 4 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
4 35 5 loopTest Lorg/graalvm/compiler/nodes/IfNode;
5 35 6 newSegmentLoopTest Lorg/graalvm/compiler/nodes/IfNode;
6 35 7 falseSuccessor Lorg/graalvm/compiler/nodes/AbstractBeginNode;
8 9 8 usage Lorg/graalvm/compiler/graph/Node;
11 35 8 trueSuccessor Lorg/graalvm/compiler/nodes/AbstractBeginNode;
13 14 9 usage Lorg/graalvm/compiler/graph/Node;
23 33 9 newSegmentBegin Lorg/graalvm/compiler/nodes/AbstractBeginNode;
24 33 10 newSegmentFirstNode Lorg/graalvm/compiler/nodes/FixedNode;
25 33 11 newSegmentEnd Lorg/graalvm/compiler/nodes/EndNode;
26 33 12 newSegmentLastNode Lorg/graalvm/compiler/nodes/FixedWithNextNode;
27 33 13 loopEndNode Lorg/graalvm/compiler/nodes/LoopEndNode;
28 33 14 lastCodeNode Lorg/graalvm/compiler/nodes/FixedWithNextNode;
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 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.PhiNode
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$NodePositionClosure;)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 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 NodePositionClosure = org.graalvm.compiler.nodes.VirtualState$NodePositionClosure of org.graalvm.compiler.nodes.VirtualState
public abstract VirtualClosure = org.graalvm.compiler.nodes.VirtualState$VirtualClosure of org.graalvm.compiler.nodes.VirtualState