class com.oracle.truffle.api.test.StackTraceTest$TestCallWithDirectTargetNode extends com.oracle.truffle.api.test.StackTraceTest$TestCallNode
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.api.test.StackTraceTest$TestCallWithDirectTargetNode
super_class: com.oracle.truffle.api.test.StackTraceTest$TestCallNode
{
com.oracle.truffle.api.nodes.DirectCallNode directCall;
descriptor: Lcom/oracle/truffle/api/nodes/DirectCallNode;
flags: (0x0000)
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
void <init>(com.oracle.truffle.api.CallTarget);
descriptor: (Lcom/oracle/truffle/api/CallTarget;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // com.oracle.truffle.api.test.StackTraceTest$TestCallWithDirectTargetNode this
start local 1 // com.oracle.truffle.api.CallTarget next
0: .line 370
aload 0 /* this */
aload 1 /* next */
invokespecial com.oracle.truffle.api.test.StackTraceTest$TestCallNode.<init>:(Lcom/oracle/truffle/api/CallTarget;)V
1: .line 371
return
end local 1 // com.oracle.truffle.api.CallTarget next
end local 0 // com.oracle.truffle.api.test.StackTraceTest$TestCallWithDirectTargetNode this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/test/StackTraceTest$TestCallWithDirectTargetNode;
0 2 1 next Lcom/oracle/truffle/api/CallTarget;
MethodParameters:
Name Flags
next
java.lang.Object execute(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 // com.oracle.truffle.api.test.StackTraceTest$TestCallWithDirectTargetNode this
start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
0: .line 375
aload 0 /* this */
getfield com.oracle.truffle.api.test.StackTraceTest$TestCallWithDirectTargetNode.directCall:Lcom/oracle/truffle/api/nodes/DirectCallNode;
ifnull 1
aload 0 /* this */
getfield com.oracle.truffle.api.test.StackTraceTest$TestCallWithDirectTargetNode.directCall:Lcom/oracle/truffle/api/nodes/DirectCallNode;
invokevirtual com.oracle.truffle.api.nodes.DirectCallNode.getCallTarget:()Lcom/oracle/truffle/api/CallTarget;
aload 0 /* this */
getfield com.oracle.truffle.api.test.StackTraceTest$TestCallWithDirectTargetNode.next:Lcom/oracle/truffle/api/CallTarget;
if_acmpeq 3
1: .line 376
StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
2: .line 377
aload 0 /* this */
aload 0 /* this */
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
aload 0 /* this */
getfield com.oracle.truffle.api.test.StackTraceTest$TestCallWithDirectTargetNode.next:Lcom/oracle/truffle/api/CallTarget;
invokeinterface com.oracle.truffle.api.TruffleRuntime.createDirectCallNode:(Lcom/oracle/truffle/api/CallTarget;)Lcom/oracle/truffle/api/nodes/DirectCallNode;
invokevirtual com.oracle.truffle.api.test.StackTraceTest$TestCallWithDirectTargetNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
checkcast com.oracle.truffle.api.nodes.DirectCallNode
putfield com.oracle.truffle.api.test.StackTraceTest$TestCallWithDirectTargetNode.directCall:Lcom/oracle/truffle/api/nodes/DirectCallNode;
3: .line 379
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.oracle.truffle.api.test.StackTraceTest$TestCallWithDirectTargetNode.directCall:Lcom/oracle/truffle/api/nodes/DirectCallNode;
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.truffle.api.nodes.DirectCallNode.call:([Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
end local 0 // com.oracle.truffle.api.test.StackTraceTest$TestCallWithDirectTargetNode this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/test/StackTraceTest$TestCallWithDirectTargetNode;
0 4 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
MethodParameters:
Name Flags
frame
public com.oracle.truffle.api.nodes.Node getCallNode();
descriptor: ()Lcom/oracle/truffle/api/nodes/Node;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // com.oracle.truffle.api.test.StackTraceTest$TestCallWithDirectTargetNode this
0: .line 384
aload 0 /* this */
getfield com.oracle.truffle.api.test.StackTraceTest$TestCallWithDirectTargetNode.directCall:Lcom/oracle/truffle/api/nodes/DirectCallNode;
areturn
end local 0 // com.oracle.truffle.api.test.StackTraceTest$TestCallWithDirectTargetNode this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/test/StackTraceTest$TestCallWithDirectTargetNode;
}
SourceFile: "StackTraceTest.java"
NestHost: com.oracle.truffle.api.test.StackTraceTest
InnerClasses:
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
private abstract TestCallNode = com.oracle.truffle.api.test.StackTraceTest$TestCallNode of com.oracle.truffle.api.test.StackTraceTest
private TestCallWithDirectTargetNode = com.oracle.truffle.api.test.StackTraceTest$TestCallWithDirectTargetNode of com.oracle.truffle.api.test.StackTraceTest