public class com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark extends com.oracle.truffle.api.benchmark.TruffleBenchmark
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark
super_class: com.oracle.truffle.api.benchmark.TruffleBenchmark
{
private static final int NODES;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10000
private static com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$TestRootNode root;
descriptor: Lcom/oracle/truffle/api/benchmark/DSLInterpreterBenchmark$TestRootNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$TestRootNode
dup
invokespecial com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$TestRootNode.<init>:()V
putstatic com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark.root:Lcom/oracle/truffle/api/benchmark/DSLInterpreterBenchmark$TestRootNode;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.truffle.api.benchmark.TruffleBenchmark.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/benchmark/DSLInterpreterBenchmark;
private static <T extends com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$AbstractNode> T createNode(java.util.function.Supplier<T>);
descriptor: (Ljava/util/function/Supplier;)Lcom/oracle/truffle/api/benchmark/DSLInterpreterBenchmark$AbstractNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$AbstractNode
astore 1
start local 1 1: getstatic com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark.root:Lcom/oracle/truffle/api/benchmark/DSLInterpreterBenchmark$TestRootNode;
aload 1
putfield com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$TestRootNode.child:Lcom/oracle/truffle/api/nodes/Node;
2: getstatic com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark.root:Lcom/oracle/truffle/api/benchmark/DSLInterpreterBenchmark$TestRootNode;
invokevirtual com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$TestRootNode.adoptChildren:()V
3: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 nodeFactory Ljava/util/function/Supplier<TT;>;
1 4 1 node TT;
Signature: <T:Lcom/oracle/truffle/api/benchmark/DSLInterpreterBenchmark$AbstractNode;>(Ljava/util/function/Supplier<TT;>;)TT;
MethodParameters:
Name Flags
nodeFactory
public void setupInterpreterProfile();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tSimpleDSLNodeGen cannot be resolved\n\tSimpleDSLNodeGen cannot be resolved\n\tCachedDSLNodeGen cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/benchmark/DSLInterpreterBenchmark;
RuntimeVisibleAnnotations:
org.openjdk.jmh.annotations.Setup()
public int simpleFirstIteration(com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$SimpleFirstIterationState);
descriptor: (Lcom/oracle/truffle/api/benchmark/DSLInterpreterBenchmark$SimpleFirstIterationState;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 6
4: StackMap locals: java.lang.Integer int int
StackMap stack:
iload 3
aload 1
getfield com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$SimpleFirstIterationState.nodes:[Lcom/oracle/truffle/api/benchmark/DSLInterpreterBenchmark$SimpleDSLNode;
iload 4
aaload
aload 2
invokevirtual com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$SimpleDSLNode.execute:(Ljava/lang/Object;)I
iadd
istore 3
5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
sipush 10000
if_icmplt 4
end local 4 7: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/benchmark/DSLInterpreterBenchmark;
0 8 1 state Lcom/oracle/truffle/api/benchmark/DSLInterpreterBenchmark$SimpleFirstIterationState;
1 8 2 v Ljava/lang/Integer;
2 8 3 sum I
3 7 4 i I
RuntimeVisibleAnnotations:
org.openjdk.jmh.annotations.Benchmark()
org.openjdk.jmh.annotations.OperationsPerInvocation(value = 10000)
MethodParameters:
Name Flags
state
public int simpleSecondIteration(com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$SimpleSecondIterationState);
descriptor: (Lcom/oracle/truffle/api/benchmark/DSLInterpreterBenchmark$SimpleSecondIterationState;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 6
4: StackMap locals: java.lang.Integer int int
StackMap stack:
iload 3
aload 1
getfield com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$SimpleSecondIterationState.nodes:[Lcom/oracle/truffle/api/benchmark/DSLInterpreterBenchmark$SimpleDSLNode;
iload 4
aaload
aload 2
invokevirtual com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$SimpleDSLNode.execute:(Ljava/lang/Object;)I
iadd
istore 3
5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
sipush 10000
if_icmplt 4
end local 4 7: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/benchmark/DSLInterpreterBenchmark;
0 8 1 state Lcom/oracle/truffle/api/benchmark/DSLInterpreterBenchmark$SimpleSecondIterationState;
1 8 2 v Ljava/lang/Integer;
2 8 3 sum I
3 7 4 i I
RuntimeVisibleAnnotations:
org.openjdk.jmh.annotations.Benchmark()
org.openjdk.jmh.annotations.OperationsPerInvocation(value = 10000)
MethodParameters:
Name Flags
state
public int cachedFirstIteration(com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$CachedFirstIterationState);
descriptor: (Lcom/oracle/truffle/api/benchmark/DSLInterpreterBenchmark$CachedFirstIterationState;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 6
4: StackMap locals: java.lang.Integer int int
StackMap stack:
iload 3
aload 1
getfield com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$CachedFirstIterationState.nodes:[Lcom/oracle/truffle/api/benchmark/DSLInterpreterBenchmark$CachedDSLNode;
iload 4
aaload
aload 2
invokevirtual com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$CachedDSLNode.execute:(Ljava/lang/Object;)I
iadd
istore 3
5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
sipush 10000
if_icmplt 4
end local 4 7: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/benchmark/DSLInterpreterBenchmark;
0 8 1 state Lcom/oracle/truffle/api/benchmark/DSLInterpreterBenchmark$CachedFirstIterationState;
1 8 2 v Ljava/lang/Integer;
2 8 3 sum I
3 7 4 i I
RuntimeVisibleAnnotations:
org.openjdk.jmh.annotations.Benchmark()
org.openjdk.jmh.annotations.OperationsPerInvocation(value = 10000)
MethodParameters:
Name Flags
state
public int cachedSecondIteration(com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$CachedSecondIterationState);
descriptor: (Lcom/oracle/truffle/api/benchmark/DSLInterpreterBenchmark$CachedSecondIterationState;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 6
4: StackMap locals: java.lang.Integer int int
StackMap stack:
iload 3
aload 1
getfield com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$CachedSecondIterationState.nodes:[Lcom/oracle/truffle/api/benchmark/DSLInterpreterBenchmark$CachedDSLNode;
iload 4
aaload
aload 2
invokevirtual com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$CachedDSLNode.execute:(Ljava/lang/Object;)I
iadd
istore 3
5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
sipush 10000
if_icmplt 4
end local 4 7: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/benchmark/DSLInterpreterBenchmark;
0 8 1 state Lcom/oracle/truffle/api/benchmark/DSLInterpreterBenchmark$CachedSecondIterationState;
1 8 2 v Ljava/lang/Integer;
2 8 3 sum I
3 7 4 i I
RuntimeVisibleAnnotations:
org.openjdk.jmh.annotations.Benchmark()
org.openjdk.jmh.annotations.OperationsPerInvocation(value = 10000)
MethodParameters:
Name Flags
state
}
SourceFile: "DSLInterpreterBenchmark.java"
NestMembers:
com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$AbstractNode com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$CachedDSLNode com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$CachedFirstIterationState com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$CachedSecondIterationState com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$SimpleDSLNode com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$SimpleFirstIterationState com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$SimpleSecondIterationState com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$TestRootNode
InnerClasses:
abstract AbstractNode = com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$AbstractNode of com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark
abstract CachedDSLNode = com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$CachedDSLNode of com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark
public CachedFirstIterationState = com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$CachedFirstIterationState of com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark
public CachedSecondIterationState = com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$CachedSecondIterationState of com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark
abstract SimpleDSLNode = com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$SimpleDSLNode of com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark
public SimpleFirstIterationState = com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$SimpleFirstIterationState of com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark
public SimpleSecondIterationState = com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$SimpleSecondIterationState of com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark
final TestRootNode = com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark$TestRootNode of com.oracle.truffle.api.benchmark.DSLInterpreterBenchmark
RuntimeVisibleAnnotations:
org.openjdk.jmh.annotations.State(value = org.openjdk.jmh.annotations.Scope.Thread:Lorg/openjdk/jmh/annotations/Scope;)
org.openjdk.jmh.annotations.Fork(value = 1)