public final class org.graalvm.compiler.nodes.cfg.HIRLoop extends org.graalvm.compiler.core.common.cfg.Loop<org.graalvm.compiler.nodes.cfg.Block>
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.graalvm.compiler.nodes.cfg.HIRLoop
super_class: org.graalvm.compiler.core.common.cfg.Loop
{
private org.graalvm.compiler.nodes.cfg.LocationSet killLocations;
descriptor: Lorg/graalvm/compiler/nodes/cfg/LocationSet;
flags: (0x0002) ACC_PRIVATE
protected void <init>(org.graalvm.compiler.core.common.cfg.Loop<org.graalvm.compiler.nodes.cfg.Block>, int, org.graalvm.compiler.nodes.cfg.Block);
descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;ILorg/graalvm/compiler/nodes/cfg/Block;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
aload 3
invokespecial org.graalvm.compiler.core.common.cfg.Loop.<init>:(Lorg/graalvm/compiler/core/common/cfg/Loop;ILorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/nodes/cfg/HIRLoop;
0 2 1 parent Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
0 2 2 index I
0 2 3 header Lorg/graalvm/compiler/nodes/cfg/Block;
Signature: (Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;ILorg/graalvm/compiler/nodes/cfg/Block;)V
MethodParameters:
Name Flags
parent
index
header
public long numBackedges();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.nodes.cfg.HIRLoop.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
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopEnds:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
i2l
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/cfg/HIRLoop;
public org.graalvm.compiler.nodes.cfg.LocationSet getKillLocations();
descriptor: ()Lorg/graalvm/compiler/nodes/cfg/LocationSet;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.nodes.cfg.HIRLoop.killLocations:Lorg/graalvm/compiler/nodes/cfg/LocationSet;
ifnonnull 9
1: aload 0
new org.graalvm.compiler.nodes.cfg.LocationSet
dup
invokespecial org.graalvm.compiler.nodes.cfg.LocationSet.<init>:()V
putfield org.graalvm.compiler.nodes.cfg.HIRLoop.killLocations:Lorg/graalvm/compiler/nodes/cfg/LocationSet;
2: aload 0
invokevirtual org.graalvm.compiler.nodes.cfg.HIRLoop.getBlocks:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
goto 8
StackMap locals: org.graalvm.compiler.nodes.cfg.HIRLoop top java.util.Iterator
StackMap stack:
3: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.cfg.Block
astore 1
start local 1 4: aload 1
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
aload 0
if_acmpne 8
5: aload 0
getfield org.graalvm.compiler.nodes.cfg.HIRLoop.killLocations:Lorg/graalvm/compiler/nodes/cfg/LocationSet;
aload 1
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getKillLocations:()Lorg/graalvm/compiler/nodes/cfg/LocationSet;
invokevirtual org.graalvm.compiler.nodes.cfg.LocationSet.addAll:(Lorg/graalvm/compiler/nodes/cfg/LocationSet;)V
6: aload 0
getfield org.graalvm.compiler.nodes.cfg.HIRLoop.killLocations:Lorg/graalvm/compiler/nodes/cfg/LocationSet;
invokevirtual org.graalvm.compiler.nodes.cfg.LocationSet.isAny:()Z
ifeq 8
7: goto 9
end local 1 8: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
9: StackMap locals: org.graalvm.compiler.nodes.cfg.HIRLoop
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.cfg.HIRLoop.getChildren:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
goto 14
StackMap locals: org.graalvm.compiler.nodes.cfg.HIRLoop top java.util.Iterator
StackMap stack:
10: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.core.common.cfg.Loop
astore 1
start local 1 11: aload 0
getfield org.graalvm.compiler.nodes.cfg.HIRLoop.killLocations:Lorg/graalvm/compiler/nodes/cfg/LocationSet;
invokevirtual org.graalvm.compiler.nodes.cfg.LocationSet.isAny:()Z
ifeq 13
12: goto 15
13: StackMap locals: org.graalvm.compiler.nodes.cfg.HIRLoop org.graalvm.compiler.core.common.cfg.Loop java.util.Iterator
StackMap stack:
aload 0
getfield org.graalvm.compiler.nodes.cfg.HIRLoop.killLocations:Lorg/graalvm/compiler/nodes/cfg/LocationSet;
aload 1
checkcast org.graalvm.compiler.nodes.cfg.HIRLoop
invokevirtual org.graalvm.compiler.nodes.cfg.HIRLoop.getKillLocations:()Lorg/graalvm/compiler/nodes/cfg/LocationSet;
invokevirtual org.graalvm.compiler.nodes.cfg.LocationSet.addAll:(Lorg/graalvm/compiler/nodes/cfg/LocationSet;)V
end local 1 14: StackMap locals: org.graalvm.compiler.nodes.cfg.HIRLoop top java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
15: StackMap locals: org.graalvm.compiler.nodes.cfg.HIRLoop
StackMap stack:
aload 0
getfield org.graalvm.compiler.nodes.cfg.HIRLoop.killLocations:Lorg/graalvm/compiler/nodes/cfg/LocationSet;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/graalvm/compiler/nodes/cfg/HIRLoop;
4 8 1 b Lorg/graalvm/compiler/nodes/cfg/Block;
11 14 1 child Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
public boolean canKill(jdk.internal.vm.compiler.word.LocationIdentity);
descriptor: (Ljdk/internal/vm/compiler/word/LocationIdentity;)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.nodes.cfg.HIRLoop.getKillLocations:()Lorg/graalvm/compiler/nodes/cfg/LocationSet;
aload 1
invokevirtual org.graalvm.compiler.nodes.cfg.LocationSet.contains:(Ljdk/internal/vm/compiler/word/LocationIdentity;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/cfg/HIRLoop;
0 1 1 location Ljdk/internal/vm/compiler/word/LocationIdentity;
MethodParameters:
Name Flags
location
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokespecial org.graalvm.compiler.core.common.cfg.Loop.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " header:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual org.graalvm.compiler.nodes.cfg.HIRLoop.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;
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 1 0 this Lorg/graalvm/compiler/nodes/cfg/HIRLoop;
}
Signature: Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
SourceFile: "HIRLoop.java"