class com.oracle.truffle.api.test.CallTest$DualCallNode extends com.oracle.truffle.api.nodes.RootNode
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.api.test.CallTest$DualCallNode
super_class: com.oracle.truffle.api.nodes.RootNode
{
private final com.oracle.truffle.api.CallTarget firstTarget;
descriptor: Lcom/oracle/truffle/api/CallTarget;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.api.CallTarget secondTarget;
descriptor: Lcom/oracle/truffle/api/CallTarget;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final com.oracle.truffle.api.test.CallTest this$0;
descriptor: Lcom/oracle/truffle/api/test/CallTest;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.oracle.truffle.api.test.CallTest, com.oracle.truffle.api.CallTarget, com.oracle.truffle.api.CallTarget);
descriptor: (Lcom/oracle/truffle/api/test/CallTest;Lcom/oracle/truffle/api/CallTarget;Lcom/oracle/truffle/api/CallTarget;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 // com.oracle.truffle.api.test.CallTest$DualCallNode this
start local 2 // com.oracle.truffle.api.CallTarget firstTarget
start local 3 // com.oracle.truffle.api.CallTarget secondTarget
0: .line 83
aload 0 /* this */
aload 1
putfield com.oracle.truffle.api.test.CallTest$DualCallNode.this$0:Lcom/oracle/truffle/api/test/CallTest;
1: .line 84
aload 0 /* this */
aconst_null
invokespecial com.oracle.truffle.api.nodes.RootNode.<init>:(Lcom/oracle/truffle/api/TruffleLanguage;)V
2: .line 85
aload 0 /* this */
aload 2 /* firstTarget */
putfield com.oracle.truffle.api.test.CallTest$DualCallNode.firstTarget:Lcom/oracle/truffle/api/CallTarget;
3: .line 86
aload 0 /* this */
aload 3 /* secondTarget */
putfield com.oracle.truffle.api.test.CallTest$DualCallNode.secondTarget:Lcom/oracle/truffle/api/CallTarget;
4: .line 87
return
end local 3 // com.oracle.truffle.api.CallTarget secondTarget
end local 2 // com.oracle.truffle.api.CallTarget firstTarget
end local 0 // com.oracle.truffle.api.test.CallTest$DualCallNode this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/test/CallTest$DualCallNode;
0 5 2 firstTarget Lcom/oracle/truffle/api/CallTarget;
0 5 3 secondTarget Lcom/oracle/truffle/api/CallTarget;
MethodParameters:
Name Flags
this$0 final
firstTarget
secondTarget
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=3, locals=2, args_size=2
start local 0 // com.oracle.truffle.api.test.CallTest$DualCallNode this
start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
0: .line 91
aload 0 /* this */
getfield com.oracle.truffle.api.test.CallTest$DualCallNode.firstTarget:Lcom/oracle/truffle/api/CallTarget;
iconst_0
anewarray java.lang.Object
invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
aload 0 /* this */
getfield com.oracle.truffle.api.test.CallTest$DualCallNode.secondTarget:Lcom/oracle/truffle/api/CallTarget;
iconst_0
anewarray java.lang.Object
invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
end local 0 // com.oracle.truffle.api.test.CallTest$DualCallNode this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/test/CallTest$DualCallNode;
0 1 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
MethodParameters:
Name Flags
frame
}
SourceFile: "CallTest.java"
NestHost: com.oracle.truffle.api.test.CallTest
InnerClasses:
DualCallNode = com.oracle.truffle.api.test.CallTest$DualCallNode of com.oracle.truffle.api.test.CallTest