public class org.graalvm.compiler.truffle.test.nodes.explosion.TwoMergesExplodedLoopTestNode extends org.graalvm.compiler.truffle.test.nodes.AbstractTestNode
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.truffle.test.nodes.explosion.TwoMergesExplodedLoopTestNode
super_class: org.graalvm.compiler.truffle.test.nodes.AbstractTestNode
{
private final int count;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // org.graalvm.compiler.truffle.test.nodes.explosion.TwoMergesExplodedLoopTestNode this
start local 1 // int count
0: .line 44
aload 0 /* this */
invokespecial org.graalvm.compiler.truffle.test.nodes.AbstractTestNode.<init>:()V
1: .line 45
aload 0 /* this */
iload 1 /* count */
putfield org.graalvm.compiler.truffle.test.nodes.explosion.TwoMergesExplodedLoopTestNode.count:I
2: .line 46
return
end local 1 // int count
end local 0 // org.graalvm.compiler.truffle.test.nodes.explosion.TwoMergesExplodedLoopTestNode this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/truffle/test/nodes/explosion/TwoMergesExplodedLoopTestNode;
0 3 1 count I
MethodParameters:
Name Flags
count
public int execute(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 // org.graalvm.compiler.truffle.test.nodes.explosion.TwoMergesExplodedLoopTestNode this
start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
0: .line 51
new org.graalvm.compiler.truffle.test.nodes.explosion.TwoMergesExplodedLoopTestNode$Flag
dup
invokespecial org.graalvm.compiler.truffle.test.nodes.explosion.TwoMergesExplodedLoopTestNode$Flag.<init>:()V
astore 2 /* flag */
start local 2 // org.graalvm.compiler.truffle.test.nodes.explosion.TwoMergesExplodedLoopTestNode$Flag flag
1: .line 52
iconst_0
istore 3 /* result */
start local 3 // int result
2: .line 53
iconst_0
istore 4 /* i */
start local 4 // int i
3: .line 54
goto 10
4: .line 55
StackMap locals: org.graalvm.compiler.truffle.test.nodes.explosion.TwoMergesExplodedLoopTestNode$Flag int int
StackMap stack:
iinc 4 /* i */ 1
5: .line 57
iload 3 /* result */
invokestatic com.oracle.truffle.api.CompilerAsserts.partialEvaluationConstant:(I)V
6: .line 59
aload 2 /* flag */
getfield org.graalvm.compiler.truffle.test.nodes.explosion.TwoMergesExplodedLoopTestNode$Flag.flag:Z
ifeq 9
7: .line 60
iinc 3 /* result */ 1
8: .line 61
goto 10
9: .line 63
StackMap locals:
StackMap stack:
iinc 3 /* result */ -1
10: .line 54
StackMap locals:
StackMap stack:
iload 4 /* i */
aload 0 /* this */
getfield org.graalvm.compiler.truffle.test.nodes.explosion.TwoMergesExplodedLoopTestNode.count:I
if_icmplt 4
11: .line 67
iload 3 /* result */
ireturn
end local 4 // int i
end local 3 // int result
end local 2 // org.graalvm.compiler.truffle.test.nodes.explosion.TwoMergesExplodedLoopTestNode$Flag flag
end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
end local 0 // org.graalvm.compiler.truffle.test.nodes.explosion.TwoMergesExplodedLoopTestNode this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/graalvm/compiler/truffle/test/nodes/explosion/TwoMergesExplodedLoopTestNode;
0 12 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
1 12 2 flag Lorg/graalvm/compiler/truffle/test/nodes/explosion/TwoMergesExplodedLoopTestNode$Flag;
2 12 3 result I
3 12 4 i I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.ExplodeLoop(kind = com.oracle.truffle.api.nodes.ExplodeLoop$LoopExplosionKind.FULL_EXPLODE:Lcom/oracle/truffle/api/nodes/ExplodeLoop$LoopExplosionKind;)
MethodParameters:
Name Flags
frame
}
SourceFile: "TwoMergesExplodedLoopTestNode.java"
NestMembers:
org.graalvm.compiler.truffle.test.nodes.explosion.TwoMergesExplodedLoopTestNode$Flag
InnerClasses:
public final LoopExplosionKind = com.oracle.truffle.api.nodes.ExplodeLoop$LoopExplosionKind of com.oracle.truffle.api.nodes.ExplodeLoop
Flag = org.graalvm.compiler.truffle.test.nodes.explosion.TwoMergesExplodedLoopTestNode$Flag of org.graalvm.compiler.truffle.test.nodes.explosion.TwoMergesExplodedLoopTestNode
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.NodeInfo()