class org.graalvm.compiler.truffle.test.IndirectCallSiteTest$3 extends com.oracle.truffle.api.nodes.RootNode
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.graalvm.compiler.truffle.test.IndirectCallSiteTest$3
super_class: com.oracle.truffle.api.nodes.RootNode
{
org.graalvm.compiler.truffle.runtime.OptimizedIndirectCallNode indirectCallNode;
descriptor: Lorg/graalvm/compiler/truffle/runtime/OptimizedIndirectCallNode;
flags: (0x0000)
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
final org.graalvm.compiler.truffle.test.IndirectCallSiteTest this$0;
descriptor: Lorg/graalvm/compiler/truffle/test/IndirectCallSiteTest;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final org.graalvm.compiler.truffle.runtime.OptimizedCallTarget val$innerTarget;
descriptor: Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final java.lang.Object[] val$noArguments;
descriptor: [Ljava/lang/Object;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final org.graalvm.compiler.truffle.runtime.OptimizedCallTarget val$uninitializedInnerTarget;
descriptor: Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(org.graalvm.compiler.truffle.test.IndirectCallSiteTest, com.oracle.truffle.api.TruffleLanguage, org.graalvm.compiler.truffle.runtime.OptimizedCallTarget, java.lang.Object[], org.graalvm.compiler.truffle.runtime.OptimizedCallTarget);
descriptor: (Lorg/graalvm/compiler/truffle/test/IndirectCallSiteTest;Lcom/oracle/truffle/api/TruffleLanguage;Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;[Ljava/lang/Object;Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;)V
flags: (0x0000)
Code:
stack=2, locals=6, args_size=6
start local 0 start local 2 0: aload 0
aload 1
putfield org.graalvm.compiler.truffle.test.IndirectCallSiteTest$3.this$0:Lorg/graalvm/compiler/truffle/test/IndirectCallSiteTest;
aload 0
aload 3
putfield org.graalvm.compiler.truffle.test.IndirectCallSiteTest$3.val$innerTarget:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
aload 0
aload 4
putfield org.graalvm.compiler.truffle.test.IndirectCallSiteTest$3.val$noArguments:[Ljava/lang/Object;
aload 0
aload 5
putfield org.graalvm.compiler.truffle.test.IndirectCallSiteTest$3.val$uninitializedInnerTarget:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
aload 0
aload 2
invokespecial com.oracle.truffle.api.nodes.RootNode.<init>:(Lcom/oracle/truffle/api/TruffleLanguage;)V
1: aload 0
getstatic org.graalvm.compiler.truffle.test.IndirectCallSiteTest.runtime:Lorg/graalvm/compiler/truffle/runtime/GraalTruffleRuntime;
invokevirtual org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.createIndirectCallNode:()Lcom/oracle/truffle/api/nodes/IndirectCallNode;
checkcast org.graalvm.compiler.truffle.runtime.OptimizedIndirectCallNode
putfield org.graalvm.compiler.truffle.test.IndirectCallSiteTest$3.indirectCallNode:Lorg/graalvm/compiler/truffle/runtime/OptimizedIndirectCallNode;
2: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/truffle/test/IndirectCallSiteTest$3;
0 3 2 $anonymous0 Lcom/oracle/truffle/api/TruffleLanguage<*>;
MethodParameters:
Name Flags
this$0 final
$anonymous0
val$innerTarget final
val$noArguments final
val$uninitializedInnerTarget final
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 start local 1 0: aload 1
invokeinterface com.oracle.truffle.api.frame.VirtualFrame.getArguments:()[Ljava/lang/Object;
arraylength
ifne 2
1: aload 0
getfield org.graalvm.compiler.truffle.test.IndirectCallSiteTest$3.indirectCallNode:Lorg/graalvm/compiler/truffle/runtime/OptimizedIndirectCallNode;
aload 0
getfield org.graalvm.compiler.truffle.test.IndirectCallSiteTest$3.val$innerTarget:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
aload 0
getfield org.graalvm.compiler.truffle.test.IndirectCallSiteTest$3.val$noArguments:[Ljava/lang/Object;
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedIndirectCallNode.call:(Lcom/oracle/truffle/api/CallTarget;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.truffle.test.IndirectCallSiteTest$3.indirectCallNode:Lorg/graalvm/compiler/truffle/runtime/OptimizedIndirectCallNode;
aload 0
getfield org.graalvm.compiler.truffle.test.IndirectCallSiteTest$3.val$uninitializedInnerTarget:Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
aload 0
getfield org.graalvm.compiler.truffle.test.IndirectCallSiteTest$3.val$noArguments:[Ljava/lang/Object;
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedIndirectCallNode.call:(Lcom/oracle/truffle/api/CallTarget;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/truffle/test/IndirectCallSiteTest$3;
0 3 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
MethodParameters:
Name Flags
frame
}
SourceFile: "IndirectCallSiteTest.java"
EnclosingMethod: org.graalvm.compiler.truffle.test.IndirectCallSiteTest.testIndirectCallNodeDoesNotDeopOnFirstCall:()V
NestHost: org.graalvm.compiler.truffle.test.IndirectCallSiteTest
InnerClasses:
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
org.graalvm.compiler.truffle.test.IndirectCallSiteTest$3