class org.graalvm.compiler.truffle.test.MultiTierCompilationTest$MultiTierWithFrequentCalleeRootNode 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.MultiTierCompilationTest$MultiTierWithFrequentCalleeRootNode
super_class: com.oracle.truffle.api.nodes.RootNode
{
private com.oracle.truffle.api.nodes.DirectCallNode callNode;
descriptor: Lcom/oracle/truffle/api/nodes/DirectCallNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private int frequency;
descriptor: I
flags: (0x0002) ACC_PRIVATE
void <init>(com.oracle.truffle.api.CallTarget, int);
descriptor: (Lcom/oracle/truffle/api/CallTarget;I)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 // org.graalvm.compiler.truffle.test.MultiTierCompilationTest$MultiTierWithFrequentCalleeRootNode this
start local 1 // com.oracle.truffle.api.CallTarget target
start local 2 // int frequency
0: .line 92
aload 0 /* this */
aconst_null
invokespecial com.oracle.truffle.api.nodes.RootNode.<init>:(Lcom/oracle/truffle/api/TruffleLanguage;)V
1: .line 93
aload 0 /* this */
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
aload 1 /* target */
invokeinterface com.oracle.truffle.api.TruffleRuntime.createDirectCallNode:(Lcom/oracle/truffle/api/CallTarget;)Lcom/oracle/truffle/api/nodes/DirectCallNode;
putfield org.graalvm.compiler.truffle.test.MultiTierCompilationTest$MultiTierWithFrequentCalleeRootNode.callNode:Lcom/oracle/truffle/api/nodes/DirectCallNode;
2: .line 94
aload 0 /* this */
iload 2 /* frequency */
putfield org.graalvm.compiler.truffle.test.MultiTierCompilationTest$MultiTierWithFrequentCalleeRootNode.frequency:I
3: .line 95
return
end local 2 // int frequency
end local 1 // com.oracle.truffle.api.CallTarget target
end local 0 // org.graalvm.compiler.truffle.test.MultiTierCompilationTest$MultiTierWithFrequentCalleeRootNode this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/truffle/test/MultiTierCompilationTest$MultiTierWithFrequentCalleeRootNode;
0 4 1 target Lcom/oracle/truffle/api/CallTarget;
0 4 2 frequency I
MethodParameters:
Name Flags
target
frequency
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=3, args_size=2
start local 0 // org.graalvm.compiler.truffle.test.MultiTierCompilationTest$MultiTierWithFrequentCalleeRootNode this
start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
0: .line 99
invokestatic com.oracle.truffle.api.CompilerDirectives.inInterpreter:()Z
ifeq 2
1: .line 100
ldc "root:interpreter"
areturn
2: .line 102
StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.truffle.test.MultiTierCompilationTest.boundary:()V
3: .line 103
iconst_0
istore 2 /* i */
start local 2 // int i
4: goto 7
5: .line 104
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield org.graalvm.compiler.truffle.test.MultiTierCompilationTest$MultiTierWithFrequentCalleeRootNode.callNode:Lcom/oracle/truffle/api/nodes/DirectCallNode;
aload 1 /* frame */
invokeinterface com.oracle.truffle.api.frame.VirtualFrame.getArguments:()[Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.nodes.DirectCallNode.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
6: .line 103
iinc 2 /* i */ 1
StackMap locals:
StackMap stack:
7: iload 2 /* i */
aload 0 /* this */
getfield org.graalvm.compiler.truffle.test.MultiTierCompilationTest$MultiTierWithFrequentCalleeRootNode.frequency:I
if_icmplt 5
end local 2 // int i
8: .line 106
aload 0 /* this */
getfield org.graalvm.compiler.truffle.test.MultiTierCompilationTest$MultiTierWithFrequentCalleeRootNode.callNode:Lcom/oracle/truffle/api/nodes/DirectCallNode;
aload 1 /* frame */
invokeinterface com.oracle.truffle.api.frame.VirtualFrame.getArguments:()[Ljava/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 // org.graalvm.compiler.truffle.test.MultiTierCompilationTest$MultiTierWithFrequentCalleeRootNode this
LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/graalvm/compiler/truffle/test/MultiTierCompilationTest$MultiTierWithFrequentCalleeRootNode;
0 9 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
4 8 2 i I
MethodParameters:
Name Flags
frame
}
SourceFile: "MultiTierCompilationTest.java"
NestHost: org.graalvm.compiler.truffle.test.MultiTierCompilationTest
InnerClasses:
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
private MultiTierWithFrequentCalleeRootNode = org.graalvm.compiler.truffle.test.MultiTierCompilationTest$MultiTierWithFrequentCalleeRootNode of org.graalvm.compiler.truffle.test.MultiTierCompilationTest