public class org.graalvm.compiler.loop.LoopEx
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.loop.LoopEx
super_class: java.lang.Object
{
private final org.graalvm.compiler.core.common.cfg.Loop<org.graalvm.compiler.nodes.cfg.Block> loop;
descriptor: Lorg/graalvm/compiler/core/common/cfg/Loop;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
private org.graalvm.compiler.loop.LoopFragmentInside inside;
descriptor: Lorg/graalvm/compiler/loop/LoopFragmentInside;
flags: (0x0002) ACC_PRIVATE
private org.graalvm.compiler.loop.LoopFragmentWhole whole;
descriptor: Lorg/graalvm/compiler/loop/LoopFragmentWhole;
flags: (0x0002) ACC_PRIVATE
private org.graalvm.compiler.loop.CountedLoopInfo counted;
descriptor: Lorg/graalvm/compiler/loop/CountedLoopInfo;
flags: (0x0002) ACC_PRIVATE
private org.graalvm.compiler.loop.LoopsData data;
descriptor: Lorg/graalvm/compiler/loop/LoopsData;
flags: (0x0002) ACC_PRIVATE
private org.graalvm.collections.EconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.loop.InductionVariable> ivs;
descriptor: Lorg/graalvm/collections/EconomicMap;
flags: (0x0002) ACC_PRIVATE
Signature: Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/loop/InductionVariable;>;
private boolean countedLoopChecked;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int size;
descriptor: I
flags: (0x0002) ACC_PRIVATE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$org$graalvm$compiler$core$common$calc$Condition;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, 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/LoopEx;
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.LoopEx.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(org.graalvm.compiler.core.common.cfg.Loop<org.graalvm.compiler.nodes.cfg.Block>, org.graalvm.compiler.loop.LoopsData);
descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/loop/LoopsData;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_m1
putfield org.graalvm.compiler.loop.LoopEx.size:I
2: aload 0
aload 1
putfield org.graalvm.compiler.loop.LoopEx.loop:Lorg/graalvm/compiler/core/common/cfg/Loop;
3: aload 0
aload 2
putfield org.graalvm.compiler.loop.LoopEx.data:Lorg/graalvm/compiler/loop/LoopsData;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/loop/LoopEx;
0 5 1 loop Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
0 5 2 data Lorg/graalvm/compiler/loop/LoopsData;
Signature: (Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;Lorg/graalvm/compiler/loop/LoopsData;)V
MethodParameters:
Name Flags
loop
data
public org.graalvm.compiler.core.common.cfg.Loop<org.graalvm.compiler.nodes.cfg.Block> loop();
descriptor: ()Lorg/graalvm/compiler/core/common/cfg/Loop;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.loop.LoopEx.loop:Lorg/graalvm/compiler/core/common/cfg/Loop;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/loop/LoopEx;
Signature: ()Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
public org.graalvm.compiler.loop.LoopFragmentInside inside();
descriptor: ()Lorg/graalvm/compiler/loop/LoopFragmentInside;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.loop.LoopEx.inside:Lorg/graalvm/compiler/loop/LoopFragmentInside;
ifnonnull 2
1: aload 0
new org.graalvm.compiler.loop.LoopFragmentInside
dup
aload 0
invokespecial org.graalvm.compiler.loop.LoopFragmentInside.<init>:(Lorg/graalvm/compiler/loop/LoopEx;)V
putfield org.graalvm.compiler.loop.LoopEx.inside:Lorg/graalvm/compiler/loop/LoopFragmentInside;
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.loop.LoopEx.inside:Lorg/graalvm/compiler/loop/LoopFragmentInside;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/loop/LoopEx;
public org.graalvm.compiler.loop.LoopFragmentWhole whole();
descriptor: ()Lorg/graalvm/compiler/loop/LoopFragmentWhole;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.loop.LoopEx.whole:Lorg/graalvm/compiler/loop/LoopFragmentWhole;
ifnonnull 2
1: aload 0
new org.graalvm.compiler.loop.LoopFragmentWhole
dup
aload 0
invokespecial org.graalvm.compiler.loop.LoopFragmentWhole.<init>:(Lorg/graalvm/compiler/loop/LoopEx;)V
putfield org.graalvm.compiler.loop.LoopEx.whole:Lorg/graalvm/compiler/loop/LoopFragmentWhole;
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.loop.LoopEx.whole:Lorg/graalvm/compiler/loop/LoopFragmentWhole;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/loop/LoopEx;
public void invalidateFragments();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield org.graalvm.compiler.loop.LoopEx.inside:Lorg/graalvm/compiler/loop/LoopFragmentInside;
1: aload 0
aconst_null
putfield org.graalvm.compiler.loop.LoopEx.whole:Lorg/graalvm/compiler/loop/LoopFragmentWhole;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/loop/LoopEx;
public org.graalvm.compiler.loop.LoopFragmentInsideFrom insideFrom(org.graalvm.compiler.nodes.FixedNode);
descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/loop/LoopFragmentInsideFrom;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/loop/LoopEx;
0 1 1 point Lorg/graalvm/compiler/nodes/FixedNode;
MethodParameters:
Name Flags
point
public org.graalvm.compiler.loop.LoopFragmentInsideBefore insideBefore(org.graalvm.compiler.nodes.FixedNode);
descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/loop/LoopFragmentInsideBefore;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/loop/LoopEx;
0 1 1 point Lorg/graalvm/compiler/nodes/FixedNode;
MethodParameters:
Name Flags
point
public boolean isOutsideLoop(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.loop.LoopEx.whole:()Lorg/graalvm/compiler/loop/LoopFragmentWhole;
aload 1
invokevirtual org.graalvm.compiler.loop.LoopFragmentWhole.contains:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/loop/LoopEx;
0 3 1 n Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
n
public org.graalvm.compiler.nodes.LoopBeginNode loopBegin();
descriptor: ()Lorg/graalvm/compiler/nodes/LoopBeginNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.loop.LoopEx.loop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getHeader:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
checkcast org.graalvm.compiler.nodes.cfg.Block
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
checkcast org.graalvm.compiler.nodes.LoopBeginNode
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/loop/LoopEx;
public org.graalvm.compiler.nodes.FixedNode predecessor();
descriptor: ()Lorg/graalvm/compiler/nodes/FixedNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.loop.LoopEx.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEnd:()Lorg/graalvm/compiler/nodes/AbstractEndNode;
invokevirtual org.graalvm.compiler.nodes.AbstractEndNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedNode
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/loop/LoopEx;
public org.graalvm.compiler.nodes.FixedNode entryPoint();
descriptor: ()Lorg/graalvm/compiler/nodes/FixedNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.loop.LoopEx.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEnd:()Lorg/graalvm/compiler/nodes/AbstractEndNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/loop/LoopEx;
public boolean isCounted();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.graalvm.compiler.loop.LoopEx.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.graalvm.compiler.loop.LoopEx.countedLoopChecked:Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.loop.LoopEx.counted:Lorg/graalvm/compiler/loop/CountedLoopInfo;
ifnull 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/loop/LoopEx;
public org.graalvm.compiler.loop.CountedLoopInfo counted();
descriptor: ()Lorg/graalvm/compiler/loop/CountedLoopInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.graalvm.compiler.loop.LoopEx.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.graalvm.compiler.loop.LoopEx.countedLoopChecked:Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.loop.LoopEx.counted:Lorg/graalvm/compiler/loop/CountedLoopInfo;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/loop/LoopEx;
public org.graalvm.compiler.loop.LoopEx parent();
descriptor: ()Lorg/graalvm/compiler/loop/LoopEx;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.loop.LoopEx.loop:Lorg/graalvm/compiler/core/common/cfg/Loop;
invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getParent:()Lorg/graalvm/compiler/core/common/cfg/Loop;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.loop.LoopEx.data:Lorg/graalvm/compiler/loop/LoopsData;
aload 0
getfield org.graalvm.compiler.loop.LoopEx.loop:Lorg/graalvm/compiler/core/common/cfg/Loop;
invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getParent:()Lorg/graalvm/compiler/core/common/cfg/Loop;
invokevirtual org.graalvm.compiler.loop.LoopsData.loop:(Lorg/graalvm/compiler/core/common/cfg/Loop;)Lorg/graalvm/compiler/loop/LoopEx;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/loop/LoopEx;
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.loop.LoopEx.size:I
iconst_m1
if_icmpne 2
1: aload 0
aload 0
invokevirtual org.graalvm.compiler.loop.LoopEx.whole:()Lorg/graalvm/compiler/loop/LoopFragmentWhole;
invokevirtual org.graalvm.compiler.loop.LoopFragmentWhole.nodes:()Lorg/graalvm/compiler/graph/NodeBitMap;
invokevirtual org.graalvm.compiler.graph.NodeBitMap.count:()I
putfield org.graalvm.compiler.loop.LoopEx.size:I
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.loop.LoopEx.size:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/loop/LoopEx;
public void resetCounted();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.graalvm.compiler.loop.LoopEx.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.graalvm.compiler.loop.LoopEx.countedLoopChecked:Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.loop.LoopEx.$assertionsDisabled:Z
ifne 2
aload 0
getfield org.graalvm.compiler.loop.LoopEx.counted:Lorg/graalvm/compiler/loop/CountedLoopInfo;
ifnonnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.graalvm.compiler.loop.LoopEx.ivs:Lorg/graalvm/collections/EconomicMap;
3: aload 0
aconst_null
putfield org.graalvm.compiler.loop.LoopEx.counted:Lorg/graalvm/compiler/loop/CountedLoopInfo;
4: aload 0
iconst_0
putfield org.graalvm.compiler.loop.LoopEx.countedLoopChecked:Z
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/loop/LoopEx;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
getfield org.graalvm.compiler.loop.LoopEx.countedLoopChecked:Z
ifeq 1
aload 0
invokevirtual org.graalvm.compiler.loop.LoopEx.isCounted:()Z
ifeq 1
new java.lang.StringBuilder
dup
ldc "CountedLoop ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.graalvm.compiler.loop.LoopEx.counted:()Lorg/graalvm/compiler/loop/CountedLoopInfo;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "] "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 2
StackMap locals: org.graalvm.compiler.loop.LoopEx
StackMap stack: new 0 new 0
1: ldc "Loop "
StackMap locals: org.graalvm.compiler.loop.LoopEx
StackMap stack: new 0 new 0 java.lang.String
2: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "(depth="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual org.graalvm.compiler.loop.LoopEx.loop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getDepth:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual org.graalvm.compiler.loop.LoopEx.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/loop/LoopEx;
public boolean reassociateInvariants();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
invokevirtual org.graalvm.compiler.loop.LoopEx.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 2
start local 2 2: new org.graalvm.compiler.loop.LoopEx$InvariantPredicate
dup
aload 0
invokespecial org.graalvm.compiler.loop.LoopEx$InvariantPredicate.<init>:(Lorg/graalvm/compiler/loop/LoopEx;)V
astore 3
start local 3 3: aload 2
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.createNodeBitMap:()Lorg/graalvm/compiler/graph/NodeBitMap;
astore 4
start local 4 4: aload 0
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/calc/BinaryArithmeticNode;
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 6
goto 27
StackMap locals: org.graalvm.compiler.loop.LoopEx int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.loop.LoopEx$InvariantPredicate org.graalvm.compiler.graph.NodeBitMap top java.util.Iterator
StackMap stack:
5: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
astore 5
start local 5 6: aload 5
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.isAssociative:()Z
ifne 8
7: goto 27
8: StackMap locals: org.graalvm.compiler.loop.LoopEx int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.loop.LoopEx$InvariantPredicate org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.calc.BinaryArithmeticNode java.util.Iterator
StackMap stack:
aload 5
aload 3
aload 5
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 5
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.reassociateMatchedValues:(Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode;Lorg/graalvm/compiler/graph/iterators/NodePredicate;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 7
start local 7 9: aload 7
aload 5
if_acmpne 11
10: aload 5
aload 3
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.reassociateUnmatchedValues:(Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode;Lorg/graalvm/compiler/graph/iterators/NodePredicate;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 7
11: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 7
aload 5
if_acmpeq 27
12: aload 7
invokevirtual org.graalvm.compiler.nodes.ValueNode.isAlive:()Z
ifne 21
13: getstatic org.graalvm.compiler.loop.LoopEx.$assertionsDisabled:Z
ifne 14
aload 7
invokevirtual org.graalvm.compiler.nodes.ValueNode.isDeleted:()Z
ifeq 14
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
14: StackMap locals:
StackMap stack:
aload 2
aload 7
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 7
15: aload 4
aload 7
invokevirtual org.graalvm.compiler.graph.NodeBitMap.markAndGrow:(Lorg/graalvm/compiler/graph/Node;)V
16: aload 7
invokevirtual org.graalvm.compiler.nodes.ValueNode.inputs:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 9
goto 20
StackMap locals: org.graalvm.compiler.loop.LoopEx int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.loop.LoopEx$InvariantPredicate org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.calc.BinaryArithmeticNode java.util.Iterator org.graalvm.compiler.nodes.ValueNode top java.util.Iterator
StackMap stack:
17: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 8
start local 8 18: aload 0
invokevirtual org.graalvm.compiler.loop.LoopEx.whole:()Lorg/graalvm/compiler/loop/LoopFragmentWhole;
invokevirtual org.graalvm.compiler.loop.LoopFragmentWhole.nodes:()Lorg/graalvm/compiler/graph/NodeBitMap;
aload 8
invokevirtual org.graalvm.compiler.graph.NodeBitMap.isNew:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 20
aload 3
aload 8
invokevirtual org.graalvm.compiler.loop.LoopEx$InvariantPredicate.apply:(Lorg/graalvm/compiler/graph/Node;)Z
ifne 20
19: aload 4
aload 8
invokevirtual org.graalvm.compiler.graph.NodeBitMap.markAndGrow:(Lorg/graalvm/compiler/graph/Node;)V
end local 8 20: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
21: StackMap locals: org.graalvm.compiler.loop.LoopEx int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.loop.LoopEx$InvariantPredicate org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.calc.BinaryArithmeticNode java.util.Iterator org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
astore 8
start local 8 22: aload 8
invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
ifeq 24
23: aload 8
ldc "%s : Re-associated %s into %s"
aload 2
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
ldc "%H::%n"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
aload 5
aload 7
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
24: StackMap locals: org.graalvm.compiler.debug.DebugContext
StackMap stack:
aload 5
aload 7
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
25: aload 5
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
26: iinc 1 1
end local 8 end local 7 end local 5 27: StackMap locals: org.graalvm.compiler.loop.LoopEx int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.loop.LoopEx$InvariantPredicate org.graalvm.compiler.graph.NodeBitMap top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
28: aload 4
invokevirtual org.graalvm.compiler.graph.NodeBitMap.isNotEmpty:()Z
ifeq 30
29: aload 0
invokevirtual org.graalvm.compiler.loop.LoopEx.whole:()Lorg/graalvm/compiler/loop/LoopFragmentWhole;
invokevirtual org.graalvm.compiler.loop.LoopFragmentWhole.nodes:()Lorg/graalvm/compiler/graph/NodeBitMap;
aload 4
invokevirtual org.graalvm.compiler.graph.NodeBitMap.union:(Lorg/graalvm/compiler/graph/NodeBitMap;)V
30: StackMap locals: org.graalvm.compiler.loop.LoopEx int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.loop.LoopEx$InvariantPredicate org.graalvm.compiler.graph.NodeBitMap
StackMap stack:
iload 1
ifeq 31
iconst_1
ireturn
StackMap locals:
StackMap stack:
31: iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lorg/graalvm/compiler/loop/LoopEx;
1 32 1 count I
2 32 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
3 32 3 invariant Lorg/graalvm/compiler/loop/LoopEx$InvariantPredicate;
4 32 4 newLoopNodes Lorg/graalvm/compiler/graph/NodeBitMap;
6 27 5 binary Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode<*>;
9 27 7 result Lorg/graalvm/compiler/nodes/ValueNode;
18 20 8 input Lorg/graalvm/compiler/graph/Node;
22 27 8 debug Lorg/graalvm/compiler/debug/DebugContext;
public boolean detectCounted();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=15, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.loop.LoopEx.countedLoopChecked:Z
ifeq 2
1: aload 0
invokevirtual org.graalvm.compiler.loop.LoopEx.isCounted:()Z
ireturn
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.graalvm.compiler.loop.LoopEx.countedLoopChecked:Z
3: aload 0
invokevirtual org.graalvm.compiler.loop.LoopEx.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
astore 1
start local 1 4: aload 1
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.countedLoopDisabled:()Z
ifeq 6
5: iconst_0
ireturn
6: StackMap locals: org.graalvm.compiler.nodes.LoopBeginNode
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 2
start local 2 7: goto 9
8: StackMap locals: org.graalvm.compiler.nodes.FixedNode
StackMap stack:
aload 2
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 2
9: StackMap locals:
StackMap stack:
aload 2
instanceof org.graalvm.compiler.nodes.FixedGuardNode
ifne 8
aload 2
instanceof org.graalvm.compiler.nodes.extended.ValueAnchorNode
ifne 8
aload 2
instanceof org.graalvm.compiler.nodes.FullInfopointNode
ifne 8
10: aload 2
instanceof org.graalvm.compiler.nodes.IfNode
ifeq 84
11: aload 2
checkcast org.graalvm.compiler.nodes.IfNode
astore 3
start local 3 12: iconst_0
istore 4
start local 4 13: aload 0
aload 3
invokevirtual org.graalvm.compiler.nodes.IfNode.falseSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokevirtual org.graalvm.compiler.loop.LoopEx.isCfgLoopExit:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)Z
ifne 17
14: aload 0
aload 3
invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokevirtual org.graalvm.compiler.loop.LoopEx.isCfgLoopExit:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)Z
ifne 16
15: iconst_0
ireturn
16: StackMap locals: org.graalvm.compiler.nodes.IfNode int
StackMap stack:
iconst_1
istore 4
17: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.nodes.IfNode.condition:()Lorg/graalvm/compiler/nodes/LogicNode;
astore 5
start local 5 18: aload 5
instanceof org.graalvm.compiler.nodes.calc.CompareNode
ifne 20
19: iconst_0
ireturn
20: StackMap locals: org.graalvm.compiler.nodes.LogicNode
StackMap stack:
aload 5
checkcast org.graalvm.compiler.nodes.calc.CompareNode
astore 6
start local 6 21: aconst_null
astore 7
start local 7 22: aconst_null
astore 8
start local 8 23: aconst_null
astore 9
start local 9 24: aload 0
aload 6
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.loop.LoopEx.isOutsideLoop:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 30
25: aload 0
invokevirtual org.graalvm.compiler.loop.LoopEx.getInductionVariables:()Lorg/graalvm/collections/EconomicMap;
aload 6
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
invokeinterface org.graalvm.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.loop.InductionVariable
astore 8
26: aload 8
ifnull 35
27: aload 6
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.condition:()Lorg/graalvm/compiler/core/common/calc/CanonicalCondition;
invokevirtual org.graalvm.compiler.core.common.calc.CanonicalCondition.asCondition:()Lorg/graalvm/compiler/core/common/calc/Condition;
invokevirtual org.graalvm.compiler.core.common.calc.Condition.mirror:()Lorg/graalvm/compiler/core/common/calc/Condition;
astore 7
28: aload 6
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 9
29: goto 35
StackMap locals: org.graalvm.compiler.loop.LoopEx org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.IfNode int org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.calc.CompareNode org.graalvm.compiler.core.common.calc.Condition org.graalvm.compiler.loop.InductionVariable org.graalvm.compiler.nodes.ValueNode
StackMap stack:
30: aload 0
aload 6
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.loop.LoopEx.isOutsideLoop:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 35
31: aload 0
invokevirtual org.graalvm.compiler.loop.LoopEx.getInductionVariables:()Lorg/graalvm/collections/EconomicMap;
aload 6
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
invokeinterface org.graalvm.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.loop.InductionVariable
astore 8
32: aload 8
ifnull 35
33: aload 6
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.condition:()Lorg/graalvm/compiler/core/common/calc/CanonicalCondition;
invokevirtual org.graalvm.compiler.core.common.calc.CanonicalCondition.asCondition:()Lorg/graalvm/compiler/core/common/calc/Condition;
astore 7
34: aload 6
invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 9
35: StackMap locals:
StackMap stack:
aload 7
ifnonnull 37
36: iconst_0
ireturn
37: StackMap locals:
StackMap stack:
iload 4
ifeq 39
38: aload 7
invokevirtual org.graalvm.compiler.core.common.calc.Condition.negate:()Lorg/graalvm/compiler/core/common/calc/Condition;
astore 7
39: StackMap locals:
StackMap stack:
iconst_0
istore 10
start local 10 40: iconst_0
istore 11
start local 11 41: invokestatic org.graalvm.compiler.loop.LoopEx.$SWITCH_TABLE$org$graalvm$compiler$core$common$calc$Condition:()[I
aload 7
invokevirtual org.graalvm.compiler.core.common.calc.Condition.ordinal:()I
iaload
tableswitch { // 1 - 10
1: 42
2: 46
3: 69
4: 65
5: 76
6: 72
7: 71
8: 64
9: 75
10: 68
default: 78
}
42: StackMap locals: int int
StackMap stack:
aload 8
invokevirtual org.graalvm.compiler.loop.InductionVariable.initNode:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 9
if_acmpne 45
43: iconst_1
istore 10
44: goto 79
45: StackMap locals:
StackMap stack:
iconst_0
ireturn
46: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.graalvm.compiler.loop.InductionVariable.initNode:()Lorg/graalvm/compiler/nodes/ValueNode;
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.IntegerStamp
astore 12
start local 12 47: aload 9
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
astore 13
start local 13 48: aload 8
invokevirtual org.graalvm.compiler.loop.InductionVariable.valueNode:()Lorg/graalvm/compiler/nodes/ValueNode;
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.IntegerStamp
astore 14
start local 14 49: aload 8
invokevirtual org.graalvm.compiler.loop.InductionVariable.direction:()Lorg/graalvm/compiler/loop/InductionVariable$Direction;
getstatic org.graalvm.compiler.loop.InductionVariable$Direction.Up:Lorg/graalvm/compiler/loop/InductionVariable$Direction;
if_acmpne 56
50: aload 13
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.asConstant:()Ljdk/vm/ci/meta/JavaConstant;
ifnull 51
aload 13
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.asConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
aload 14
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.upperBound:()J
lcmp
ifeq 79
51: StackMap locals: org.graalvm.compiler.core.common.type.IntegerStamp org.graalvm.compiler.core.common.type.IntegerStamp org.graalvm.compiler.core.common.type.IntegerStamp
StackMap stack:
aload 13
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.asConstant:()Ljdk/vm/ci/meta/JavaConstant;
ifnull 54
aload 13
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.asConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
aload 14
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.unsignedUpperBound:()J
lcmp
ifne 54
52: iconst_1
istore 11
53: goto 79
StackMap locals:
StackMap stack:
54: aload 8
invokevirtual org.graalvm.compiler.loop.InductionVariable.isConstantStride:()Z
ifeq 55
aload 8
invokevirtual org.graalvm.compiler.loop.InductionVariable.constantStride:()J
invokestatic java.lang.Math.abs:(J)J
lconst_1
lcmp
ifne 55
aload 12
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.upperBound:()J
aload 13
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.lowerBound:()J
lcmp
ifle 79
55: StackMap locals:
StackMap stack:
iconst_0
ireturn
56: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.graalvm.compiler.loop.InductionVariable.direction:()Lorg/graalvm/compiler/loop/InductionVariable$Direction;
getstatic org.graalvm.compiler.loop.InductionVariable$Direction.Down:Lorg/graalvm/compiler/loop/InductionVariable$Direction;
if_acmpne 63
57: aload 13
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.asConstant:()Ljdk/vm/ci/meta/JavaConstant;
ifnull 58
aload 13
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.asConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
aload 14
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.lowerBound:()J
lcmp
ifeq 79
58: StackMap locals:
StackMap stack:
aload 13
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.asConstant:()Ljdk/vm/ci/meta/JavaConstant;
ifnull 61
aload 13
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.asConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
aload 14
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.unsignedLowerBound:()J
lcmp
ifne 61
59: iconst_1
istore 11
60: goto 79
StackMap locals:
StackMap stack:
61: aload 8
invokevirtual org.graalvm.compiler.loop.InductionVariable.isConstantStride:()Z
ifeq 62
aload 8
invokevirtual org.graalvm.compiler.loop.InductionVariable.constantStride:()J
invokestatic java.lang.Math.abs:(J)J
lconst_1
lcmp
ifne 62
aload 12
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.lowerBound:()J
aload 13
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.upperBound:()J
lcmp
ifge 79
62: StackMap locals:
StackMap stack:
iconst_0
ireturn
63: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 14 end local 13 end local 12 64: StackMap locals:
StackMap stack:
iconst_1
istore 11
65: StackMap locals:
StackMap stack:
iconst_1
istore 10
66: aload 8
invokevirtual org.graalvm.compiler.loop.InductionVariable.direction:()Lorg/graalvm/compiler/loop/InductionVariable$Direction;
getstatic org.graalvm.compiler.loop.InductionVariable$Direction.Up:Lorg/graalvm/compiler/loop/InductionVariable$Direction;
if_acmpeq 79
67: iconst_0
ireturn
68: StackMap locals:
StackMap stack:
iconst_1
istore 11
69: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.graalvm.compiler.loop.InductionVariable.direction:()Lorg/graalvm/compiler/loop/InductionVariable$Direction;
getstatic org.graalvm.compiler.loop.InductionVariable$Direction.Up:Lorg/graalvm/compiler/loop/InductionVariable$Direction;
if_acmpeq 79
70: iconst_0
ireturn
71: StackMap locals:
StackMap stack:
iconst_1
istore 11
72: StackMap locals:
StackMap stack:
iconst_1
istore 10
73: aload 8
invokevirtual org.graalvm.compiler.loop.InductionVariable.direction:()Lorg/graalvm/compiler/loop/InductionVariable$Direction;
getstatic org.graalvm.compiler.loop.InductionVariable$Direction.Down:Lorg/graalvm/compiler/loop/InductionVariable$Direction;
if_acmpeq 79
74: iconst_0
ireturn
75: StackMap locals:
StackMap stack:
iconst_1
istore 11
76: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.graalvm.compiler.loop.InductionVariable.direction:()Lorg/graalvm/compiler/loop/InductionVariable$Direction;
getstatic org.graalvm.compiler.loop.InductionVariable$Direction.Down:Lorg/graalvm/compiler/loop/InductionVariable$Direction;
if_acmpeq 79
77: iconst_0
ireturn
78: StackMap locals:
StackMap stack:
aload 7
invokevirtual org.graalvm.compiler.core.common.calc.Condition.toString:()Ljava/lang/String;
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
79: StackMap locals:
StackMap stack:
aload 0
80: new org.graalvm.compiler.loop.CountedLoopInfo
dup
aload 0
aload 8
aload 3
aload 9
iload 10
iload 4
ifeq 81
aload 3
invokevirtual org.graalvm.compiler.nodes.IfNode.falseSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
goto 82
StackMap locals: org.graalvm.compiler.loop.LoopEx org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.IfNode int org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.calc.CompareNode org.graalvm.compiler.core.common.calc.Condition org.graalvm.compiler.loop.InductionVariable org.graalvm.compiler.nodes.ValueNode int int
StackMap stack: org.graalvm.compiler.loop.LoopEx new 80 new 80 org.graalvm.compiler.loop.LoopEx org.graalvm.compiler.loop.InductionVariable org.graalvm.compiler.nodes.IfNode org.graalvm.compiler.nodes.ValueNode int
81: aload 3
invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
StackMap locals: org.graalvm.compiler.loop.LoopEx org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.IfNode int org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.calc.CompareNode org.graalvm.compiler.core.common.calc.Condition org.graalvm.compiler.loop.InductionVariable org.graalvm.compiler.nodes.ValueNode int int
StackMap stack: org.graalvm.compiler.loop.LoopEx new 80 new 80 org.graalvm.compiler.loop.LoopEx org.graalvm.compiler.loop.InductionVariable org.graalvm.compiler.nodes.IfNode org.graalvm.compiler.nodes.ValueNode int org.graalvm.compiler.nodes.AbstractBeginNode
82: iload 11
invokespecial org.graalvm.compiler.loop.CountedLoopInfo.<init>:(Lorg/graalvm/compiler/loop/LoopEx;Lorg/graalvm/compiler/loop/InductionVariable;Lorg/graalvm/compiler/nodes/IfNode;Lorg/graalvm/compiler/nodes/ValueNode;ZLorg/graalvm/compiler/nodes/AbstractBeginNode;Z)V
putfield org.graalvm.compiler.loop.LoopEx.counted:Lorg/graalvm/compiler/loop/CountedLoopInfo;
83: iconst_1
ireturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 84: StackMap locals: org.graalvm.compiler.loop.LoopEx org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.FixedNode
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 85 0 this Lorg/graalvm/compiler/loop/LoopEx;
4 85 1 loopBegin Lorg/graalvm/compiler/nodes/LoopBeginNode;
7 85 2 next Lorg/graalvm/compiler/nodes/FixedNode;
12 84 3 ifNode Lorg/graalvm/compiler/nodes/IfNode;
13 84 4 negated Z
18 84 5 ifTest Lorg/graalvm/compiler/nodes/LogicNode;
21 84 6 compare Lorg/graalvm/compiler/nodes/calc/CompareNode;
22 84 7 condition Lorg/graalvm/compiler/core/common/calc/Condition;
23 84 8 iv Lorg/graalvm/compiler/loop/InductionVariable;
24 84 9 limit Lorg/graalvm/compiler/nodes/ValueNode;
40 84 10 oneOff Z
41 84 11 unsigned Z
47 64 12 initStamp Lorg/graalvm/compiler/core/common/type/IntegerStamp;
48 64 13 limitStamp Lorg/graalvm/compiler/core/common/type/IntegerStamp;
49 64 14 counterStamp Lorg/graalvm/compiler/core/common/type/IntegerStamp;
private boolean isCfgLoopExit(org.graalvm.compiler.nodes.AbstractBeginNode);
descriptor: (Lorg/graalvm/compiler/nodes/AbstractBeginNode;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.loop.LoopEx.data:Lorg/graalvm/compiler/loop/LoopsData;
invokevirtual org.graalvm.compiler.loop.LoopsData.getCFG:()Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
aload 1
invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.blockFor:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/nodes/cfg/Block;
astore 2
start local 2 1: aload 0
getfield org.graalvm.compiler.loop.LoopEx.loop:Lorg/graalvm/compiler/core/common/cfg/Loop;
invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getDepth:()I
aload 2
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoopDepth:()I
if_icmpgt 2
aload 0
getfield org.graalvm.compiler.loop.LoopEx.loop:Lorg/graalvm/compiler/core/common/cfg/Loop;
aload 2
invokevirtual org.graalvm.compiler.core.common.cfg.Loop.isNaturalExit:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
ifne 2
iconst_0
ireturn
StackMap locals: org.graalvm.compiler.nodes.cfg.Block
StackMap stack:
2: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/loop/LoopEx;
0 3 1 begin Lorg/graalvm/compiler/nodes/AbstractBeginNode;
1 3 2 block Lorg/graalvm/compiler/nodes/cfg/Block;
MethodParameters:
Name Flags
begin
public org.graalvm.compiler.loop.LoopsData loopsData();
descriptor: ()Lorg/graalvm/compiler/loop/LoopsData;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.loop.LoopEx.data:Lorg/graalvm/compiler/loop/LoopsData;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/loop/LoopEx;
public void nodesInLoopBranch(org.graalvm.compiler.graph.NodeBitMap, org.graalvm.compiler.nodes.AbstractBeginNode);
descriptor: (Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/nodes/AbstractBeginNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: invokestatic org.graalvm.collections.EconomicSet.create:()Lorg/graalvm/collections/EconomicSet;
astore 3
start local 3 1: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 4
start local 4 2: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 5
start local 5 3: aload 0
invokevirtual org.graalvm.compiler.loop.LoopEx.loopsData:()Lorg/graalvm/compiler/loop/LoopsData;
invokevirtual org.graalvm.compiler.loop.LoopsData.getCFG:()Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
astore 6
start local 6 4: aload 5
aload 6
aload 2
invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.blockFor:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/nodes/cfg/Block;
invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
pop
5: goto 18
6: StackMap locals: org.graalvm.compiler.loop.LoopEx org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.collections.EconomicSet java.util.Collection java.util.Queue org.graalvm.compiler.nodes.cfg.ControlFlowGraph
StackMap stack:
aload 5
invokeinterface java.util.Queue.remove:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.cfg.Block
astore 7
start local 7 7: aload 0
invokevirtual org.graalvm.compiler.loop.LoopEx.loop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
aload 7
invokevirtual org.graalvm.compiler.core.common.cfg.Loop.isLoopExit:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
ifeq 11
8: getstatic org.graalvm.compiler.loop.LoopEx.$assertionsDisabled:Z
ifne 9
aload 4
aload 7
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
ifeq 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals: org.graalvm.compiler.nodes.cfg.Block
StackMap stack:
aload 4
aload 7
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
10: goto 18
StackMap locals:
StackMap stack:
11: aload 3
aload 7
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokeinterface org.graalvm.collections.EconomicSet.add:(Ljava/lang/Object;)Z
ifeq 18
12: aload 7
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominatedSibling:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
checkcast org.graalvm.compiler.nodes.cfg.Block
astore 8
start local 8 13: goto 17
14: StackMap locals: org.graalvm.compiler.nodes.cfg.Block
StackMap stack:
aload 0
getfield org.graalvm.compiler.loop.LoopEx.loop:Lorg/graalvm/compiler/core/common/cfg/Loop;
invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getBlocks:()Ljava/util/List;
aload 8
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 16
15: aload 5
aload 8
invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
pop
16: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominatedSibling:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
checkcast org.graalvm.compiler.nodes.cfg.Block
astore 8
17: StackMap locals:
StackMap stack:
aload 8
ifnonnull 14
end local 8 end local 7 18: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Queue.isEmpty:()Z
ifeq 6
19: aload 1
aload 2
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 0
aload 3
aload 4
invokestatic org.graalvm.compiler.loop.LoopFragment.computeNodes:(Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/graph/Graph;Lorg/graalvm/compiler/loop/LoopEx;Ljava/lang/Iterable;Ljava/lang/Iterable;)V
20: 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 21 0 this Lorg/graalvm/compiler/loop/LoopEx;
0 21 1 branchNodes Lorg/graalvm/compiler/graph/NodeBitMap;
0 21 2 branch Lorg/graalvm/compiler/nodes/AbstractBeginNode;
1 21 3 blocks Lorg/graalvm/collections/EconomicSet<Lorg/graalvm/compiler/nodes/AbstractBeginNode;>;
2 21 4 exits Ljava/util/Collection<Lorg/graalvm/compiler/nodes/AbstractBeginNode;>;
3 21 5 work Ljava/util/Queue<Lorg/graalvm/compiler/nodes/cfg/Block;>;
4 21 6 cfg Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
7 18 7 b Lorg/graalvm/compiler/nodes/cfg/Block;
13 18 8 d Lorg/graalvm/compiler/nodes/cfg/Block;
MethodParameters:
Name Flags
branchNodes
branch
public org.graalvm.collections.EconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.loop.InductionVariable> getInductionVariables();
descriptor: ()Lorg/graalvm/collections/EconomicMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.loop.LoopEx.ivs:Lorg/graalvm/collections/EconomicMap;
ifnonnull 2
1: aload 0
aload 0
invokestatic org.graalvm.compiler.loop.LoopEx.findInductionVariables:(Lorg/graalvm/compiler/loop/LoopEx;)Lorg/graalvm/collections/EconomicMap;
putfield org.graalvm.compiler.loop.LoopEx.ivs:Lorg/graalvm/collections/EconomicMap;
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.loop.LoopEx.ivs:Lorg/graalvm/collections/EconomicMap;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/loop/LoopEx;
Signature: ()Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/loop/InductionVariable;>;
private static org.graalvm.collections.EconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.loop.InductionVariable> findInductionVariables(org.graalvm.compiler.loop.LoopEx);
descriptor: (Lorg/graalvm/compiler/loop/LoopEx;)Lorg/graalvm/collections/EconomicMap;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=14, args_size=1
start local 0 0: getstatic org.graalvm.collections.Equivalence.IDENTITY:Lorg/graalvm/collections/Equivalence;
invokestatic org.graalvm.collections.EconomicMap.create:(Lorg/graalvm/collections/Equivalence;)Lorg/graalvm/collections/EconomicMap;
astore 1
start local 1 1: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 2
start local 2 2: aload 0
invokevirtual org.graalvm.compiler.loop.LoopEx.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
astore 3
start local 3 3: aload 3
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEnd:()Lorg/graalvm/compiler/nodes/AbstractEndNode;
astore 4
start local 4 4: aload 3
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.valuePhis:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 6
goto 14
StackMap locals: org.graalvm.compiler.loop.LoopEx org.graalvm.collections.EconomicMap java.util.Queue org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractEndNode top java.util.Iterator
StackMap stack:
5: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.PhiNode
astore 5
start local 5 6: aload 5
invokevirtual org.graalvm.compiler.nodes.PhiNode.singleBackValueOrThis:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 7
start local 7 7: aload 7
aload 5
if_acmpne 9
8: goto 14
9: StackMap locals: org.graalvm.compiler.loop.LoopEx org.graalvm.collections.EconomicMap java.util.Queue org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.PhiNode java.util.Iterator org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 0
aload 7
aload 5
invokestatic org.graalvm.compiler.loop.LoopEx.addSub:(Lorg/graalvm/compiler/loop/LoopEx;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 8
start local 8 10: aload 8
ifnull 14
11: new org.graalvm.compiler.loop.BasicInductionVariable
dup
aload 0
aload 5
checkcast org.graalvm.compiler.nodes.ValuePhiNode
aload 5
aload 4
invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(Lorg/graalvm/compiler/nodes/AbstractEndNode;)Lorg/graalvm/compiler/nodes/ValueNode;
aload 8
aload 7
checkcast org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
invokespecial org.graalvm.compiler.loop.BasicInductionVariable.<init>:(Lorg/graalvm/compiler/loop/LoopEx;Lorg/graalvm/compiler/nodes/ValuePhiNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode;)V
astore 9
start local 9 12: aload 1
aload 5
aload 9
invokeinterface org.graalvm.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
13: aload 2
aload 9
invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
pop
end local 9 end local 8 end local 7 end local 5 14: StackMap locals: org.graalvm.compiler.loop.LoopEx org.graalvm.collections.EconomicMap java.util.Queue org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractEndNode top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
15: goto 53
16: StackMap locals: org.graalvm.compiler.loop.LoopEx org.graalvm.collections.EconomicMap java.util.Queue org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractEndNode
StackMap stack:
aload 2
invokeinterface java.util.Queue.remove:()Ljava/lang/Object;
checkcast org.graalvm.compiler.loop.InductionVariable
astore 5
start local 5 17: aload 5
invokevirtual org.graalvm.compiler.loop.InductionVariable.valueNode:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 6
start local 6 18: aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/nodes/ValueNode;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 8
goto 52
StackMap locals: org.graalvm.compiler.loop.LoopEx org.graalvm.collections.EconomicMap java.util.Queue org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.loop.InductionVariable org.graalvm.compiler.nodes.ValueNode top java.util.Iterator
StackMap stack:
19: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 7
start local 7 20: aload 0
aload 7
invokevirtual org.graalvm.compiler.loop.LoopEx.isOutsideLoop:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 22
21: goto 52
22: StackMap locals: org.graalvm.compiler.loop.LoopEx org.graalvm.collections.EconomicMap java.util.Queue org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.loop.InductionVariable org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode java.util.Iterator
StackMap stack:
aload 7
invokevirtual org.graalvm.compiler.nodes.ValueNode.hasExactlyOneUsage:()Z
ifeq 24
aload 7
invokevirtual org.graalvm.compiler.nodes.ValueNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.first:()Lorg/graalvm/compiler/graph/Node;
aload 6
if_acmpne 24
23: goto 52
24: StackMap locals:
StackMap stack:
aconst_null
astore 9
start local 9 25: aload 0
aload 7
aload 6
invokestatic org.graalvm.compiler.loop.LoopEx.addSub:(Lorg/graalvm/compiler/loop/LoopEx;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 10
start local 10 26: aload 10
ifnull 29
27: new org.graalvm.compiler.loop.DerivedOffsetInductionVariable
dup
aload 0
aload 5
aload 10
aload 7
checkcast org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
invokespecial org.graalvm.compiler.loop.DerivedOffsetInductionVariable.<init>:(Lorg/graalvm/compiler/loop/LoopEx;Lorg/graalvm/compiler/loop/InductionVariable;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode;)V
astore 9
28: goto 49
StackMap locals: org.graalvm.compiler.loop.InductionVariable org.graalvm.compiler.nodes.ValueNode
StackMap stack:
29: aload 7
instanceof org.graalvm.compiler.nodes.calc.NegateNode
ifeq 32
30: new org.graalvm.compiler.loop.DerivedScaledInductionVariable
dup
aload 0
aload 5
aload 7
checkcast org.graalvm.compiler.nodes.calc.NegateNode
invokespecial org.graalvm.compiler.loop.DerivedScaledInductionVariable.<init>:(Lorg/graalvm/compiler/loop/LoopEx;Lorg/graalvm/compiler/loop/InductionVariable;Lorg/graalvm/compiler/nodes/calc/NegateNode;)V
astore 9
31: goto 49
StackMap locals:
StackMap stack:
32: aload 0
aload 7
aload 6
invokestatic org.graalvm.compiler.loop.LoopEx.mul:(Lorg/graalvm/compiler/loop/LoopEx;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
dup
astore 11
start local 11 33: ifnull 36
34: new org.graalvm.compiler.loop.DerivedScaledInductionVariable
dup
aload 0
aload 5
aload 11
aload 7
invokespecial org.graalvm.compiler.loop.DerivedScaledInductionVariable.<init>:(Lorg/graalvm/compiler/loop/LoopEx;Lorg/graalvm/compiler/loop/InductionVariable;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
astore 9
35: goto 49
36: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 7
instanceof org.graalvm.compiler.nodes.PiNode
ifne 37
aload 7
instanceof org.graalvm.compiler.nodes.calc.SignExtendNode
ifne 37
iconst_0
goto 38
StackMap locals:
StackMap stack:
37: iconst_1
StackMap locals:
StackMap stack: int
38: istore 12
start local 12 39: iload 12
ifne 44
aload 7
instanceof org.graalvm.compiler.nodes.calc.ZeroExtendNode
ifeq 44
40: aload 7
checkcast org.graalvm.compiler.nodes.calc.ZeroExtendNode
astore 13
start local 13 41: aload 13
invokevirtual org.graalvm.compiler.nodes.calc.ZeroExtendNode.isInputAlwaysPositive:()Z
ifne 42
aload 13
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.calc.ZeroExtendNode.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.isPositive:()Z
ifne 42
iconst_0
goto 43
StackMap locals: int org.graalvm.compiler.nodes.calc.ZeroExtendNode
StackMap stack:
42: iconst_1
StackMap locals:
StackMap stack: int
43: istore 12
end local 13 44: StackMap locals:
StackMap stack:
iload 12
ifne 47
aload 7
instanceof org.graalvm.compiler.nodes.calc.NarrowNode
ifeq 47
45: aload 7
checkcast org.graalvm.compiler.nodes.calc.NarrowNode
astore 13
start local 13 46: aload 13
invokevirtual org.graalvm.compiler.nodes.calc.NarrowNode.getResultBits:()I
aload 13
invokevirtual org.graalvm.compiler.nodes.calc.NarrowNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.IntegerStamp
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.upMask:()J
invokestatic org.graalvm.compiler.core.common.NumUtil.isSignedNbit:(IJ)Z
istore 12
end local 13 47: StackMap locals:
StackMap stack:
iload 12
ifeq 49
48: new org.graalvm.compiler.loop.DerivedConvertedInductionVariable
dup
aload 0
aload 5
aload 7
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;
aload 7
invokespecial org.graalvm.compiler.loop.DerivedConvertedInductionVariable.<init>:(Lorg/graalvm/compiler/loop/LoopEx;Lorg/graalvm/compiler/loop/InductionVariable;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)V
astore 9
end local 12 end local 11 49: StackMap locals:
StackMap stack:
aload 9
ifnull 52
50: aload 1
aload 7
aload 9
invokeinterface org.graalvm.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
51: aload 2
aload 9
invokeinterface java.util.Queue.offer:(Ljava/lang/Object;)Z
pop
end local 10 end local 9 end local 7 52: StackMap locals: org.graalvm.compiler.loop.LoopEx org.graalvm.collections.EconomicMap java.util.Queue org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.loop.InductionVariable org.graalvm.compiler.nodes.ValueNode top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
end local 6 end local 5 53: StackMap locals: org.graalvm.compiler.loop.LoopEx org.graalvm.collections.EconomicMap java.util.Queue org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractEndNode
StackMap stack:
aload 2
invokeinterface java.util.Queue.isEmpty:()Z
ifeq 16
54: aload 1
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 55 0 loop Lorg/graalvm/compiler/loop/LoopEx;
1 55 1 ivs Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/loop/InductionVariable;>;
2 55 2 scanQueue Ljava/util/Queue<Lorg/graalvm/compiler/loop/InductionVariable;>;
3 55 3 loopBegin Lorg/graalvm/compiler/nodes/LoopBeginNode;
4 55 4 forwardEnd Lorg/graalvm/compiler/nodes/AbstractEndNode;
6 14 5 phi Lorg/graalvm/compiler/nodes/PhiNode;
7 14 7 backValue Lorg/graalvm/compiler/nodes/ValueNode;
10 14 8 stride Lorg/graalvm/compiler/nodes/ValueNode;
12 14 9 biv Lorg/graalvm/compiler/loop/BasicInductionVariable;
17 53 5 baseIv Lorg/graalvm/compiler/loop/InductionVariable;
18 53 6 baseIvNode Lorg/graalvm/compiler/nodes/ValueNode;
20 52 7 op Lorg/graalvm/compiler/nodes/ValueNode;
25 52 9 iv Lorg/graalvm/compiler/loop/InductionVariable;
26 52 10 offset Lorg/graalvm/compiler/nodes/ValueNode;
33 49 11 scale Lorg/graalvm/compiler/nodes/ValueNode;
39 49 12 isValidConvert Z
41 44 13 zeroExtendNode Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;
46 47 13 narrow Lorg/graalvm/compiler/nodes/calc/NarrowNode;
Signature: (Lorg/graalvm/compiler/loop/LoopEx;)Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/loop/InductionVariable;>;
MethodParameters:
Name Flags
loop
private static org.graalvm.compiler.nodes.ValueNode addSub(org.graalvm.compiler.loop.LoopEx, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/loop/LoopEx;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
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;
instanceof org.graalvm.compiler.core.common.type.IntegerStamp
ifeq 6
aload 1
instanceof org.graalvm.compiler.nodes.calc.AddNode
ifne 1
aload 1
instanceof org.graalvm.compiler.nodes.calc.SubNode
ifeq 6
1: StackMap locals:
StackMap stack:
aload 1
checkcast org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
astore 3
start local 3 2: aload 3
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 2
if_acmpne 4
aload 0
aload 3
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.loop.LoopEx.isOutsideLoop:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 4
3: aload 3
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
areturn
4: StackMap locals: org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 2
if_acmpne 6
aload 0
aload 3
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.loop.LoopEx.isOutsideLoop:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 6
5: aload 3
invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 3 6: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 loop Lorg/graalvm/compiler/loop/LoopEx;
0 7 1 op Lorg/graalvm/compiler/nodes/ValueNode;
0 7 2 base Lorg/graalvm/compiler/nodes/ValueNode;
2 6 3 aritOp Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode<*>;
MethodParameters:
Name Flags
loop
op
base
private static org.graalvm.compiler.nodes.ValueNode mul(org.graalvm.compiler.loop.LoopEx, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/loop/LoopEx;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
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.calc.MulNode
ifeq 6
1: aload 1
checkcast org.graalvm.compiler.nodes.calc.MulNode
astore 3
start local 3 2: aload 3
invokevirtual org.graalvm.compiler.nodes.calc.MulNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 2
if_acmpne 4
aload 0
aload 3
invokevirtual org.graalvm.compiler.nodes.calc.MulNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.loop.LoopEx.isOutsideLoop:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 4
3: aload 3
invokevirtual org.graalvm.compiler.nodes.calc.MulNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
areturn
4: StackMap locals: org.graalvm.compiler.nodes.calc.MulNode
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.nodes.calc.MulNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 2
if_acmpne 6
aload 0
aload 3
invokevirtual org.graalvm.compiler.nodes.calc.MulNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.loop.LoopEx.isOutsideLoop:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 6
5: aload 3
invokevirtual org.graalvm.compiler.nodes.calc.MulNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 3 6: StackMap locals:
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.calc.LeftShiftNode
ifeq 10
7: aload 1
checkcast org.graalvm.compiler.nodes.calc.LeftShiftNode
astore 3
start local 3 8: aload 3
invokevirtual org.graalvm.compiler.nodes.calc.LeftShiftNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 2
if_acmpne 10
aload 3
invokevirtual org.graalvm.compiler.nodes.calc.LeftShiftNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 10
9: aload 2
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;
iconst_1
aload 3
invokevirtual org.graalvm.compiler.nodes.calc.LeftShiftNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
ishl
i2l
aload 2
invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
areturn
end local 3 10: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 loop Lorg/graalvm/compiler/loop/LoopEx;
0 11 1 op Lorg/graalvm/compiler/nodes/ValueNode;
0 11 2 base Lorg/graalvm/compiler/nodes/ValueNode;
2 6 3 mul Lorg/graalvm/compiler/nodes/calc/MulNode;
8 10 3 shift Lorg/graalvm/compiler/nodes/calc/LeftShiftNode;
MethodParameters:
Name Flags
loop
op
base
public void deleteUnusedNodes();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.loop.LoopEx.ivs:Lorg/graalvm/collections/EconomicMap;
ifnull 5
1: aload 0
getfield org.graalvm.compiler.loop.LoopEx.ivs:Lorg/graalvm/collections/EconomicMap;
invokeinterface org.graalvm.collections.EconomicMap.getValues:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 2
goto 4
StackMap locals: org.graalvm.compiler.loop.LoopEx top java.util.Iterator
StackMap stack:
2: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.loop.InductionVariable
astore 1
start local 1 3: aload 1
invokevirtual org.graalvm.compiler.loop.InductionVariable.deleteUnusedNodes:()V
end local 1 4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: StackMap locals: org.graalvm.compiler.loop.LoopEx
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/loop/LoopEx;
3 4 1 iv Lorg/graalvm/compiler/loop/InductionVariable;
public boolean canDuplicateLoop();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.loop.LoopEx.inside:()Lorg/graalvm/compiler/loop/LoopFragmentInside;
invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.nodes:()Lorg/graalvm/compiler/graph/NodeBitMap;
invokevirtual org.graalvm.compiler.graph.NodeBitMap.iterator:()Ljava/util/Iterator;
astore 2
goto 8
StackMap locals: org.graalvm.compiler.loop.LoopEx top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 1
start local 1 2: aload 1
instanceof org.graalvm.compiler.nodes.debug.ControlFlowAnchored
ifeq 4
3: iconst_0
ireturn
4: StackMap locals: org.graalvm.compiler.loop.LoopEx org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.FrameState
ifeq 8
5: aload 1
checkcast org.graalvm.compiler.nodes.FrameState
astore 3
start local 3 6: aload 3
invokevirtual org.graalvm.compiler.nodes.FrameState.isExceptionHandlingBCI:()Z
ifeq 8
7: iconst_0
ireturn
end local 3 end local 1 8: StackMap locals: org.graalvm.compiler.loop.LoopEx top java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
9: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/graalvm/compiler/loop/LoopEx;
2 8 1 node Lorg/graalvm/compiler/graph/Node;
6 8 3 frameState Lorg/graalvm/compiler/nodes/FrameState;
static int[] $SWITCH_TABLE$org$graalvm$compiler$core$common$calc$Condition();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.graalvm.compiler.loop.LoopEx.$SWITCH_TABLE$org$graalvm$compiler$core$common$calc$Condition:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.graalvm.compiler.core.common.calc.Condition.values:()[Lorg/graalvm/compiler/core/common/calc/Condition;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.graalvm.compiler.core.common.calc.Condition.AE:Lorg/graalvm/compiler/core/common/calc/Condition;
invokevirtual org.graalvm.compiler.core.common.calc.Condition.ordinal:()I
bipush 7
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.graalvm.compiler.core.common.calc.Condition.AT:Lorg/graalvm/compiler/core/common/calc/Condition;
invokevirtual org.graalvm.compiler.core.common.calc.Condition.ordinal:()I
bipush 9
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.graalvm.compiler.core.common.calc.Condition.BE:Lorg/graalvm/compiler/core/common/calc/Condition;
invokevirtual org.graalvm.compiler.core.common.calc.Condition.ordinal:()I
bipush 8
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.graalvm.compiler.core.common.calc.Condition.BT:Lorg/graalvm/compiler/core/common/calc/Condition;
invokevirtual org.graalvm.compiler.core.common.calc.Condition.ordinal:()I
bipush 10
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
invokevirtual org.graalvm.compiler.core.common.calc.Condition.ordinal:()I
iconst_1
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic org.graalvm.compiler.core.common.calc.Condition.GE:Lorg/graalvm/compiler/core/common/calc/Condition;
invokevirtual org.graalvm.compiler.core.common.calc.Condition.ordinal:()I
bipush 6
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic org.graalvm.compiler.core.common.calc.Condition.GT:Lorg/graalvm/compiler/core/common/calc/Condition;
invokevirtual org.graalvm.compiler.core.common.calc.Condition.ordinal:()I
iconst_5
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic org.graalvm.compiler.core.common.calc.Condition.LE:Lorg/graalvm/compiler/core/common/calc/Condition;
invokevirtual org.graalvm.compiler.core.common.calc.Condition.ordinal:()I
iconst_4
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic org.graalvm.compiler.core.common.calc.Condition.LT:Lorg/graalvm/compiler/core/common/calc/Condition;
invokevirtual org.graalvm.compiler.core.common.calc.Condition.ordinal:()I
iconst_3
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic org.graalvm.compiler.core.common.calc.Condition.NE:Lorg/graalvm/compiler/core/common/calc/Condition;
invokevirtual org.graalvm.compiler.core.common.calc.Condition.ordinal:()I
iconst_2
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
dup
putstatic org.graalvm.compiler.loop.LoopEx.$SWITCH_TABLE$org$graalvm$compiler$core$common$calc$Condition:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
}
SourceFile: "LoopEx.java"
NestMembers:
org.graalvm.compiler.loop.LoopEx$InvariantPredicate
InnerClasses:
public final Direction = org.graalvm.compiler.loop.InductionVariable$Direction of org.graalvm.compiler.loop.InductionVariable
private InvariantPredicate = org.graalvm.compiler.loop.LoopEx$InvariantPredicate of org.graalvm.compiler.loop.LoopEx