class com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode extends com.oracle.truffle.api.test.LoopNodeTest$GuestLanguageNode
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode
super_class: com.oracle.truffle.api.test.LoopNodeTest$GuestLanguageNode
{
private com.oracle.truffle.api.nodes.LoopNode loop;
descriptor: Lcom/oracle/truffle/api/nodes/LoopNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
int breaks;
descriptor: I
flags: (0x0000)
int continues;
descriptor: I
flags: (0x0000)
void <init>(com.oracle.truffle.api.test.LoopNodeTest$GuestLanguageNode, com.oracle.truffle.api.test.LoopNodeTest$GuestLanguageNode);
descriptor: (Lcom/oracle/truffle/api/test/LoopNodeTest$GuestLanguageNode;Lcom/oracle/truffle/api/test/LoopNodeTest$GuestLanguageNode;)V
flags: (0x0000)
Code:
stack=7, locals=3, args_size=3
start local 0 // com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode this
start local 1 // com.oracle.truffle.api.test.LoopNodeTest$GuestLanguageNode conditionNode
start local 2 // com.oracle.truffle.api.test.LoopNodeTest$GuestLanguageNode bodyNode
0: .line 240
aload 0 /* this */
invokespecial com.oracle.truffle.api.test.LoopNodeTest$GuestLanguageNode.<init>:()V
1: .line 241
aload 0 /* this */
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
new com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode$WhileRepeatingNode
dup
aload 0 /* this */
aload 1 /* conditionNode */
aload 2 /* bodyNode */
invokespecial com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode$WhileRepeatingNode.<init>:(Lcom/oracle/truffle/api/test/LoopNodeTest$TestWhileNode;Lcom/oracle/truffle/api/test/LoopNodeTest$GuestLanguageNode;Lcom/oracle/truffle/api/test/LoopNodeTest$GuestLanguageNode;)V
invokeinterface com.oracle.truffle.api.TruffleRuntime.createLoopNode:(Lcom/oracle/truffle/api/nodes/RepeatingNode;)Lcom/oracle/truffle/api/nodes/LoopNode;
putfield com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode.loop:Lcom/oracle/truffle/api/nodes/LoopNode;
2: .line 242
return
end local 2 // com.oracle.truffle.api.test.LoopNodeTest$GuestLanguageNode bodyNode
end local 1 // com.oracle.truffle.api.test.LoopNodeTest$GuestLanguageNode conditionNode
end local 0 // com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/test/LoopNodeTest$TestWhileNode;
0 3 1 conditionNode Lcom/oracle/truffle/api/test/LoopNodeTest$GuestLanguageNode;
0 3 2 bodyNode Lcom/oracle/truffle/api/test/LoopNodeTest$GuestLanguageNode;
MethodParameters:
Name Flags
conditionNode
bodyNode
public java.lang.Object execute(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode this
start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
0: .line 246
aload 0 /* this */
getfield com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode.loop:Lcom/oracle/truffle/api/nodes/LoopNode;
aload 1 /* frame */
invokevirtual com.oracle.truffle.api.nodes.LoopNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
pop
1: .line 247
aconst_null
areturn
end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
end local 0 // com.oracle.truffle.api.test.LoopNodeTest$TestWhileNode this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/test/LoopNodeTest$TestWhileNode;
0 2 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
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 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