public final class org.graalvm.polybench.PolyBenchLauncher extends org.graalvm.launcher.AbstractLanguageLauncher
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.graalvm.polybench.PolyBenchLauncher
super_class: org.graalvm.launcher.AbstractLanguageLauncher
{
private static final org.graalvm.polybench.PolyBenchLauncher$ArgumentParser PARSER;
descriptor: Lorg/graalvm/polybench/PolyBenchLauncher$ArgumentParser;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private org.graalvm.polybench.Config config;
descriptor: Lorg/graalvm/polybench/Config;
flags: (0x0002) ACC_PRIVATE
private static volatile int[] $SWITCH_TABLE$org$graalvm$polybench$Config$Mode;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new org.graalvm.polybench.PolyBenchLauncher$ArgumentParser
dup
invokespecial org.graalvm.polybench.PolyBenchLauncher$ArgumentParser.<init>:()V
putstatic org.graalvm.polybench.PolyBenchLauncher.PARSER:Lorg/graalvm/polybench/PolyBenchLauncher$ArgumentParser;
return
LocalVariableTable:
Start End Slot Name Signature
java.lang.RuntimeException abortLaunch(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/RuntimeException;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.graalvm.polybench.PolyBenchLauncher.abort:(Ljava/lang/String;)Lorg/graalvm/launcher/Launcher$AbortException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/polybench/PolyBenchLauncher;
0 1 1 message Ljava/lang/String;
MethodParameters:
Name Flags
message
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.launcher.AbstractLanguageLauncher.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/polybench/PolyBenchLauncher;
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new org.graalvm.polybench.PolyBenchLauncher
dup
invokespecial org.graalvm.polybench.PolyBenchLauncher.<init>:()V
aload 0
invokevirtual org.graalvm.polybench.PolyBenchLauncher.launch:([Ljava/lang/String;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 args [Ljava/lang/String;
MethodParameters:
Name Flags
args
protected java.util.List<java.lang.String> preprocessArguments(java.util.List<java.lang.String>, java.util.Map<java.lang.String, java.lang.String>);
descriptor: (Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ldc "wasm.Builtins"
ldc "wasi_snapshot_preview1"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
getstatic org.graalvm.polybench.PolyBenchLauncher.PARSER:Lorg/graalvm/polybench/PolyBenchLauncher$ArgumentParser;
aload 1
invokevirtual org.graalvm.polybench.PolyBenchLauncher$ArgumentParser.parse:(Ljava/util/List;)Lorg/graalvm/polybench/Config;
putfield org.graalvm.polybench.PolyBenchLauncher.config:Lorg/graalvm/polybench/Config;
2: goto 5
StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
3: astore 3
start local 3 4: aload 0
aload 3
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
invokevirtual org.graalvm.polybench.PolyBenchLauncher.abort:(Ljava/lang/String;)Lorg/graalvm/launcher/Launcher$AbortException;
athrow
end local 3 5: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.polybench.PolyBenchLauncher.config:Lorg/graalvm/polybench/Config;
getfield org.graalvm.polybench.Config.unrecognizedArguments:Ljava/util/List;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/polybench/PolyBenchLauncher;
0 6 1 arguments Ljava/util/List<Ljava/lang/String;>;
0 6 2 polyglotOptions Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
4 5 3 e Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
1 2 3 Class java.lang.IllegalArgumentException
Signature: (Ljava/util/List<Ljava/lang/String;>;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
arguments
polyglotOptions
protected void validateArguments(java.util.Map<java.lang.String, java.lang.String>);
descriptor: (Ljava/util/Map;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.polybench.PolyBenchLauncher.config:Lorg/graalvm/polybench/Config;
getfield org.graalvm.polybench.Config.path:Ljava/lang/String;
ifnonnull 2
1: aload 0
ldc "Must specify path to the source file with --path."
invokevirtual org.graalvm.polybench.PolyBenchLauncher.abort:(Ljava/lang/String;)Lorg/graalvm/launcher/Launcher$AbortException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.polybench.PolyBenchLauncher.config:Lorg/graalvm/polybench/Config;
getfield org.graalvm.polybench.Config.metric:Lorg/graalvm/polybench/Metric;
aload 0
getfield org.graalvm.polybench.PolyBenchLauncher.config:Lorg/graalvm/polybench/Config;
aload 1
invokeinterface org.graalvm.polybench.Metric.validateConfig:(Lorg/graalvm/polybench/Config;Ljava/util/Map;)V
3: goto 6
StackMap locals:
StackMap stack: java.lang.IllegalStateException
4: astore 2
start local 2 5: aload 0
aload 2
invokevirtual java.lang.IllegalStateException.getMessage:()Ljava/lang/String;
invokevirtual org.graalvm.polybench.PolyBenchLauncher.abort:(Ljava/lang/String;)Lorg/graalvm/launcher/Launcher$AbortException;
athrow
end local 2 6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/polybench/PolyBenchLauncher;
0 7 1 polyglotOptions Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
5 6 2 ise Ljava/lang/IllegalStateException;
Exception table:
from to target type
2 3 4 Class java.lang.IllegalStateException
Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
MethodParameters:
Name Flags
polyglotOptions
protected void launch(org.graalvm.polyglot.Context$Builder);
descriptor: (Lorg/graalvm/polyglot/Context$Builder;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
iconst_1
invokevirtual org.graalvm.polyglot.Context$Builder.allowAllAccess:(Z)Lorg/graalvm/polyglot/Context$Builder;
pop
1: aload 0
aload 1
invokevirtual org.graalvm.polybench.PolyBenchLauncher.runHarness:(Lorg/graalvm/polyglot/Context$Builder;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/polybench/PolyBenchLauncher;
0 3 1 contextBuilder Lorg/graalvm/polyglot/Context$Builder;
MethodParameters:
Name Flags
contextBuilder
protected java.lang.String getLanguageId();
descriptor: ()Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "js"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/polybench/PolyBenchLauncher;
protected java.lang.String[] getDefaultLanguages();
descriptor: ()[Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
anewarray java.lang.String
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/polybench/PolyBenchLauncher;
protected void printHelp(org.graalvm.options.OptionCategory);
descriptor: (Lorg/graalvm/options/OptionCategory;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Usage: polybench [OPTION]... [FILE]"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Run a benchmark in an arbitrary language on the PolyBench harness."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/polybench/PolyBenchLauncher;
0 4 1 maxCategory Lorg/graalvm/options/OptionCategory;
MethodParameters:
Name Flags
maxCategory
private void runHarness(org.graalvm.polyglot.Context$Builder);
descriptor: (Lorg/graalvm/polyglot/Context$Builder;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "::: Starting "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.graalvm.polybench.PolyBenchLauncher.config:Lorg/graalvm/polybench/Config;
getfield org.graalvm.polybench.Config.path:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " :::"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.graalvm.polybench.PolyBenchLauncher.log:(Ljava/lang/String;)V
1: aload 0
getfield org.graalvm.polybench.PolyBenchLauncher.config:Lorg/graalvm/polybench/Config;
invokevirtual org.graalvm.polybench.Config.toString:()Ljava/lang/String;
invokestatic org.graalvm.polybench.PolyBenchLauncher.log:(Ljava/lang/String;)V
2: ldc ""
invokestatic org.graalvm.polybench.PolyBenchLauncher.log:(Ljava/lang/String;)V
3: invokestatic org.graalvm.polybench.PolyBenchLauncher.$SWITCH_TABLE$org$graalvm$polybench$Config$Mode:()[I
aload 0
getfield org.graalvm.polybench.PolyBenchLauncher.config:Lorg/graalvm/polybench/Config;
getfield org.graalvm.polybench.Config.mode:Lorg/graalvm/polybench/Config$Mode;
invokevirtual org.graalvm.polybench.Config$Mode.ordinal:()I
iaload
tableswitch { // 1 - 2
1: 4
2: 6
default: 8
}
4: StackMap locals:
StackMap stack:
aload 1
ldc "engine.Compilation"
ldc "false"
invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
pop
5: goto 9
6: StackMap locals:
StackMap stack:
aload 1
ldc "engine.Compilation"
ldc "true"
invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
pop
7: goto 9
8: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Unknown execution-mode: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.graalvm.polybench.PolyBenchLauncher.config:Lorg/graalvm/polybench/Config;
getfield org.graalvm.polybench.Config.mode:Lorg/graalvm/polybench/Config$Mode;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
9: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.graalvm.polybench.PolyBenchLauncher.config:Lorg/graalvm/polybench/Config;
getfield org.graalvm.polybench.Config.metric:Lorg/graalvm/polybench/Metric;
aload 0
getfield org.graalvm.polybench.PolyBenchLauncher.config:Lorg/graalvm/polybench/Config;
invokeinterface org.graalvm.polybench.Metric.getEngineOptions:(Lorg/graalvm/polybench/Config;)Ljava/util/Map;
invokevirtual org.graalvm.polyglot.Context$Builder.options:(Ljava/util/Map;)Lorg/graalvm/polyglot/Context$Builder;
pop
10: aconst_null
astore 2
aconst_null
astore 3
11: aload 1
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 4
start local 4 12: ldc "::: Initializing :::"
invokestatic org.graalvm.polybench.PolyBenchLauncher.log:(Ljava/lang/String;)V
13: new java.io.File
dup
aload 0
getfield org.graalvm.polybench.PolyBenchLauncher.config:Lorg/graalvm/polybench/Config;
getfield org.graalvm.polybench.Config.path:Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 5
start local 5 14: aload 5
invokestatic org.graalvm.polyglot.Source.findLanguage:(Ljava/io/File;)Ljava/lang/String;
astore 7
start local 7 15: aload 7
ifnonnull 17
16: aload 0
new java.lang.StringBuilder
dup
ldc "Could not determine the language for file "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.graalvm.polybench.PolyBenchLauncher.abort:(Ljava/lang/String;)Lorg/graalvm/launcher/Launcher$AbortException;
athrow
17: StackMap locals: org.graalvm.polybench.PolyBenchLauncher org.graalvm.polyglot.Context$Builder java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context java.io.File top java.lang.String
StackMap stack:
aload 7
aload 5
invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/io/File;)Lorg/graalvm/polyglot/Source$Builder;
invokevirtual org.graalvm.polyglot.Source$Builder.build:()Lorg/graalvm/polyglot/Source;
astore 6
start local 6 18: goto 21
end local 7 end local 6 StackMap locals: org.graalvm.polybench.PolyBenchLauncher org.graalvm.polyglot.Context$Builder java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context java.io.File
StackMap stack: java.io.IOException
19: astore 8
start local 8 20: aload 0
new java.lang.StringBuilder
dup
ldc "Error while examining source file '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "': "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.graalvm.polybench.PolyBenchLauncher.abort:(Ljava/lang/String;)Lorg/graalvm/launcher/Launcher$AbortException;
athrow
end local 8 start local 6 start local 7 21: StackMap locals: org.graalvm.polyglot.Source java.lang.String
StackMap stack:
aload 4
aload 6
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
22: new java.lang.StringBuilder
dup
ldc "language: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual org.graalvm.polyglot.Source.getLanguage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.graalvm.polybench.PolyBenchLauncher.log:(Ljava/lang/String;)V
23: new java.lang.StringBuilder
dup
ldc "type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual org.graalvm.polyglot.Source.hasBytes:()Z
ifeq 24
ldc "binary"
goto 25
StackMap locals:
StackMap stack: java.lang.StringBuilder
24: ldc "source code"
StackMap locals: org.graalvm.polybench.PolyBenchLauncher org.graalvm.polyglot.Context$Builder java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context java.io.File org.graalvm.polyglot.Source java.lang.String
StackMap stack: java.lang.StringBuilder java.lang.String
25: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.graalvm.polybench.PolyBenchLauncher.log:(Ljava/lang/String;)V
26: new java.lang.StringBuilder
dup
ldc "length: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual org.graalvm.polyglot.Source.getLength:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
aload 6
invokevirtual org.graalvm.polyglot.Source.hasBytes:()Z
ifeq 27
ldc " bytes"
goto 28
StackMap locals:
StackMap stack: java.lang.StringBuilder
27: ldc " characters"
StackMap locals: org.graalvm.polybench.PolyBenchLauncher org.graalvm.polyglot.Context$Builder java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context java.io.File org.graalvm.polyglot.Source java.lang.String
StackMap stack: java.lang.StringBuilder java.lang.String
28: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.graalvm.polybench.PolyBenchLauncher.log:(Ljava/lang/String;)V
29: ldc "Initialization completed."
invokestatic org.graalvm.polybench.PolyBenchLauncher.log:(Ljava/lang/String;)V
30: ldc ""
invokestatic org.graalvm.polybench.PolyBenchLauncher.log:(Ljava/lang/String;)V
31: ldc "::: Running warmup :::"
invokestatic org.graalvm.polybench.PolyBenchLauncher.log:(Ljava/lang/String;)V
32: aload 0
aload 4
aload 7
aload 6
invokevirtual org.graalvm.polyglot.Source.getName:()Ljava/lang/String;
iconst_1
aload 0
getfield org.graalvm.polybench.PolyBenchLauncher.config:Lorg/graalvm/polybench/Config;
getfield org.graalvm.polybench.Config.warmupIterations:I
invokevirtual org.graalvm.polybench.PolyBenchLauncher.repeatIterations:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;ZI)V
33: ldc ""
invokestatic org.graalvm.polybench.PolyBenchLauncher.log:(Ljava/lang/String;)V
34: ldc "::: Running :::"
invokestatic org.graalvm.polybench.PolyBenchLauncher.log:(Ljava/lang/String;)V
35: aload 0
getfield org.graalvm.polybench.PolyBenchLauncher.config:Lorg/graalvm/polybench/Config;
getfield org.graalvm.polybench.Config.metric:Lorg/graalvm/polybench/Metric;
invokeinterface org.graalvm.polybench.Metric.reset:()V
36: aload 0
aload 4
aload 7
aload 6
invokevirtual org.graalvm.polyglot.Source.getName:()Ljava/lang/String;
iconst_0
aload 0
getfield org.graalvm.polybench.PolyBenchLauncher.config:Lorg/graalvm/polybench/Config;
getfield org.graalvm.polybench.Config.iterations:I
invokevirtual org.graalvm.polybench.PolyBenchLauncher.repeatIterations:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;ZI)V
37: ldc ""
invokestatic org.graalvm.polybench.PolyBenchLauncher.log:(Ljava/lang/String;)V
end local 7 end local 6 end local 5 38: aload 4
ifnull 46
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 46
StackMap locals: org.graalvm.polybench.PolyBenchLauncher org.graalvm.polyglot.Context$Builder java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
39: astore 2
aload 4
ifnull 40
aload 4
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 4 StackMap locals:
StackMap stack:
40: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
41: astore 3
aload 2
ifnonnull 42
aload 3
astore 2
goto 43
StackMap locals:
StackMap stack:
42: aload 2
aload 3
if_acmpeq 43
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
43: aload 2
athrow
StackMap locals: org.graalvm.polybench.PolyBenchLauncher org.graalvm.polyglot.Context$Builder
StackMap stack: java.lang.Throwable
44: astore 2
start local 2 45: aload 0
aload 2
invokevirtual org.graalvm.polybench.PolyBenchLauncher.abort:(Ljava/lang/Throwable;)Lorg/graalvm/launcher/Launcher$AbortException;
athrow
end local 2 46: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Lorg/graalvm/polybench/PolyBenchLauncher;
0 47 1 contextBuilder Lorg/graalvm/polyglot/Context$Builder;
12 40 4 context Lorg/graalvm/polyglot/Context;
14 38 5 file Ljava/io/File;
18 19 6 source Lorg/graalvm/polyglot/Source;
21 38 6 source Lorg/graalvm/polyglot/Source;
15 19 7 language Ljava/lang/String;
21 38 7 language Ljava/lang/String;
20 21 8 e Ljava/io/IOException;
45 46 2 t Ljava/lang/Throwable;
Exception table:
from to target type
14 18 19 Class java.io.IOException
12 38 39 any
11 41 41 any
10 44 44 Class java.lang.Throwable
MethodParameters:
Name Flags
contextBuilder
private static void log(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 0
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 msg Ljava/lang/String;
MethodParameters:
Name Flags
msg
private static java.lang.String round(double);
descriptor: (D)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: ldc "%.2f"
iconst_1
anewarray java.lang.Object
dup
iconst_0
dload 0
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 v D
MethodParameters:
Name Flags
v
private void repeatIterations(org.graalvm.polyglot.Context, java.lang.String, java.lang.String, boolean, int);
descriptor: (Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;ZI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
ldc "run"
invokevirtual org.graalvm.polybench.PolyBenchLauncher.lookup:(Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 6
start local 6 1: aload 1
invokevirtual org.graalvm.polyglot.Context.enter:()V
2: iconst_0
istore 7
start local 7 3: goto 11
4: StackMap locals: org.graalvm.polyglot.Value int
StackMap stack:
aload 0
getfield org.graalvm.polybench.PolyBenchLauncher.config:Lorg/graalvm/polybench/Config;
getfield org.graalvm.polybench.Config.metric:Lorg/graalvm/polybench/Metric;
iload 4
iload 7
aload 0
getfield org.graalvm.polybench.PolyBenchLauncher.config:Lorg/graalvm/polybench/Config;
invokeinterface org.graalvm.polybench.Metric.beforeIteration:(ZILorg/graalvm/polybench/Config;)V
5: aload 6
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.polyglot.Value.executeVoid:([Ljava/lang/Object;)V
6: aload 0
getfield org.graalvm.polybench.PolyBenchLauncher.config:Lorg/graalvm/polybench/Config;
getfield org.graalvm.polybench.Config.metric:Lorg/graalvm/polybench/Metric;
iload 4
iload 7
aload 0
getfield org.graalvm.polybench.PolyBenchLauncher.config:Lorg/graalvm/polybench/Config;
invokeinterface org.graalvm.polybench.Metric.afterIteration:(ZILorg/graalvm/polybench/Config;)V
7: aload 0
getfield org.graalvm.polybench.PolyBenchLauncher.config:Lorg/graalvm/polybench/Config;
getfield org.graalvm.polybench.Config.metric:Lorg/graalvm/polybench/Metric;
aload 0
getfield org.graalvm.polybench.PolyBenchLauncher.config:Lorg/graalvm/polybench/Config;
invokeinterface org.graalvm.polybench.Metric.reportAfterIteration:(Lorg/graalvm/polybench/Config;)Ljava/util/Optional;
astore 8
start local 8 8: aload 8
invokevirtual java.util.Optional.isPresent:()Z
ifeq 10
9: new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] iteration "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
invokestatic org.graalvm.polybench.PolyBenchLauncher.round:(D)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.graalvm.polybench.PolyBenchLauncher.config:Lorg/graalvm/polybench/Config;
getfield org.graalvm.polybench.Config.metric:Lorg/graalvm/polybench/Metric;
invokeinterface org.graalvm.polybench.Metric.unit:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.graalvm.polybench.PolyBenchLauncher.log:(Ljava/lang/String;)V
end local 8 10: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
11: iload 7
iload 5
if_icmplt 4
end local 7 12: aload 0
getfield org.graalvm.polybench.PolyBenchLauncher.config:Lorg/graalvm/polybench/Config;
getfield org.graalvm.polybench.Config.metric:Lorg/graalvm/polybench/Metric;
invokeinterface org.graalvm.polybench.Metric.reportAfterAll:()Ljava/util/Optional;
astore 7
start local 7 13: aload 7
invokevirtual java.util.Optional.isPresent:()Z
ifeq 22
14: ldc "------"
invokestatic org.graalvm.polybench.PolyBenchLauncher.log:(Ljava/lang/String;)V
15: new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
ifeq 16
ldc "after warmup: "
goto 17
StackMap locals: org.graalvm.polybench.PolyBenchLauncher org.graalvm.polyglot.Context java.lang.String java.lang.String int int org.graalvm.polyglot.Value java.util.Optional
StackMap stack: java.lang.StringBuilder
16: ldc "after run: "
StackMap locals: org.graalvm.polybench.PolyBenchLauncher org.graalvm.polyglot.Context java.lang.String java.lang.String int int org.graalvm.polyglot.Value java.util.Optional
StackMap stack: java.lang.StringBuilder java.lang.String
17: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
invokestatic org.graalvm.polybench.PolyBenchLauncher.round:(D)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.graalvm.polybench.PolyBenchLauncher.config:Lorg/graalvm/polybench/Config;
getfield org.graalvm.polybench.Config.metric:Lorg/graalvm/polybench/Metric;
invokeinterface org.graalvm.polybench.Metric.unit:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.graalvm.polybench.PolyBenchLauncher.log:(Ljava/lang/String;)V
end local 7 18: goto 22
StackMap locals: org.graalvm.polybench.PolyBenchLauncher org.graalvm.polyglot.Context java.lang.String java.lang.String int int org.graalvm.polyglot.Value
StackMap stack: java.lang.Throwable
19: astore 9
20: aload 1
invokevirtual org.graalvm.polyglot.Context.leave:()V
21: aload 9
athrow
22: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.polyglot.Context.leave:()V
23: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/graalvm/polybench/PolyBenchLauncher;
0 24 1 context Lorg/graalvm/polyglot/Context;
0 24 2 languageId Ljava/lang/String;
0 24 3 name Ljava/lang/String;
0 24 4 warmup Z
0 24 5 iterations I
1 24 6 run Lorg/graalvm/polyglot/Value;
3 12 7 i I
8 10 8 value Ljava/util/Optional<Ljava/lang/Double;>;
13 18 7 value Ljava/util/Optional<Ljava/lang/Double;>;
Exception table:
from to target type
2 19 19 any
MethodParameters:
Name Flags
context
languageId
name
warmup
iterations
private org.graalvm.polyglot.Value lookup(org.graalvm.polyglot.Context, java.lang.String, java.lang.String);
descriptor: (Lorg/graalvm/polyglot/Context;Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
dup
astore 5
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 1
3642020: 1
default: 4
}
StackMap locals: org.graalvm.polybench.PolyBenchLauncher org.graalvm.polyglot.Context java.lang.String java.lang.String top java.lang.String
StackMap stack:
1: aload 5
ldc "wasm"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 2
goto 4
2: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
ldc "main"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
aload 3
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 4
start local 4 3: goto 5
end local 4 4: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
aload 3
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 4
start local 4 5: StackMap locals: org.graalvm.polybench.PolyBenchLauncher org.graalvm.polyglot.Context java.lang.String java.lang.String org.graalvm.polyglot.Value
StackMap stack:
aload 4
ifnonnull 7
6: aload 0
new java.lang.StringBuilder
dup
ldc "Cannot find target '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'. Please check that the specified program is a benchmark."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.graalvm.polybench.PolyBenchLauncher.abort:(Ljava/lang/String;)Lorg/graalvm/launcher/Launcher$AbortException;
athrow
7: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.graalvm.polyglot.Value.canExecute:()Z
ifne 9
8: aload 0
new java.lang.StringBuilder
dup
ldc "The member named "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " is not executable: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.graalvm.polybench.PolyBenchLauncher.abort:(Ljava/lang/String;)Lorg/graalvm/launcher/Launcher$AbortException;
athrow
9: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/graalvm/polybench/PolyBenchLauncher;
0 10 1 context Lorg/graalvm/polyglot/Context;
0 10 2 languageId Ljava/lang/String;
0 10 3 memberName Ljava/lang/String;
3 4 4 result Lorg/graalvm/polyglot/Value;
5 10 4 result Lorg/graalvm/polyglot/Value;
MethodParameters:
Name Flags
context
languageId
memberName
static int[] $SWITCH_TABLE$org$graalvm$polybench$Config$Mode();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.graalvm.polybench.PolyBenchLauncher.$SWITCH_TABLE$org$graalvm$polybench$Config$Mode:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.graalvm.polybench.Config$Mode.values:()[Lorg/graalvm/polybench/Config$Mode;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.graalvm.polybench.Config$Mode.interpreter:Lorg/graalvm/polybench/Config$Mode;
invokevirtual org.graalvm.polybench.Config$Mode.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.graalvm.polybench.Config$Mode.standard:Lorg/graalvm/polybench/Config$Mode;
invokevirtual org.graalvm.polybench.Config$Mode.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
dup
putstatic org.graalvm.polybench.PolyBenchLauncher.$SWITCH_TABLE$org$graalvm$polybench$Config$Mode:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
}
SourceFile: "PolyBenchLauncher.java"
NestMembers:
org.graalvm.polybench.PolyBenchLauncher$ArgumentConsumer org.graalvm.polybench.PolyBenchLauncher$ArgumentParser
InnerClasses:
protected final AbortException = org.graalvm.launcher.Launcher$AbortException of org.graalvm.launcher.Launcher
final Mode = org.graalvm.polybench.Config$Mode of org.graalvm.polybench.Config
ArgumentConsumer = org.graalvm.polybench.PolyBenchLauncher$ArgumentConsumer of org.graalvm.polybench.PolyBenchLauncher
ArgumentParser = org.graalvm.polybench.PolyBenchLauncher$ArgumentParser of org.graalvm.polybench.PolyBenchLauncher
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context
public Builder = org.graalvm.polyglot.Source$Builder of org.graalvm.polyglot.Source