class com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode$WhileRepeatingNode extends com.oracle.truffle.api.nodes.Node implements com.oracle.truffle.api.nodes.RepeatingNode
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode$WhileRepeatingNode
super_class: com.oracle.truffle.api.nodes.Node
{
private com.oracle.truffle.api.test.LoopNodeTest$GuestLanguageNode conditionNode;
descriptor: Lcom/oracle/truffle/api/test/LoopNodeTest$GuestLanguageNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private com.oracle.truffle.api.test.LoopNodeTest$GuestLanguageNode bodyNode;
descriptor: Lcom/oracle/truffle/api/test/LoopNodeTest$GuestLanguageNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
final com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode this$1;
descriptor: Lcom/oracle/truffle/api/test/LoopNodeTest$TestWhileNode;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode, com.oracle.truffle.api.test.LoopNodeTest$GuestLanguageNode, com.oracle.truffle.api.test.LoopNodeTest$GuestLanguageNode);
descriptor: (Lcom/oracle/truffle/api/test/LoopNodeTest$TestWhileNode;Lcom/oracle/truffle/api/test/LoopNodeTest$GuestLanguageNode;Lcom/oracle/truffle/api/test/LoopNodeTest$GuestLanguageNode;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 // com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode$WhileRepeatingNode this
start local 2 // com.oracle.truffle.api.test.LoopNodeTest$GuestLanguageNode conditionNode
start local 3 // com.oracle.truffle.api.test.LoopNodeTest$GuestLanguageNode bodyNode
0: .line 255
aload 0 /* this */
aload 1
putfield com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode$WhileRepeatingNode.this$1:Lcom/oracle/truffle/api/test/LoopNodeTest$TestWhileNode;
aload 0 /* this */
invokespecial com.oracle.truffle.api.nodes.Node.<init>:()V
1: .line 256
aload 0 /* this */
aload 2 /* conditionNode */
putfield com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode$WhileRepeatingNode.conditionNode:Lcom/oracle/truffle/api/test/LoopNodeTest$GuestLanguageNode;
2: .line 257
aload 0 /* this */
aload 3 /* bodyNode */
putfield com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode$WhileRepeatingNode.bodyNode:Lcom/oracle/truffle/api/test/LoopNodeTest$GuestLanguageNode;
3: .line 258
return
end local 3 // com.oracle.truffle.api.test.LoopNodeTest$GuestLanguageNode bodyNode
end local 2 // com.oracle.truffle.api.test.LoopNodeTest$GuestLanguageNode conditionNode
end local 0 // com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode$WhileRepeatingNode this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/test/LoopNodeTest$TestWhileNode$WhileRepeatingNode;
0 4 2 conditionNode Lcom/oracle/truffle/api/test/LoopNodeTest$GuestLanguageNode;
0 4 3 bodyNode Lcom/oracle/truffle/api/test/LoopNodeTest$GuestLanguageNode;
MethodParameters:
Name Flags
this$0 final
conditionNode
bodyNode
public boolean executeRepeating(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode$WhileRepeatingNode this
start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
0: .line 261
aload 0 /* this */
getfield com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode$WhileRepeatingNode.conditionNode:Lcom/oracle/truffle/api/test/LoopNodeTest$GuestLanguageNode;
aload 1 /* frame */
invokevirtual com.oracle.truffle.api.test.LoopNodeTest$GuestLanguageNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 9
1: .line 263
aload 0 /* this */
getfield com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode$WhileRepeatingNode.bodyNode:Lcom/oracle/truffle/api/test/LoopNodeTest$GuestLanguageNode;
aload 1 /* frame */
invokevirtual com.oracle.truffle.api.test.LoopNodeTest$GuestLanguageNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
pop
2: .line 264
goto 8
StackMap locals:
StackMap stack: com.oracle.truffle.api.test.LoopNodeTest$ContinueException
3: pop
4: .line 265
aload 0 /* this */
getfield com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode$WhileRepeatingNode.this$1:Lcom/oracle/truffle/api/test/LoopNodeTest$TestWhileNode;
dup
getfield com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode.continues:I
iconst_1
iadd
putfield com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode.continues:I
goto 8
5: .line 268
StackMap locals:
StackMap stack: com.oracle.truffle.api.test.LoopNodeTest$BreakException
pop
6: .line 269
aload 0 /* this */
getfield com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode$WhileRepeatingNode.this$1:Lcom/oracle/truffle/api/test/LoopNodeTest$TestWhileNode;
dup
getfield com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode.breaks:I
iconst_1
iadd
putfield com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode.breaks:I
7: .line 272
iconst_0
ireturn
8: .line 274
StackMap locals:
StackMap stack:
iconst_1
ireturn
9: .line 276
StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
end local 0 // com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode$WhileRepeatingNode this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/api/test/LoopNodeTest$TestWhileNode$WhileRepeatingNode;
0 10 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
Exception table:
from to target type
1 2 3 Class com.oracle.truffle.api.test.LoopNodeTest$ContinueException
1 2 5 Class com.oracle.truffle.api.test.LoopNodeTest$BreakException
MethodParameters:
Name Flags
frame
}
SourceFile: "LoopNodeTest.java"
NestHost: com.oracle.truffle.api.test.LoopNodeTest
InnerClasses:
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
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 TestWhileNode = com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode of com.oracle.truffle.api.test.LoopNodeTest
private WhileRepeatingNode = com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode$WhileRepeatingNode of com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode