public class com.oracle.truffle.api.test.LoopNodeTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.api.test.LoopNodeTest
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/test/LoopNodeTest;
public void testHundredInvocations();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: new com.oracle.truffle.api.test.LoopNodeTest$IterateNode
dup
bipush 100
invokespecial com.oracle.truffle.api.test.LoopNodeTest$IterateNode.<init>:(I)V
astore 1
start local 1 1: new com.oracle.truffle.api.test.LoopNodeTest$BodyNode
dup
invokespecial com.oracle.truffle.api.test.LoopNodeTest$BodyNode.<init>:()V
astore 2
start local 2 2: new com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode
dup
aload 1
aload 2
invokespecial com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode.<init>:(Lcom/oracle/truffle/api/test/LoopNodeTest$GuestLanguageNode;Lcom/oracle/truffle/api/test/LoopNodeTest$GuestLanguageNode;)V
astore 3
start local 3 3: aload 3
aconst_null
invokevirtual com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
pop
4: ldc 100
aload 2
getfield com.oracle.truffle.api.test.LoopNodeTest$BodyNode.invocations:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
5: ldc 101
aload 1
getfield com.oracle.truffle.api.test.LoopNodeTest$IterateNode.invocations:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/api/test/LoopNodeTest;
1 7 1 iterate Lcom/oracle/truffle/api/test/LoopNodeTest$IterateNode;
2 7 2 bodyNode Lcom/oracle/truffle/api/test/LoopNodeTest$BodyNode;
3 7 3 whileNode Lcom/oracle/truffle/api/test/LoopNodeTest$TestWhileNode;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testNoInvocations();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: new com.oracle.truffle.api.test.LoopNodeTest$IterateNode
dup
iconst_0
invokespecial com.oracle.truffle.api.test.LoopNodeTest$IterateNode.<init>:(I)V
astore 1
start local 1 1: new com.oracle.truffle.api.test.LoopNodeTest$BodyNode
dup
invokespecial com.oracle.truffle.api.test.LoopNodeTest$BodyNode.<init>:()V
astore 2
start local 2 2: new com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode
dup
aload 1
aload 2
invokespecial com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode.<init>:(Lcom/oracle/truffle/api/test/LoopNodeTest$GuestLanguageNode;Lcom/oracle/truffle/api/test/LoopNodeTest$GuestLanguageNode;)V
astore 3
start local 3 3: aload 3
aconst_null
invokevirtual com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
pop
4: lconst_0
aload 2
getfield com.oracle.truffle.api.test.LoopNodeTest$BodyNode.invocations:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
5: lconst_1
aload 1
getfield com.oracle.truffle.api.test.LoopNodeTest$IterateNode.invocations:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/api/test/LoopNodeTest;
1 7 1 iterate Lcom/oracle/truffle/api/test/LoopNodeTest$IterateNode;
2 7 2 bodyNode Lcom/oracle/truffle/api/test/LoopNodeTest$BodyNode;
3 7 3 whileNode Lcom/oracle/truffle/api/test/LoopNodeTest$TestWhileNode;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testBreak();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: new com.oracle.truffle.api.test.LoopNodeTest$IterateNode
dup
iconst_5
invokespecial com.oracle.truffle.api.test.LoopNodeTest$IterateNode.<init>:(I)V
astore 1
start local 1 1: new com.oracle.truffle.api.test.LoopNodeTest$1
dup
aload 0
invokespecial com.oracle.truffle.api.test.LoopNodeTest$1.<init>:(Lcom/oracle/truffle/api/test/LoopNodeTest;)V
astore 2
start local 2 2: new com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode
dup
aload 1
aload 2
invokespecial com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode.<init>:(Lcom/oracle/truffle/api/test/LoopNodeTest$GuestLanguageNode;Lcom/oracle/truffle/api/test/LoopNodeTest$GuestLanguageNode;)V
astore 3
start local 3 3: aload 3
aconst_null
invokevirtual com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
pop
4: lconst_1
aload 3
getfield com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode.breaks:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
5: lconst_1
aload 2
getfield com.oracle.truffle.api.test.LoopNodeTest$BodyNode.invocations:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
6: lconst_1
aload 1
getfield com.oracle.truffle.api.test.LoopNodeTest$IterateNode.invocations:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/test/LoopNodeTest;
1 8 1 iterate Lcom/oracle/truffle/api/test/LoopNodeTest$IterateNode;
2 8 2 bodyNode Lcom/oracle/truffle/api/test/LoopNodeTest$BodyNode;
3 8 3 whileNode Lcom/oracle/truffle/api/test/LoopNodeTest$TestWhileNode;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testContinue();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: new com.oracle.truffle.api.test.LoopNodeTest$IterateNode
dup
iconst_3
invokespecial com.oracle.truffle.api.test.LoopNodeTest$IterateNode.<init>:(I)V
astore 1
start local 1 1: new com.oracle.truffle.api.test.LoopNodeTest$2
dup
aload 0
invokespecial com.oracle.truffle.api.test.LoopNodeTest$2.<init>:(Lcom/oracle/truffle/api/test/LoopNodeTest;)V
astore 2
start local 2 2: new com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode
dup
aload 1
aload 2
invokespecial com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode.<init>:(Lcom/oracle/truffle/api/test/LoopNodeTest$GuestLanguageNode;Lcom/oracle/truffle/api/test/LoopNodeTest$GuestLanguageNode;)V
astore 3
start local 3 3: aload 3
aconst_null
invokevirtual com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
pop
4: ldc 3
aload 3
getfield com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode.continues:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
5: ldc 3
aload 2
getfield com.oracle.truffle.api.test.LoopNodeTest$BodyNode.invocations:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
6: ldc 4
aload 1
getfield com.oracle.truffle.api.test.LoopNodeTest$IterateNode.invocations:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/test/LoopNodeTest;
1 8 1 iterate Lcom/oracle/truffle/api/test/LoopNodeTest$IterateNode;
2 8 2 bodyNode Lcom/oracle/truffle/api/test/LoopNodeTest$BodyNode;
3 8 3 whileNode Lcom/oracle/truffle/api/test/LoopNodeTest$TestWhileNode;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testLoopCountReportingWithNode();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new com.oracle.truffle.api.test.LoopNodeTest$3
dup
aload 0
invokespecial com.oracle.truffle.api.test.LoopNodeTest$3.<init>:(Lcom/oracle/truffle/api/test/LoopNodeTest;)V
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: com.oracle.truffle.api.test.LoopNodeTest$GuestLanguageNode int
StackMap stack:
bipush 15
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
aconst_null
invokevirtual com.oracle.truffle.api.test.LoopNodeTest$GuestLanguageNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
sipush 1000
if_icmplt 3
end local 2 6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/api/test/LoopNodeTest;
1 7 1 node Lcom/oracle/truffle/api/test/LoopNodeTest$GuestLanguageNode;
2 6 2 i I
RuntimeVisibleAnnotations:
org.junit.Test()
public void testLoopCountReportingInCallTarget();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: new com.oracle.truffle.api.test.LoopNodeTest$4
dup
aload 0
invokespecial com.oracle.truffle.api.test.LoopNodeTest$4.<init>:(Lcom/oracle/truffle/api/test/LoopNodeTest;)V
astore 1
start local 1 1: new com.oracle.truffle.api.test.LoopNodeTest$5
dup
aload 0
aconst_null
aload 1
invokespecial com.oracle.truffle.api.test.LoopNodeTest$5.<init>:(Lcom/oracle/truffle/api/test/LoopNodeTest;Lcom/oracle/truffle/api/TruffleLanguage;Lcom/oracle/truffle/api/test/LoopNodeTest$GuestLanguageNode;)V
astore 2
start local 2 2: invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
aload 2
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
astore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 7
5: StackMap locals: com.oracle.truffle.api.test.LoopNodeTest com.oracle.truffle.api.test.LoopNodeTest$GuestLanguageNode com.oracle.truffle.api.nodes.RootNode com.oracle.truffle.api.CallTarget int
StackMap stack:
bipush 15
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 3
iconst_0
anewarray java.lang.Object
invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
sipush 1000
if_icmplt 5
end local 4 8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/api/test/LoopNodeTest;
1 9 1 node Lcom/oracle/truffle/api/test/LoopNodeTest$GuestLanguageNode;
2 9 2 root Lcom/oracle/truffle/api/nodes/RootNode;
3 9 3 target Lcom/oracle/truffle/api/CallTarget;
4 8 4 i I
RuntimeVisibleAnnotations:
org.junit.Test()
public void testSpecialValue();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: new com.oracle.truffle.api.test.LoopNodeTest$IterateAndReturnValueNode
dup
ldc "Ronaldo"
iconst_3
invokespecial com.oracle.truffle.api.test.LoopNodeTest$IterateAndReturnValueNode.<init>:(Ljava/lang/Object;I)V
astore 1
start local 1 1: new com.oracle.truffle.api.test.LoopNodeTest$TestWhileWithValueNode
dup
aload 1
invokespecial com.oracle.truffle.api.test.LoopNodeTest$TestWhileWithValueNode.<init>:(Lcom/oracle/truffle/api/test/LoopNodeTest$GuestLanguageNode;)V
astore 2
start local 2 2: aload 2
aconst_null
invokevirtual com.oracle.truffle.api.test.LoopNodeTest$TestWhileWithValueNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 3
start local 3 3: ldc 3
aload 2
getfield com.oracle.truffle.api.test.LoopNodeTest$TestWhileWithValueNode.continues:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
4: ldc "Ronaldo"
aload 3
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/test/LoopNodeTest;
1 6 1 iterate Lcom/oracle/truffle/api/test/LoopNodeTest$IterateAndReturnValueNode;
2 6 2 whileNode Lcom/oracle/truffle/api/test/LoopNodeTest$TestWhileWithValueNode;
3 6 3 specialValue Ljava/lang/Object;
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "LoopNodeTest.java"
NestMembers:
com.oracle.truffle.api.test.LoopNodeTest$1 com.oracle.truffle.api.test.LoopNodeTest$2 com.oracle.truffle.api.test.LoopNodeTest$3 com.oracle.truffle.api.test.LoopNodeTest$4 com.oracle.truffle.api.test.LoopNodeTest$5 com.oracle.truffle.api.test.LoopNodeTest$BodyNode com.oracle.truffle.api.test.LoopNodeTest$BreakException com.oracle.truffle.api.test.LoopNodeTest$ContinueException com.oracle.truffle.api.test.LoopNodeTest$GuestLanguageNode com.oracle.truffle.api.test.LoopNodeTest$IterateAndReturnValueNode com.oracle.truffle.api.test.LoopNodeTest$IterateNode com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode$WhileRepeatingNode com.oracle.truffle.api.test.LoopNodeTest$TestWhileWithValueNode com.oracle.truffle.api.test.LoopNodeTest$TestWhileWithValueNode$WhileWithValueRepeatingNode
InnerClasses:
com.oracle.truffle.api.test.LoopNodeTest$1
com.oracle.truffle.api.test.LoopNodeTest$2
com.oracle.truffle.api.test.LoopNodeTest$3
com.oracle.truffle.api.test.LoopNodeTest$4
com.oracle.truffle.api.test.LoopNodeTest$5
private BodyNode = com.oracle.truffle.api.test.LoopNodeTest$BodyNode of com.oracle.truffle.api.test.LoopNodeTest
private final BreakException = com.oracle.truffle.api.test.LoopNodeTest$BreakException of com.oracle.truffle.api.test.LoopNodeTest
private final ContinueException = com.oracle.truffle.api.test.LoopNodeTest$ContinueException of com.oracle.truffle.api.test.LoopNodeTest
private abstract GuestLanguageNode = com.oracle.truffle.api.test.LoopNodeTest$GuestLanguageNode of com.oracle.truffle.api.test.LoopNodeTest
private IterateAndReturnValueNode = com.oracle.truffle.api.test.LoopNodeTest$IterateAndReturnValueNode of com.oracle.truffle.api.test.LoopNodeTest
private IterateNode = com.oracle.truffle.api.test.LoopNodeTest$IterateNode of com.oracle.truffle.api.test.LoopNodeTest
private TestWhileNode = com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode of com.oracle.truffle.api.test.LoopNodeTest
private TestWhileWithValueNode = com.oracle.truffle.api.test.LoopNodeTest$TestWhileWithValueNode of com.oracle.truffle.api.test.LoopNodeTest