public class com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$BenchmarkState
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$BenchmarkState
super_class: java.lang.Object
{
final com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$AbstractRootNode[] rootNodes;
descriptor: [Lcom/oracle/truffle/api/benchmark/InterpreterCallBenchmark$AbstractRootNode;
flags: (0x0010) ACC_FINAL
final com.oracle.truffle.api.CallTarget[] callTargets;
descriptor: [Lcom/oracle/truffle/api/CallTarget;
flags: (0x0010) ACC_FINAL
final com.oracle.truffle.api.nodes.DirectCallNode[] directCallNodes;
descriptor: [Lcom/oracle/truffle/api/nodes/DirectCallNode;
flags: (0x0010) ACC_FINAL
final com.oracle.truffle.api.nodes.IndirectCallNode indirectCall;
descriptor: Lcom/oracle/truffle/api/nodes/IndirectCallNode;
flags: (0x0010) ACC_FINAL
final java.lang.Object[] singleArg;
descriptor: [Ljava/lang/Object;
flags: (0x0010) ACC_FINAL
final com.oracle.truffle.api.frame.VirtualFrame frame;
descriptor: Lcom/oracle/truffle/api/frame/VirtualFrame;
flags: (0x0010) ACC_FINAL
final org.graalvm.polyglot.Context context;
descriptor: Lorg/graalvm/polyglot/Context;
flags: (0x0010) ACC_FINAL
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=1
start local 0 // com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$BenchmarkState this
0: .line 74
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 79
aload 0 /* this */
iconst_1
anewarray java.lang.Object
dup
iconst_0
bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
putfield com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$BenchmarkState.singleArg:[Ljava/lang/Object;
2: .line 83
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
instanceof com.oracle.truffle.api.impl.DefaultTruffleRuntime
ifeq 5
3: .line 84
aload 0 /* this */
iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
putfield com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$BenchmarkState.context:Lorg/graalvm/polyglot/Context;
4: .line 85
goto 6
5: .line 86
StackMap locals: com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$BenchmarkState
StackMap stack:
aload 0 /* this */
iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
iconst_1
invokevirtual org.graalvm.polyglot.Context$Builder.allowExperimentalOptions:(Z)Lorg/graalvm/polyglot/Context$Builder;
ldc "engine.Compilation"
ldc "false"
invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
putfield com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$BenchmarkState.context:Lorg/graalvm/polyglot/Context;
6: .line 88
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$BenchmarkState.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.enter:()V
7: .line 89
aload 0 /* this */
getstatic com.oracle.truffle.api.benchmark.InterpreterCallBenchmark.ROOT_CLASSES:[Ljava/lang/Class;
arraylength
anewarray com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$AbstractRootNode
putfield com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$BenchmarkState.rootNodes:[Lcom/oracle/truffle/api/benchmark/InterpreterCallBenchmark$AbstractRootNode;
8: .line 90
aload 0 /* this */
getstatic com.oracle.truffle.api.benchmark.InterpreterCallBenchmark.ROOT_CLASSES:[Ljava/lang/Class;
arraylength
anewarray com.oracle.truffle.api.CallTarget
putfield com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$BenchmarkState.callTargets:[Lcom/oracle/truffle/api/CallTarget;
9: .line 91
aload 0 /* this */
getstatic com.oracle.truffle.api.benchmark.InterpreterCallBenchmark.ROOT_CLASSES:[Ljava/lang/Class;
arraylength
anewarray com.oracle.truffle.api.nodes.DirectCallNode
putfield com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$BenchmarkState.directCallNodes:[Lcom/oracle/truffle/api/nodes/DirectCallNode;
10: .line 93
iconst_0
istore 1 /* i */
start local 1 // int i
11: goto 20
12: .line 94
StackMap locals: int
StackMap stack:
getstatic com.oracle.truffle.api.benchmark.InterpreterCallBenchmark.ROOT_CLASSES:[Ljava/lang/Class;
iload 1 /* i */
aaload
astore 2 /* rootClass */
start local 2 // java.lang.Class rootClass
13: .line 96
aload 0 /* this */
getfield com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$BenchmarkState.rootNodes:[Lcom/oracle/truffle/api/benchmark/InterpreterCallBenchmark$AbstractRootNode;
iload 1 /* i */
aload 2 /* rootClass */
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$AbstractRootNode
aastore
14: .line 97
goto 17
StackMap locals: com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$BenchmarkState int java.lang.Class
StackMap stack: java.lang.Exception
15: astore 3 /* e */
start local 3 // java.lang.Exception e
16: .line 98
new java.lang.AssertionError
dup
aload 3 /* e */
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 3 // java.lang.Exception e
17: .line 100
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$BenchmarkState.callTargets:[Lcom/oracle/truffle/api/CallTarget;
iload 1 /* i */
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
aload 0 /* this */
getfield com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$BenchmarkState.rootNodes:[Lcom/oracle/truffle/api/benchmark/InterpreterCallBenchmark$AbstractRootNode;
iload 1 /* i */
aaload
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
aastore
18: .line 101
aload 0 /* this */
getfield com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$BenchmarkState.directCallNodes:[Lcom/oracle/truffle/api/nodes/DirectCallNode;
iload 1 /* i */
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
aload 0 /* this */
getfield com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$BenchmarkState.callTargets:[Lcom/oracle/truffle/api/CallTarget;
iload 1 /* i */
aaload
invokeinterface com.oracle.truffle.api.TruffleRuntime.createDirectCallNode:(Lcom/oracle/truffle/api/CallTarget;)Lcom/oracle/truffle/api/nodes/DirectCallNode;
aastore
end local 2 // java.lang.Class rootClass
19: .line 93
iinc 1 /* i */ 1
StackMap locals:
StackMap stack:
20: iload 1 /* i */
getstatic com.oracle.truffle.api.benchmark.InterpreterCallBenchmark.ROOT_CLASSES:[Ljava/lang/Class;
arraylength
if_icmplt 12
end local 1 // int i
21: .line 104
aload 0 /* this */
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
aload 0 /* this */
getfield com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$BenchmarkState.singleArg:[Ljava/lang/Object;
aload 0 /* this */
getfield com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$BenchmarkState.rootNodes:[Lcom/oracle/truffle/api/benchmark/InterpreterCallBenchmark$AbstractRootNode;
iconst_0
aaload
invokevirtual com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$AbstractRootNode.getFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
invokeinterface com.oracle.truffle.api.TruffleRuntime.createVirtualFrame:([Ljava/lang/Object;Lcom/oracle/truffle/api/frame/FrameDescriptor;)Lcom/oracle/truffle/api/frame/VirtualFrame;
putfield com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$BenchmarkState.frame:Lcom/oracle/truffle/api/frame/VirtualFrame;
22: .line 105
aload 0 /* this */
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
invokeinterface com.oracle.truffle.api.TruffleRuntime.createIndirectCallNode:()Lcom/oracle/truffle/api/nodes/IndirectCallNode;
putfield com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$BenchmarkState.indirectCall:Lcom/oracle/truffle/api/nodes/IndirectCallNode;
23: .line 74
return
end local 0 // com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$BenchmarkState this
LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/oracle/truffle/api/benchmark/InterpreterCallBenchmark$BenchmarkState;
11 21 1 i I
13 19 2 rootClass Ljava/lang/Class<*>;
16 17 3 e Ljava/lang/Exception;
Exception table:
from to target type
13 14 15 Class java.lang.InstantiationException
13 14 15 Class java.lang.IllegalAccessException
13 14 15 Class java.lang.IllegalArgumentException
13 14 15 Class java.lang.reflect.InvocationTargetException
13 14 15 Class java.lang.NoSuchMethodException
13 14 15 Class java.lang.SecurityException
public void tearDown();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$BenchmarkState this
0: .line 110
aload 0 /* this */
getfield com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$BenchmarkState.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.leave:()V
1: .line 111
aload 0 /* this */
getfield com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$BenchmarkState.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.close:()V
2: .line 112
return
end local 0 // com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$BenchmarkState this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/benchmark/InterpreterCallBenchmark$BenchmarkState;
RuntimeVisibleAnnotations:
org.openjdk.jmh.annotations.TearDown()
}
SourceFile: "InterpreterCallBenchmark.java"
NestHost: com.oracle.truffle.api.benchmark.InterpreterCallBenchmark
InnerClasses:
public abstract AbstractRootNode = com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$AbstractRootNode of com.oracle.truffle.api.benchmark.InterpreterCallBenchmark
public BenchmarkState = com.oracle.truffle.api.benchmark.InterpreterCallBenchmark$BenchmarkState of com.oracle.truffle.api.benchmark.InterpreterCallBenchmark
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context
RuntimeVisibleAnnotations:
org.openjdk.jmh.annotations.State(value = org.openjdk.jmh.annotations.Scope.Thread:Lorg/openjdk/jmh/annotations/Scope;)