public class org.openjdk.jmh.runner.Runner extends org.openjdk.jmh.runner.BaseRunner
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.openjdk.jmh.runner.Runner
super_class: org.openjdk.jmh.runner.BaseRunner
{
private static final int TAIL_LINES_ON_ERROR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String JMH_LOCK_FILE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Boolean JMH_LOCK_IGNORE;
descriptor: Ljava/lang/Boolean;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final org.openjdk.jmh.runner.BenchmarkList list;
descriptor: Lorg/openjdk/jmh/runner/BenchmarkList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int cpuCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static volatile int[] $SWITCH_TABLE$org$openjdk$jmh$runner$ActionType;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc "jmh.tailLines"
bipush 20
invokestatic java.lang.Integer.getInteger:(Ljava/lang/String;I)Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
putstatic org.openjdk.jmh.runner.Runner.TAIL_LINES_ON_ERROR:I
1: new java.lang.StringBuilder
dup
ldc "java.io.tmpdir"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/jmh.lock"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putstatic org.openjdk.jmh.runner.Runner.JMH_LOCK_FILE:Ljava/lang/String;
2: ldc "jmh.ignoreLock"
invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
putstatic org.openjdk.jmh.runner.Runner.JMH_LOCK_IGNORE:Ljava/lang/Boolean;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.openjdk.jmh.runner.options.Options, org.openjdk.jmh.runner.format.OutputFormat);
descriptor: (Lorg/openjdk/jmh/runner/options/Options;Lorg/openjdk/jmh/runner/format/OutputFormat;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial org.openjdk.jmh.runner.BaseRunner.<init>:(Lorg/openjdk/jmh/runner/options/Options;Lorg/openjdk/jmh/runner/format/OutputFormat;)V
1: aload 0
invokestatic org.openjdk.jmh.runner.BenchmarkList.defaultList:()Lorg/openjdk/jmh/runner/BenchmarkList;
putfield org.openjdk.jmh.runner.Runner.list:Lorg/openjdk/jmh/runner/BenchmarkList;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/openjdk/jmh/runner/Runner;
0 3 1 options Lorg/openjdk/jmh/runner/options/Options;
0 3 2 format Lorg/openjdk/jmh/runner/format/OutputFormat;
MethodParameters:
Name Flags
options
format
public void <init>(org.openjdk.jmh.runner.options.Options);
descriptor: (Lorg/openjdk/jmh/runner/options/Options;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
invokestatic org.openjdk.jmh.runner.Runner.createOutputFormat:(Lorg/openjdk/jmh/runner/options/Options;)Lorg/openjdk/jmh/runner/format/OutputFormat;
invokespecial org.openjdk.jmh.runner.Runner.<init>:(Lorg/openjdk/jmh/runner/options/Options;Lorg/openjdk/jmh/runner/format/OutputFormat;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/openjdk/jmh/runner/Runner;
0 2 1 options Lorg/openjdk/jmh/runner/options/Options;
MethodParameters:
Name Flags
options
private static org.openjdk.jmh.runner.format.OutputFormat createOutputFormat(org.openjdk.jmh.runner.options.Options);
descriptor: (Lorg/openjdk/jmh/runner/options/Options;)Lorg/openjdk/jmh/runner/format/OutputFormat;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "Options not allowed to be null."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokeinterface org.openjdk.jmh.runner.options.Options.getOutput:()Lorg/openjdk/jmh/util/Optional;
invokevirtual org.openjdk.jmh.util.Optional.hasValue:()Z
ifeq 7
3: new java.io.PrintStream
dup
aload 0
invokeinterface org.openjdk.jmh.runner.options.Options.getOutput:()Lorg/openjdk/jmh/util/Optional;
invokevirtual org.openjdk.jmh.util.Optional.get:()Ljava/lang/Object;
checkcast java.lang.String
invokespecial java.io.PrintStream.<init>:(Ljava/lang/String;)V
astore 1
start local 1 4: goto 11
end local 1 StackMap locals:
StackMap stack: java.io.FileNotFoundException
5: astore 2
start local 2 6: new java.lang.IllegalStateException
dup
aload 2
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 7: StackMap locals:
StackMap stack:
new org.openjdk.jmh.util.UnCloseablePrintStream
dup
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokestatic org.openjdk.jmh.util.Utils.guessConsoleEncoding:()Ljava/nio/charset/Charset;
invokespecial org.openjdk.jmh.util.UnCloseablePrintStream.<init>:(Ljava/io/OutputStream;Ljava/nio/charset/Charset;)V
astore 1
start local 1 8: goto 11
end local 1 StackMap locals:
StackMap stack: java.io.UnsupportedEncodingException
9: astore 2
start local 2 10: new java.lang.IllegalStateException
dup
aload 2
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 start local 1 11: StackMap locals: java.io.PrintStream
StackMap stack:
aload 1
aload 0
invokeinterface org.openjdk.jmh.runner.options.Options.verbosity:()Lorg/openjdk/jmh/util/Optional;
getstatic org.openjdk.jmh.runner.Defaults.VERBOSITY:Lorg/openjdk/jmh/runner/options/VerboseMode;
invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.openjdk.jmh.runner.options.VerboseMode
invokestatic org.openjdk.jmh.runner.format.OutputFormatFactory.createFormatInstance:(Ljava/io/PrintStream;Lorg/openjdk/jmh/runner/options/VerboseMode;)Lorg/openjdk/jmh/runner/format/OutputFormat;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 options Lorg/openjdk/jmh/runner/options/Options;
4 5 1 out Ljava/io/PrintStream;
8 9 1 out Ljava/io/PrintStream;
11 12 1 out Ljava/io/PrintStream;
6 7 2 ex Ljava/io/FileNotFoundException;
10 11 2 ex Ljava/io/UnsupportedEncodingException;
Exception table:
from to target type
3 4 5 Class java.io.FileNotFoundException
7 8 9 Class java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
options
public void list();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield org.openjdk.jmh.runner.Runner.list:Lorg/openjdk/jmh/runner/BenchmarkList;
aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getIncludes:()Ljava/util/List;
aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getExcludes:()Ljava/util/List;
invokevirtual org.openjdk.jmh.runner.BenchmarkList.find:(Lorg/openjdk/jmh/runner/format/OutputFormat;Ljava/util/List;Ljava/util/List;)Ljava/util/SortedSet;
astore 1
start local 1 1: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
ldc "Benchmarks: "
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
2: aload 1
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: org.openjdk.jmh.runner.Runner java.util.Set top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.openjdk.jmh.runner.BenchmarkListEntry
astore 2
start local 2 4: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
aload 2
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getUsername:()Ljava/lang/String;
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/openjdk/jmh/runner/Runner;
1 7 1 benchmarks Ljava/util/Set<Lorg/openjdk/jmh/runner/BenchmarkListEntry;>;
4 5 2 benchmark Lorg/openjdk/jmh/runner/BenchmarkListEntry;
public void listWithParams(org.openjdk.jmh.runner.options.CommandLineOptions);
descriptor: (Lorg/openjdk/jmh/runner/options/CommandLineOptions;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=2
start local 0 start local 1 0: aload 0
getfield org.openjdk.jmh.runner.Runner.list:Lorg/openjdk/jmh/runner/BenchmarkList;
aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
aload 1
invokevirtual org.openjdk.jmh.runner.options.CommandLineOptions.getIncludes:()Ljava/util/List;
aload 1
invokevirtual org.openjdk.jmh.runner.options.CommandLineOptions.getExcludes:()Ljava/util/List;
invokevirtual org.openjdk.jmh.runner.BenchmarkList.find:(Lorg/openjdk/jmh/runner/format/OutputFormat;Ljava/util/List;Ljava/util/List;)Ljava/util/SortedSet;
astore 2
start local 2 1: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
ldc "Benchmarks: "
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
2: aload 2
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 13
StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.options.CommandLineOptions java.util.Set top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.openjdk.jmh.runner.BenchmarkListEntry
astore 3
start local 3 4: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
aload 3
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getUsername:()Ljava/lang/String;
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
5: aload 3
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getParams:()Lorg/openjdk/jmh/util/Optional;
astore 5
start local 5 6: aload 5
invokevirtual org.openjdk.jmh.util.Optional.hasValue:()Z
ifeq 13
7: aload 5
invokevirtual org.openjdk.jmh.util.Optional.get:()Ljava/lang/Object;
checkcast java.util.Map
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 12
StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.options.CommandLineOptions java.util.Set org.openjdk.jmh.runner.BenchmarkListEntry java.util.Iterator org.openjdk.jmh.util.Optional top java.util.Iterator
StackMap stack:
8: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 6
start local 6 9: aload 6
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
astore 8
start local 8 10: aload 1
aload 8
invokevirtual org.openjdk.jmh.runner.options.CommandLineOptions.getParameter:(Ljava/lang/String;)Lorg/openjdk/jmh/util/Optional;
aload 6
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.String[]
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Collection
astore 9
start local 9 11: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
new java.lang.StringBuilder
dup
ldc " param \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" = {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 9
ldc ", "
invokestatic org.openjdk.jmh.util.Utils.join:(Ljava/util/Collection;Ljava/lang/String;)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;
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
end local 9 end local 8 end local 6 12: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
end local 5 end local 3 13: StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.options.CommandLineOptions java.util.Set top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
14: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/openjdk/jmh/runner/Runner;
0 15 1 options Lorg/openjdk/jmh/runner/options/CommandLineOptions;
1 15 2 benchmarks Ljava/util/Set<Lorg/openjdk/jmh/runner/BenchmarkListEntry;>;
4 13 3 benchmark Lorg/openjdk/jmh/runner/BenchmarkListEntry;
6 13 5 params Lorg/openjdk/jmh/util/Optional<Ljava/util/Map<Ljava/lang/String;[Ljava/lang/String;>;>;
9 12 6 e Ljava/util/Map$Entry<Ljava/lang/String;[Ljava/lang/String;>;
10 12 8 param Ljava/lang/String;
11 12 9 values Ljava/util/Collection<Ljava/lang/String;>;
MethodParameters:
Name Flags
options
public org.openjdk.jmh.results.RunResult runSingle();
descriptor: ()Lorg/openjdk/jmh/results/RunResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
getfield org.openjdk.jmh.runner.Runner.list:Lorg/openjdk/jmh/runner/BenchmarkList;
aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getIncludes:()Ljava/util/List;
aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getExcludes:()Ljava/util/List;
invokevirtual org.openjdk.jmh.runner.BenchmarkList.find:(Lorg/openjdk/jmh/runner/format/OutputFormat;Ljava/util/List;Ljava/util/List;)Ljava/util/SortedSet;
astore 1
start local 1 1: aload 1
invokeinterface java.util.Set.size:()I
iconst_1
if_icmpne 6
2: aload 0
invokevirtual org.openjdk.jmh.runner.Runner.run:()Ljava/util/Collection;
astore 2
start local 2 3: aload 2
invokeinterface java.util.Collection.size:()I
iconst_1
if_icmpne 5
4: aload 2
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.openjdk.jmh.results.RunResult
areturn
5: StackMap locals: java.util.Set java.util.Collection
StackMap stack:
new org.openjdk.jmh.runner.RunnerException
dup
ldc "No results returned"
invokespecial org.openjdk.jmh.runner.RunnerException.<init>:(Ljava/lang/String;)V
athrow
end local 2 6: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Set.size:()I
iconst_1
if_icmple 8
7: new org.openjdk.jmh.runner.RunnerException
dup
new java.lang.StringBuilder
dup
ldc "More than single benchmark are matching the options: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.openjdk.jmh.runner.RunnerException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
new org.openjdk.jmh.runner.NoBenchmarksException
dup
invokespecial org.openjdk.jmh.runner.NoBenchmarksException.<init>:()V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/openjdk/jmh/runner/Runner;
1 9 1 benchmarks Ljava/util/Set<Lorg/openjdk/jmh/runner/BenchmarkListEntry;>;
3 6 2 values Ljava/util/Collection<Lorg/openjdk/jmh/results/RunResult;>;
Exceptions:
throws org.openjdk.jmh.runner.RunnerException
public java.util.Collection<org.openjdk.jmh.results.RunResult> run();
descriptor: ()Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aconst_null
astore 2
start local 2 2: new java.io.File
dup
getstatic org.openjdk.jmh.runner.Runner.JMH_LOCK_FILE:Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 3
start local 3 3: aload 3
invokevirtual java.io.File.createNewFile:()Z
pop
4: aload 3
iconst_1
iconst_0
invokevirtual java.io.File.setWritable:(ZZ)Z
pop
5: new java.io.RandomAccessFile
dup
aload 3
ldc "rw"
invokespecial java.io.RandomAccessFile.<init>:(Ljava/io/File;Ljava/lang/String;)V
invokevirtual java.io.RandomAccessFile.getChannel:()Ljava/nio/channels/FileChannel;
astore 1
6: aload 1
invokevirtual java.nio.channels.FileChannel.tryLock:()Ljava/nio/channels/FileLock;
astore 2
7: goto 9
StackMap locals: org.openjdk.jmh.runner.Runner java.nio.channels.FileChannel java.nio.channels.FileLock java.io.File
StackMap stack: java.nio.channels.OverlappingFileLockException
8: pop
9: StackMap locals:
StackMap stack:
aload 2
ifnonnull 15
10: new java.lang.StringBuilder
dup
ldc "Unable to acquire the JMH lock ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.openjdk.jmh.runner.Runner.JMH_LOCK_FILE:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "): already taken by another JMH instance"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 11: getstatic org.openjdk.jmh.runner.Runner.JMH_LOCK_IGNORE:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 14
12: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
new java.lang.StringBuilder
dup
ldc "# WARNING: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", ignored by user's request."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
13: goto 15
14: StackMap locals: java.lang.String
StackMap stack:
new org.openjdk.jmh.runner.RunnerException
dup
new java.lang.StringBuilder
dup
ldc "ERROR: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", exiting. Use -Djmh.ignoreLock=true to forcefully continue."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.openjdk.jmh.runner.RunnerException.<init>:(Ljava/lang/String;)V
athrow
end local 4 15: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.openjdk.jmh.runner.Runner.internalRun:()Ljava/util/Collection;
astore 6
16: aload 2
ifnull 20
17: aload 2
invokevirtual java.nio.channels.FileLock.release:()V
18: goto 20
StackMap locals: org.openjdk.jmh.runner.Runner java.nio.channels.FileChannel java.nio.channels.FileLock java.io.File top top java.util.Collection
StackMap stack: java.io.IOException
19: pop
20: StackMap locals:
StackMap stack:
aload 1
invokestatic org.openjdk.jmh.util.FileUtils.safelyClose:(Ljava/io/Closeable;)V
21: aload 6
areturn
end local 3 22: StackMap locals: org.openjdk.jmh.runner.Runner java.nio.channels.FileChannel java.nio.channels.FileLock
StackMap stack: java.io.IOException
astore 3
start local 3 23: new java.lang.StringBuilder
dup
ldc "Exception while trying to acquire the JMH lock ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.openjdk.jmh.runner.Runner.JMH_LOCK_FILE: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 3
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;
astore 4
start local 4 24: getstatic org.openjdk.jmh.runner.Runner.JMH_LOCK_IGNORE:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 33
25: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
new java.lang.StringBuilder
dup
ldc "# WARNING: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", ignored by user's request."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
26: aload 0
invokevirtual org.openjdk.jmh.runner.Runner.internalRun:()Ljava/util/Collection;
astore 6
27: aload 2
ifnull 31
28: aload 2
invokevirtual java.nio.channels.FileLock.release:()V
29: goto 31
StackMap locals: org.openjdk.jmh.runner.Runner java.nio.channels.FileChannel java.nio.channels.FileLock java.io.IOException java.lang.String top java.util.Collection
StackMap stack: java.io.IOException
30: pop
31: StackMap locals:
StackMap stack:
aload 1
invokestatic org.openjdk.jmh.util.FileUtils.safelyClose:(Ljava/io/Closeable;)V
32: aload 6
areturn
33: StackMap locals: org.openjdk.jmh.runner.Runner java.nio.channels.FileChannel java.nio.channels.FileLock java.io.IOException java.lang.String
StackMap stack:
new org.openjdk.jmh.runner.RunnerException
dup
new java.lang.StringBuilder
dup
ldc "ERROR: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", exiting. Use -Djmh.ignoreLock=true to forcefully continue."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.openjdk.jmh.runner.RunnerException.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 34: StackMap locals: org.openjdk.jmh.runner.Runner java.nio.channels.FileChannel java.nio.channels.FileLock
StackMap stack: java.lang.Throwable
astore 5
35: aload 2
ifnull 39
36: aload 2
invokevirtual java.nio.channels.FileLock.release:()V
37: goto 39
StackMap locals: org.openjdk.jmh.runner.Runner java.nio.channels.FileChannel java.nio.channels.FileLock top top java.lang.Throwable
StackMap stack: java.io.IOException
38: pop
39: StackMap locals:
StackMap stack:
aload 1
invokestatic org.openjdk.jmh.util.FileUtils.safelyClose:(Ljava/io/Closeable;)V
40: aload 5
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Lorg/openjdk/jmh/runner/Runner;
1 41 1 channel Ljava/nio/channels/FileChannel;
2 41 2 lock Ljava/nio/channels/FileLock;
3 22 3 file Ljava/io/File;
11 15 4 msg Ljava/lang/String;
23 34 3 e Ljava/io/IOException;
24 34 4 msg Ljava/lang/String;
Exception table:
from to target type
6 7 8 Class java.nio.channels.OverlappingFileLockException
16 18 19 Class java.io.IOException
2 16 22 Class java.io.IOException
27 29 30 Class java.io.IOException
2 16 34 any
22 27 34 any
33 34 34 any
35 37 38 Class java.io.IOException
Exceptions:
throws org.openjdk.jmh.runner.RunnerException
Signature: ()Ljava/util/Collection<Lorg/openjdk/jmh/results/RunResult;>;
private java.util.Collection<org.openjdk.jmh.results.RunResult> internalRun();
descriptor: ()Ljava/util/Collection;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=12, args_size=1
start local 0 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getProfilers:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 13
StackMap locals: org.openjdk.jmh.runner.Runner java.util.Set int top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.openjdk.jmh.runner.options.ProfilerConfig
astore 3
start local 3 4: aload 1
aload 3
invokevirtual org.openjdk.jmh.runner.options.ProfilerConfig.getKlass:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifne 6
5: new org.openjdk.jmh.runner.RunnerException
dup
new java.lang.StringBuilder
dup
ldc "Cannot instantiate the same profiler more than once: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual org.openjdk.jmh.runner.options.ProfilerConfig.getKlass:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.openjdk.jmh.runner.RunnerException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: org.openjdk.jmh.runner.Runner java.util.Set int org.openjdk.jmh.runner.options.ProfilerConfig java.util.Iterator
StackMap stack:
aload 3
invokestatic org.openjdk.jmh.profile.ProfilerFactory.getProfilerOrException:(Lorg/openjdk/jmh/runner/options/ProfilerConfig;)Lorg/openjdk/jmh/profile/Profiler;
pop
7: goto 11
StackMap locals:
StackMap stack: org.openjdk.jmh.profile.ProfilerException
8: astore 5
start local 5 9: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
aload 5
invokevirtual org.openjdk.jmh.profile.ProfilerException.getMessage:()Ljava/lang/String;
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
10: iconst_1
istore 2
end local 5 11: StackMap locals:
StackMap stack:
iload 2
ifeq 13
12: new org.openjdk.jmh.runner.ProfilersFailedException
dup
invokespecial org.openjdk.jmh.runner.ProfilersFailedException.<init>:()V
athrow
end local 3 13: StackMap locals: org.openjdk.jmh.runner.Runner java.util.Set int top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
14: aconst_null
astore 3
start local 3 15: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getResult:()Lorg/openjdk/jmh/util/Optional;
invokevirtual org.openjdk.jmh.util.Optional.hasValue:()Z
ifne 16
aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getResultFormat:()Lorg/openjdk/jmh/util/Optional;
invokevirtual org.openjdk.jmh.util.Optional.hasValue:()Z
ifeq 25
16: StackMap locals: org.openjdk.jmh.runner.Runner java.util.Set int java.lang.String
StackMap stack:
aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getResult:()Lorg/openjdk/jmh/util/Optional;
17: new java.lang.StringBuilder
dup
ldc "jmh-result."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
18: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getResultFormat:()Lorg/openjdk/jmh/util/Optional;
getstatic org.openjdk.jmh.runner.Defaults.RESULT_FORMAT:Lorg/openjdk/jmh/results/format/ResultFormatType;
invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.openjdk.jmh.results.format.ResultFormatType
invokevirtual org.openjdk.jmh.results.format.ResultFormatType.toString:()Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
19: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
20: invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 3
21: aload 3
invokestatic org.openjdk.jmh.util.FileUtils.touch:(Ljava/lang/String;)V
22: goto 25
StackMap locals:
StackMap stack: java.io.IOException
23: pop
24: new org.openjdk.jmh.runner.RunnerException
dup
new java.lang.StringBuilder
dup
ldc "Can not touch the result file: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.openjdk.jmh.runner.RunnerException.<init>:(Ljava/lang/String;)V
athrow
25: StackMap locals:
StackMap stack:
aload 0
getfield org.openjdk.jmh.runner.Runner.list:Lorg/openjdk/jmh/runner/BenchmarkList;
aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getIncludes:()Ljava/util/List;
aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getExcludes:()Ljava/util/List;
invokevirtual org.openjdk.jmh.runner.BenchmarkList.find:(Lorg/openjdk/jmh/runner/format/OutputFormat;Ljava/util/List;Ljava/util/List;)Ljava/util/SortedSet;
astore 4
start local 4 26: aload 4
invokeinterface java.util.SortedSet.isEmpty:()Z
ifeq 30
27: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.flush:()V
28: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.close:()V
29: new org.openjdk.jmh.runner.NoBenchmarksException
dup
invokespecial org.openjdk.jmh.runner.NoBenchmarksException.<init>:()V
athrow
30: StackMap locals: java.util.SortedSet
StackMap stack:
aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getBenchModes:()Ljava/util/Collection;
invokeinterface java.util.Collection.isEmpty:()Z
ifne 41
31: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 32: aload 4
invokeinterface java.util.SortedSet.iterator:()Ljava/util/Iterator;
astore 7
goto 38
StackMap locals: org.openjdk.jmh.runner.Runner java.util.Set int java.lang.String java.util.SortedSet java.util.List top java.util.Iterator
StackMap stack:
33: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.openjdk.jmh.runner.BenchmarkListEntry
astore 6
start local 6 34: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getBenchModes:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 9
goto 37
StackMap locals: org.openjdk.jmh.runner.Runner java.util.Set int java.lang.String java.util.SortedSet java.util.List org.openjdk.jmh.runner.BenchmarkListEntry java.util.Iterator top java.util.Iterator
StackMap stack:
35: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.openjdk.jmh.annotations.Mode
astore 8
start local 8 36: aload 5
aload 6
aload 8
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.cloneWith:(Lorg/openjdk/jmh/annotations/Mode;)Lorg/openjdk/jmh/runner/BenchmarkListEntry;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 8 37: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 35
end local 6 38: StackMap locals: org.openjdk.jmh.runner.Runner java.util.Set int java.lang.String java.util.SortedSet java.util.List top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 33
39: aload 4
invokeinterface java.util.SortedSet.clear:()V
40: aload 4
aload 5
invokeinterface java.util.SortedSet.addAll:(Ljava/util/Collection;)Z
pop
end local 5 41: StackMap locals: org.openjdk.jmh.runner.Runner java.util.Set int java.lang.String java.util.SortedSet
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 42: aload 4
invokeinterface java.util.SortedSet.iterator:()Ljava/util/Iterator;
astore 7
goto 53
StackMap locals: org.openjdk.jmh.runner.Runner java.util.Set int java.lang.String java.util.SortedSet java.util.List top java.util.Iterator
StackMap stack:
43: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.openjdk.jmh.runner.BenchmarkListEntry
astore 6
start local 6 44: aload 6
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getMode:()Lorg/openjdk/jmh/annotations/Mode;
getstatic org.openjdk.jmh.annotations.Mode.All:Lorg/openjdk/jmh/annotations/Mode;
if_acmpne 52
45: invokestatic org.openjdk.jmh.annotations.Mode.values:()[Lorg/openjdk/jmh/annotations/Mode;
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 50
StackMap locals: org.openjdk.jmh.runner.Runner java.util.Set int java.lang.String java.util.SortedSet java.util.List org.openjdk.jmh.runner.BenchmarkListEntry java.util.Iterator top int int org.openjdk.jmh.annotations.Mode[]
StackMap stack:
46: aload 11
iload 9
aaload
astore 8
start local 8 47: aload 8
getstatic org.openjdk.jmh.annotations.Mode.All:Lorg/openjdk/jmh/annotations/Mode;
if_acmpne 48
goto 49
48: StackMap locals: org.openjdk.jmh.runner.Runner java.util.Set int java.lang.String java.util.SortedSet java.util.List org.openjdk.jmh.runner.BenchmarkListEntry java.util.Iterator org.openjdk.jmh.annotations.Mode int int org.openjdk.jmh.annotations.Mode[]
StackMap stack:
aload 5
aload 6
aload 8
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.cloneWith:(Lorg/openjdk/jmh/annotations/Mode;)Lorg/openjdk/jmh/runner/BenchmarkListEntry;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 8 49: StackMap locals: org.openjdk.jmh.runner.Runner java.util.Set int java.lang.String java.util.SortedSet java.util.List org.openjdk.jmh.runner.BenchmarkListEntry java.util.Iterator top int int org.openjdk.jmh.annotations.Mode[]
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
50: iload 9
iload 10
if_icmplt 46
51: goto 53
52: StackMap locals: org.openjdk.jmh.runner.Runner java.util.Set int java.lang.String java.util.SortedSet java.util.List org.openjdk.jmh.runner.BenchmarkListEntry java.util.Iterator
StackMap stack:
aload 5
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 53: StackMap locals: org.openjdk.jmh.runner.Runner java.util.Set int java.lang.String java.util.SortedSet java.util.List top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 43
54: aload 4
invokeinterface java.util.SortedSet.clear:()V
55: aload 4
aload 5
invokeinterface java.util.SortedSet.addAll:(Ljava/util/Collection;)Z
pop
end local 5 56: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 57: aload 4
invokeinterface java.util.SortedSet.iterator:()Ljava/util/Iterator;
astore 7
goto 66
StackMap locals:
StackMap stack:
58: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.openjdk.jmh.runner.BenchmarkListEntry
astore 6
start local 6 59: aload 6
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getParams:()Lorg/openjdk/jmh/util/Optional;
invokevirtual org.openjdk.jmh.util.Optional.hasValue:()Z
ifeq 65
60: aload 0
aload 6
invokevirtual org.openjdk.jmh.runner.Runner.explodeAllParams:(Lorg/openjdk/jmh/runner/BenchmarkListEntry;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 63
StackMap locals: org.openjdk.jmh.runner.Runner java.util.Set int java.lang.String java.util.SortedSet java.util.List org.openjdk.jmh.runner.BenchmarkListEntry java.util.Iterator top java.util.Iterator
StackMap stack:
61: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.openjdk.jmh.runner.WorkloadParams
astore 8
start local 8 62: aload 5
aload 6
aload 8
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.cloneWith:(Lorg/openjdk/jmh/runner/WorkloadParams;)Lorg/openjdk/jmh/runner/BenchmarkListEntry;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 8 63: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 61
64: goto 66
65: StackMap locals: org.openjdk.jmh.runner.Runner java.util.Set int java.lang.String java.util.SortedSet java.util.List org.openjdk.jmh.runner.BenchmarkListEntry java.util.Iterator
StackMap stack:
aload 5
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 66: StackMap locals: org.openjdk.jmh.runner.Runner java.util.Set int java.lang.String java.util.SortedSet java.util.List top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 58
67: aload 4
invokeinterface java.util.SortedSet.clear:()V
68: aload 4
aload 5
invokeinterface java.util.SortedSet.addAll:(Ljava/util/Collection;)Z
pop
end local 5 69: aload 0
aload 4
invokevirtual org.openjdk.jmh.runner.Runner.runBenchmarks:(Ljava/util/SortedSet;)Ljava/util/Collection;
astore 5
start local 5 70: aload 3
ifnull 77
71: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getResultFormat:()Lorg/openjdk/jmh/util/Optional;
getstatic org.openjdk.jmh.runner.Defaults.RESULT_FORMAT:Lorg/openjdk/jmh/results/format/ResultFormatType;
invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.openjdk.jmh.results.format.ResultFormatType
72: aload 3
73: invokestatic org.openjdk.jmh.results.format.ResultFormatFactory.getInstance:(Lorg/openjdk/jmh/results/format/ResultFormatType;Ljava/lang/String;)Lorg/openjdk/jmh/results/format/ResultFormat;
74: aload 5
invokeinterface org.openjdk.jmh.results.format.ResultFormat.writeOut:(Ljava/util/Collection;)V
75: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
ldc ""
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
76: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
new java.lang.StringBuilder
dup
ldc "Benchmark result is saved to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
77: StackMap locals: org.openjdk.jmh.runner.Runner java.util.Set int java.lang.String java.util.SortedSet java.util.Collection
StackMap stack:
aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.flush:()V
78: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.close:()V
79: aload 5
areturn
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 80 0 this Lorg/openjdk/jmh/runner/Runner;
1 80 1 profilerClasses Ljava/util/Set<Ljava/lang/String;>;
2 80 2 someProfilersFail Z
4 13 3 p Lorg/openjdk/jmh/runner/options/ProfilerConfig;
9 11 5 e Lorg/openjdk/jmh/profile/ProfilerException;
15 80 3 resultFile Ljava/lang/String;
26 80 4 benchmarks Ljava/util/SortedSet<Lorg/openjdk/jmh/runner/BenchmarkListEntry;>;
32 41 5 newBenchmarks Ljava/util/List<Lorg/openjdk/jmh/runner/BenchmarkListEntry;>;
34 38 6 br Lorg/openjdk/jmh/runner/BenchmarkListEntry;
36 37 8 m Lorg/openjdk/jmh/annotations/Mode;
42 56 5 newBenchmarks Ljava/util/List<Lorg/openjdk/jmh/runner/BenchmarkListEntry;>;
44 53 6 br Lorg/openjdk/jmh/runner/BenchmarkListEntry;
47 49 8 mode Lorg/openjdk/jmh/annotations/Mode;
57 69 5 newBenchmarks Ljava/util/List<Lorg/openjdk/jmh/runner/BenchmarkListEntry;>;
59 66 6 br Lorg/openjdk/jmh/runner/BenchmarkListEntry;
62 63 8 p Lorg/openjdk/jmh/runner/WorkloadParams;
70 80 5 results Ljava/util/Collection<Lorg/openjdk/jmh/results/RunResult;>;
Exception table:
from to target type
6 7 8 Class org.openjdk.jmh.profile.ProfilerException
21 22 23 Class java.io.IOException
Exceptions:
throws org.openjdk.jmh.runner.RunnerException
Signature: ()Ljava/util/Collection<Lorg/openjdk/jmh/results/RunResult;>;
private java.util.List<org.openjdk.jmh.runner.ActionPlan> getActionPlans(java.util.Set<org.openjdk.jmh.runner.BenchmarkListEntry>);
descriptor: (Ljava/util/Set;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=12, args_size=2
start local 0 start local 1 0: new org.openjdk.jmh.runner.ActionPlan
dup
getstatic org.openjdk.jmh.runner.ActionType.FORKED:Lorg/openjdk/jmh/runner/ActionType;
invokespecial org.openjdk.jmh.runner.ActionPlan.<init>:(Lorg/openjdk/jmh/runner/ActionType;)V
astore 2
start local 2 1: new java.util.LinkedHashSet
dup
invokespecial java.util.LinkedHashSet.<init>:()V
astore 3
start local 3 2: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getWarmupIncludes:()Ljava/util/List;
astore 4
start local 4 3: aload 4
ifnull 5
aload 4
invokeinterface java.util.List.isEmpty:()Z
ifne 5
4: aload 3
aload 0
getfield org.openjdk.jmh.runner.Runner.list:Lorg/openjdk/jmh/runner/BenchmarkList;
aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
aload 4
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
invokevirtual org.openjdk.jmh.runner.BenchmarkList.find:(Lorg/openjdk/jmh/runner/format/OutputFormat;Ljava/util/List;Ljava/util/List;)Ljava/util/SortedSet;
invokevirtual java.util.LinkedHashSet.addAll:(Ljava/util/Collection;)Z
pop
5: StackMap locals: org.openjdk.jmh.runner.ActionPlan java.util.LinkedHashSet java.util.List
StackMap stack:
aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getWarmupMode:()Lorg/openjdk/jmh/util/Optional;
getstatic org.openjdk.jmh.runner.Defaults.WARMUP_MODE:Lorg/openjdk/jmh/runner/options/WarmupMode;
invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.openjdk.jmh.runner.options.WarmupMode
invokevirtual org.openjdk.jmh.runner.options.WarmupMode.isBulk:()Z
ifeq 7
6: aload 3
aload 1
invokevirtual java.util.LinkedHashSet.addAll:(Ljava/util/Collection;)Z
pop
7: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.util.LinkedHashSet.iterator:()Ljava/util/Iterator;
astore 6
goto 10
StackMap locals: org.openjdk.jmh.runner.Runner java.util.Set org.openjdk.jmh.runner.ActionPlan java.util.LinkedHashSet java.util.List top java.util.Iterator
StackMap stack:
8: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.openjdk.jmh.runner.BenchmarkListEntry
astore 5
start local 5 9: aload 2
aload 0
aload 5
getstatic org.openjdk.jmh.runner.ActionMode.WARMUP:Lorg/openjdk/jmh/runner/ActionMode;
invokevirtual org.openjdk.jmh.runner.Runner.newAction:(Lorg/openjdk/jmh/runner/BenchmarkListEntry;Lorg/openjdk/jmh/runner/ActionMode;)Lorg/openjdk/jmh/runner/Action;
invokevirtual org.openjdk.jmh.runner.ActionPlan.add:(Lorg/openjdk/jmh/runner/Action;)V
end local 5 10: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
11: new org.openjdk.jmh.runner.ActionPlan
dup
getstatic org.openjdk.jmh.runner.ActionType.EMBEDDED:Lorg/openjdk/jmh/runner/ActionType;
invokespecial org.openjdk.jmh.runner.ActionPlan.<init>:(Lorg/openjdk/jmh/runner/ActionType;)V
astore 5
start local 5 12: aload 5
aload 2
invokevirtual org.openjdk.jmh.runner.ActionPlan.mixIn:(Lorg/openjdk/jmh/runner/ActionPlan;)V
13: iconst_0
istore 6
start local 6 14: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 7
start local 7 15: aload 1
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 9
goto 32
StackMap locals: org.openjdk.jmh.runner.Runner java.util.Set org.openjdk.jmh.runner.ActionPlan java.util.LinkedHashSet java.util.List org.openjdk.jmh.runner.ActionPlan int java.util.List top java.util.Iterator
StackMap stack:
16: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.openjdk.jmh.runner.BenchmarkListEntry
astore 8
start local 8 17: aload 0
aload 8
getstatic org.openjdk.jmh.runner.ActionMode.UNDEF:Lorg/openjdk/jmh/runner/ActionMode;
invokevirtual org.openjdk.jmh.runner.Runner.newBenchmarkParams:(Lorg/openjdk/jmh/runner/BenchmarkListEntry;Lorg/openjdk/jmh/runner/ActionMode;)Lorg/openjdk/jmh/infra/BenchmarkParams;
astore 10
start local 10 18: aload 10
invokevirtual org.openjdk.jmh.infra.BenchmarkParams.getForks:()I
ifgt 24
19: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getWarmupMode:()Lorg/openjdk/jmh/util/Optional;
getstatic org.openjdk.jmh.runner.Defaults.WARMUP_MODE:Lorg/openjdk/jmh/runner/options/WarmupMode;
invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.openjdk.jmh.runner.options.WarmupMode
invokevirtual org.openjdk.jmh.runner.options.WarmupMode.isIndi:()Z
ifeq 22
20: aload 5
aload 0
aload 8
getstatic org.openjdk.jmh.runner.ActionMode.WARMUP_MEASUREMENT:Lorg/openjdk/jmh/runner/ActionMode;
invokevirtual org.openjdk.jmh.runner.Runner.newAction:(Lorg/openjdk/jmh/runner/BenchmarkListEntry;Lorg/openjdk/jmh/runner/ActionMode;)Lorg/openjdk/jmh/runner/Action;
invokevirtual org.openjdk.jmh.runner.ActionPlan.add:(Lorg/openjdk/jmh/runner/Action;)V
21: goto 23
22: StackMap locals: org.openjdk.jmh.runner.Runner java.util.Set org.openjdk.jmh.runner.ActionPlan java.util.LinkedHashSet java.util.List org.openjdk.jmh.runner.ActionPlan int java.util.List org.openjdk.jmh.runner.BenchmarkListEntry java.util.Iterator org.openjdk.jmh.infra.BenchmarkParams
StackMap stack:
aload 5
aload 0
aload 8
getstatic org.openjdk.jmh.runner.ActionMode.MEASUREMENT:Lorg/openjdk/jmh/runner/ActionMode;
invokevirtual org.openjdk.jmh.runner.Runner.newAction:(Lorg/openjdk/jmh/runner/BenchmarkListEntry;Lorg/openjdk/jmh/runner/ActionMode;)Lorg/openjdk/jmh/runner/Action;
invokevirtual org.openjdk.jmh.runner.ActionPlan.add:(Lorg/openjdk/jmh/runner/Action;)V
23: StackMap locals:
StackMap stack:
iconst_1
istore 6
24: StackMap locals:
StackMap stack:
aload 10
invokevirtual org.openjdk.jmh.infra.BenchmarkParams.getForks:()I
ifle 32
25: new org.openjdk.jmh.runner.ActionPlan
dup
getstatic org.openjdk.jmh.runner.ActionType.FORKED:Lorg/openjdk/jmh/runner/ActionType;
invokespecial org.openjdk.jmh.runner.ActionPlan.<init>:(Lorg/openjdk/jmh/runner/ActionType;)V
astore 11
start local 11 26: aload 11
aload 2
invokevirtual org.openjdk.jmh.runner.ActionPlan.mixIn:(Lorg/openjdk/jmh/runner/ActionPlan;)V
27: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getWarmupMode:()Lorg/openjdk/jmh/util/Optional;
getstatic org.openjdk.jmh.runner.Defaults.WARMUP_MODE:Lorg/openjdk/jmh/runner/options/WarmupMode;
invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.openjdk.jmh.runner.options.WarmupMode
invokevirtual org.openjdk.jmh.runner.options.WarmupMode.isIndi:()Z
ifeq 30
28: aload 11
aload 0
aload 8
getstatic org.openjdk.jmh.runner.ActionMode.WARMUP_MEASUREMENT:Lorg/openjdk/jmh/runner/ActionMode;
invokevirtual org.openjdk.jmh.runner.Runner.newAction:(Lorg/openjdk/jmh/runner/BenchmarkListEntry;Lorg/openjdk/jmh/runner/ActionMode;)Lorg/openjdk/jmh/runner/Action;
invokevirtual org.openjdk.jmh.runner.ActionPlan.add:(Lorg/openjdk/jmh/runner/Action;)V
29: goto 31
30: StackMap locals: org.openjdk.jmh.runner.ActionPlan
StackMap stack:
aload 11
aload 0
aload 8
getstatic org.openjdk.jmh.runner.ActionMode.MEASUREMENT:Lorg/openjdk/jmh/runner/ActionMode;
invokevirtual org.openjdk.jmh.runner.Runner.newAction:(Lorg/openjdk/jmh/runner/BenchmarkListEntry;Lorg/openjdk/jmh/runner/ActionMode;)Lorg/openjdk/jmh/runner/Action;
invokevirtual org.openjdk.jmh.runner.ActionPlan.add:(Lorg/openjdk/jmh/runner/Action;)V
31: StackMap locals:
StackMap stack:
aload 7
aload 11
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 11 end local 10 end local 8 32: StackMap locals: org.openjdk.jmh.runner.Runner java.util.Set org.openjdk.jmh.runner.ActionPlan java.util.LinkedHashSet java.util.List org.openjdk.jmh.runner.ActionPlan int java.util.List top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
33: iload 6
ifeq 35
34: aload 7
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
35: StackMap locals: org.openjdk.jmh.runner.Runner java.util.Set org.openjdk.jmh.runner.ActionPlan java.util.LinkedHashSet java.util.List org.openjdk.jmh.runner.ActionPlan int java.util.List
StackMap stack:
aload 7
areturn
end local 7 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 36 0 this Lorg/openjdk/jmh/runner/Runner;
0 36 1 benchmarks Ljava/util/Set<Lorg/openjdk/jmh/runner/BenchmarkListEntry;>;
1 36 2 base Lorg/openjdk/jmh/runner/ActionPlan;
2 36 3 warmupBenches Ljava/util/LinkedHashSet<Lorg/openjdk/jmh/runner/BenchmarkListEntry;>;
3 36 4 warmupMicrosRegexp Ljava/util/List<Ljava/lang/String;>;
9 10 5 wr Lorg/openjdk/jmh/runner/BenchmarkListEntry;
12 36 5 embeddedPlan Lorg/openjdk/jmh/runner/ActionPlan;
14 36 6 addEmbedded Z
15 36 7 result Ljava/util/List<Lorg/openjdk/jmh/runner/ActionPlan;>;
17 32 8 br Lorg/openjdk/jmh/runner/BenchmarkListEntry;
18 32 10 params Lorg/openjdk/jmh/infra/BenchmarkParams;
26 32 11 r Lorg/openjdk/jmh/runner/ActionPlan;
Signature: (Ljava/util/Set<Lorg/openjdk/jmh/runner/BenchmarkListEntry;>;)Ljava/util/List<Lorg/openjdk/jmh/runner/ActionPlan;>;
MethodParameters:
Name Flags
benchmarks
private org.openjdk.jmh.runner.Action newAction(org.openjdk.jmh.runner.BenchmarkListEntry, org.openjdk.jmh.runner.ActionMode);
descriptor: (Lorg/openjdk/jmh/runner/BenchmarkListEntry;Lorg/openjdk/jmh/runner/ActionMode;)Lorg/openjdk/jmh/runner/Action;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new org.openjdk.jmh.runner.Action
dup
aload 0
aload 1
aload 2
invokevirtual org.openjdk.jmh.runner.Runner.newBenchmarkParams:(Lorg/openjdk/jmh/runner/BenchmarkListEntry;Lorg/openjdk/jmh/runner/ActionMode;)Lorg/openjdk/jmh/infra/BenchmarkParams;
aload 2
invokespecial org.openjdk.jmh.runner.Action.<init>:(Lorg/openjdk/jmh/infra/BenchmarkParams;Lorg/openjdk/jmh/runner/ActionMode;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/openjdk/jmh/runner/Runner;
0 1 1 br Lorg/openjdk/jmh/runner/BenchmarkListEntry;
0 1 2 mode Lorg/openjdk/jmh/runner/ActionMode;
MethodParameters:
Name Flags
br
mode
private org.openjdk.jmh.infra.BenchmarkParams newBenchmarkParams(org.openjdk.jmh.runner.BenchmarkListEntry, org.openjdk.jmh.runner.ActionMode);
descriptor: (Lorg/openjdk/jmh/runner/BenchmarkListEntry;Lorg/openjdk/jmh/runner/ActionMode;)Lorg/openjdk/jmh/infra/BenchmarkParams;
flags: (0x0002) ACC_PRIVATE
Code:
stack=23, locals=19, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getThreadGroups:()Lorg/openjdk/jmh/util/Optional;
aload 1
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getThreadGroups:()[I
invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast int[]
astore 3
start local 3 1: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getThreads:()Lorg/openjdk/jmh/util/Optional;
2: aload 1
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getThreads:()Lorg/openjdk/jmh/util/Optional;
3: iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
4: invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
5: invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 4
start local 4 6: iload 4
iconst_m1
if_icmpne 12
7: aload 0
getfield org.openjdk.jmh.runner.Runner.cpuCount:I
ifne 11
8: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
ldc "# Detecting actual CPU count: "
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.print:(Ljava/lang/String;)V
9: aload 0
invokestatic org.openjdk.jmh.util.Utils.figureOutHotCPUs:()I
putfield org.openjdk.jmh.runner.Runner.cpuCount:I
10: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
new java.lang.StringBuilder
dup
aload 0
getfield org.openjdk.jmh.runner.Runner.cpuCount:I
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " detected"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
11: StackMap locals: int[] int
StackMap stack:
aload 0
getfield org.openjdk.jmh.runner.Runner.cpuCount:I
istore 4
12: StackMap locals:
StackMap stack:
iload 4
aload 3
invokestatic org.openjdk.jmh.util.Utils.sum:([I)I
invokestatic org.openjdk.jmh.util.Utils.roundUp:(II)I
istore 4
13: aload 1
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getMode:()Lorg/openjdk/jmh/annotations/Mode;
getstatic org.openjdk.jmh.annotations.Mode.SingleShotTime:Lorg/openjdk/jmh/annotations/Mode;
if_acmpeq 16
14: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.shouldSyncIterations:()Lorg/openjdk/jmh/util/Optional;
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 16
15: iconst_1
goto 17
StackMap locals:
StackMap stack:
16: iconst_0
StackMap locals:
StackMap stack: int
17: istore 5
start local 5 18: aload 2
invokevirtual org.openjdk.jmh.runner.ActionMode.doMeasurement:()Z
ifeq 41
19: new org.openjdk.jmh.infra.IterationParams
dup
20: getstatic org.openjdk.jmh.runner.IterationType.MEASUREMENT:Lorg/openjdk/jmh/runner/IterationType;
21: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getMeasurementIterations:()Lorg/openjdk/jmh/util/Optional;
22: aload 1
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getMeasurementIterations:()Lorg/openjdk/jmh/util/Optional;
23: aload 1
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getMode:()Lorg/openjdk/jmh/annotations/Mode;
getstatic org.openjdk.jmh.annotations.Mode.SingleShotTime:Lorg/openjdk/jmh/annotations/Mode;
if_acmpne 24
iconst_1
goto 25
StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.BenchmarkListEntry org.openjdk.jmh.runner.ActionMode int[] int int
StackMap stack: new 19 new 19 org.openjdk.jmh.runner.IterationType org.openjdk.jmh.util.Optional org.openjdk.jmh.util.Optional
24: iconst_5
StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.BenchmarkListEntry org.openjdk.jmh.runner.ActionMode int[] int int
StackMap stack: new 19 new 19 org.openjdk.jmh.runner.IterationType org.openjdk.jmh.util.Optional org.openjdk.jmh.util.Optional int
25: invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
26: invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
27: invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
28: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getMeasurementTime:()Lorg/openjdk/jmh/util/Optional;
29: aload 1
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getMeasurementTime:()Lorg/openjdk/jmh/util/Optional;
30: aload 1
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getMode:()Lorg/openjdk/jmh/annotations/Mode;
getstatic org.openjdk.jmh.annotations.Mode.SingleShotTime:Lorg/openjdk/jmh/annotations/Mode;
if_acmpne 31
getstatic org.openjdk.jmh.runner.options.TimeValue.NONE:Lorg/openjdk/jmh/runner/options/TimeValue;
goto 32
StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.BenchmarkListEntry org.openjdk.jmh.runner.ActionMode int[] int int
StackMap stack: new 19 new 19 org.openjdk.jmh.runner.IterationType int org.openjdk.jmh.util.Optional org.openjdk.jmh.util.Optional
31: getstatic org.openjdk.jmh.runner.Defaults.MEASUREMENT_TIME:Lorg/openjdk/jmh/runner/options/TimeValue;
32: StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.BenchmarkListEntry org.openjdk.jmh.runner.ActionMode int[] int int
StackMap stack: new 19 new 19 org.openjdk.jmh.runner.IterationType int org.openjdk.jmh.util.Optional org.openjdk.jmh.util.Optional org.openjdk.jmh.runner.options.TimeValue
invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.openjdk.jmh.runner.options.TimeValue
33: invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.openjdk.jmh.runner.options.TimeValue
34: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getMeasurementBatchSize:()Lorg/openjdk/jmh/util/Optional;
35: aload 1
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getMeasurementBatchSize:()Lorg/openjdk/jmh/util/Optional;
36: iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
37: invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
38: invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
39: invokespecial org.openjdk.jmh.infra.IterationParams.<init>:(Lorg/openjdk/jmh/runner/IterationType;ILorg/openjdk/jmh/runner/options/TimeValue;I)V
40: goto 42
41: StackMap locals:
StackMap stack:
new org.openjdk.jmh.infra.IterationParams
dup
getstatic org.openjdk.jmh.runner.IterationType.MEASUREMENT:Lorg/openjdk/jmh/runner/IterationType;
iconst_0
getstatic org.openjdk.jmh.runner.options.TimeValue.NONE:Lorg/openjdk/jmh/runner/options/TimeValue;
iconst_1
invokespecial org.openjdk.jmh.infra.IterationParams.<init>:(Lorg/openjdk/jmh/runner/IterationType;ILorg/openjdk/jmh/runner/options/TimeValue;I)V
42: StackMap locals:
StackMap stack: org.openjdk.jmh.infra.IterationParams
astore 6
start local 6 43: aload 2
invokevirtual org.openjdk.jmh.runner.ActionMode.doWarmup:()Z
ifeq 66
44: new org.openjdk.jmh.infra.IterationParams
dup
45: getstatic org.openjdk.jmh.runner.IterationType.WARMUP:Lorg/openjdk/jmh/runner/IterationType;
46: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getWarmupIterations:()Lorg/openjdk/jmh/util/Optional;
47: aload 1
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getWarmupIterations:()Lorg/openjdk/jmh/util/Optional;
48: aload 1
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getMode:()Lorg/openjdk/jmh/annotations/Mode;
getstatic org.openjdk.jmh.annotations.Mode.SingleShotTime:Lorg/openjdk/jmh/annotations/Mode;
if_acmpne 49
iconst_0
goto 50
StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.BenchmarkListEntry org.openjdk.jmh.runner.ActionMode int[] int int org.openjdk.jmh.infra.IterationParams
StackMap stack: new 44 new 44 org.openjdk.jmh.runner.IterationType org.openjdk.jmh.util.Optional org.openjdk.jmh.util.Optional
49: iconst_5
StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.BenchmarkListEntry org.openjdk.jmh.runner.ActionMode int[] int int org.openjdk.jmh.infra.IterationParams
StackMap stack: new 44 new 44 org.openjdk.jmh.runner.IterationType org.openjdk.jmh.util.Optional org.openjdk.jmh.util.Optional int
50: invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
51: invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
52: invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
53: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getWarmupTime:()Lorg/openjdk/jmh/util/Optional;
54: aload 1
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getWarmupTime:()Lorg/openjdk/jmh/util/Optional;
55: aload 1
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getMode:()Lorg/openjdk/jmh/annotations/Mode;
getstatic org.openjdk.jmh.annotations.Mode.SingleShotTime:Lorg/openjdk/jmh/annotations/Mode;
if_acmpne 56
getstatic org.openjdk.jmh.runner.options.TimeValue.NONE:Lorg/openjdk/jmh/runner/options/TimeValue;
goto 57
StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.BenchmarkListEntry org.openjdk.jmh.runner.ActionMode int[] int int org.openjdk.jmh.infra.IterationParams
StackMap stack: new 44 new 44 org.openjdk.jmh.runner.IterationType int org.openjdk.jmh.util.Optional org.openjdk.jmh.util.Optional
56: getstatic org.openjdk.jmh.runner.Defaults.WARMUP_TIME:Lorg/openjdk/jmh/runner/options/TimeValue;
57: StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.BenchmarkListEntry org.openjdk.jmh.runner.ActionMode int[] int int org.openjdk.jmh.infra.IterationParams
StackMap stack: new 44 new 44 org.openjdk.jmh.runner.IterationType int org.openjdk.jmh.util.Optional org.openjdk.jmh.util.Optional org.openjdk.jmh.runner.options.TimeValue
invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.openjdk.jmh.runner.options.TimeValue
58: invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.openjdk.jmh.runner.options.TimeValue
59: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getWarmupBatchSize:()Lorg/openjdk/jmh/util/Optional;
60: aload 1
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getWarmupBatchSize:()Lorg/openjdk/jmh/util/Optional;
61: iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
62: invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
63: invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
64: invokespecial org.openjdk.jmh.infra.IterationParams.<init>:(Lorg/openjdk/jmh/runner/IterationType;ILorg/openjdk/jmh/runner/options/TimeValue;I)V
65: goto 67
66: StackMap locals:
StackMap stack:
new org.openjdk.jmh.infra.IterationParams
dup
getstatic org.openjdk.jmh.runner.IterationType.WARMUP:Lorg/openjdk/jmh/runner/IterationType;
iconst_0
getstatic org.openjdk.jmh.runner.options.TimeValue.NONE:Lorg/openjdk/jmh/runner/options/TimeValue;
iconst_1
invokespecial org.openjdk.jmh.infra.IterationParams.<init>:(Lorg/openjdk/jmh/runner/IterationType;ILorg/openjdk/jmh/runner/options/TimeValue;I)V
67: StackMap locals:
StackMap stack: org.openjdk.jmh.infra.IterationParams
astore 7
start local 7 68: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getForkCount:()Lorg/openjdk/jmh/util/Optional;
69: aload 1
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getForks:()Lorg/openjdk/jmh/util/Optional;
70: iconst_5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
71: invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
72: invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 8
start local 8 73: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getWarmupForkCount:()Lorg/openjdk/jmh/util/Optional;
74: aload 1
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getWarmupForks:()Lorg/openjdk/jmh/util/Optional;
75: iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
76: invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
77: invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 9
start local 9 78: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getTimeUnit:()Lorg/openjdk/jmh/util/Optional;
79: aload 1
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getTimeUnit:()Lorg/openjdk/jmh/util/Optional;
80: getstatic org.openjdk.jmh.runner.Defaults.OUTPUT_TIMEUNIT:Ljava/util/concurrent/TimeUnit;
81: invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.concurrent.TimeUnit
82: invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.concurrent.TimeUnit
astore 10
start local 10 83: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getOperationsPerInvocation:()Lorg/openjdk/jmh/util/Optional;
84: aload 1
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getOperationsPerInvocation:()Lorg/openjdk/jmh/util/Optional;
85: getstatic org.openjdk.jmh.runner.Defaults.OPS_PER_INVOCATION:Ljava/lang/Integer;
86: invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
87: invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 11
start local 11 88: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getJvm:()Lorg/openjdk/jmh/util/Optional;
89: aload 1
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getJvm:()Lorg/openjdk/jmh/util/Optional;
invokestatic org.openjdk.jmh.util.Utils.getCurrentJvm:()Ljava/lang/String;
invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
90: invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 12
start local 12 91: aload 12
invokestatic org.openjdk.jmh.util.Utils.getCurrentJvm:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 94
92: invokestatic org.openjdk.jmh.util.Utils.getRecordedSystemProperties:()Ljava/util/Properties;
astore 13
start local 13 93: goto 95
end local 13 94: StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.BenchmarkListEntry org.openjdk.jmh.runner.ActionMode int[] int int org.openjdk.jmh.infra.IterationParams org.openjdk.jmh.infra.IterationParams int int java.util.concurrent.TimeUnit int java.lang.String
StackMap stack:
aload 0
aload 12
invokevirtual org.openjdk.jmh.runner.Runner.getPrintPropertiesCommand:(Ljava/lang/String;)Ljava/util/List;
invokestatic org.openjdk.jmh.util.Utils.readPropertiesFromCommand:(Ljava/util/List;)Ljava/util/Properties;
astore 13
start local 13 95: StackMap locals: java.util.Properties
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 14
start local 14 96: aload 14
aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getJvmArgsPrepend:()Lorg/openjdk/jmh/util/Optional;
97: aload 1
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getJvmArgsPrepend:()Lorg/openjdk/jmh/util/Optional;
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Collection
98: invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Collection
invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
pop
99: aload 14
aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getJvmArgs:()Lorg/openjdk/jmh/util/Optional;
100: aload 1
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getJvmArgs:()Lorg/openjdk/jmh/util/Optional;
invokestatic java.lang.management.ManagementFactory.getRuntimeMXBean:()Ljava/lang/management/RuntimeMXBean;
invokeinterface java.lang.management.RuntimeMXBean.getInputArguments:()Ljava/util/List;
invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Collection
101: invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Collection
invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
pop
102: aload 14
aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getJvmArgsAppend:()Lorg/openjdk/jmh/util/Optional;
103: aload 1
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getJvmArgsAppend:()Lorg/openjdk/jmh/util/Optional;
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Collection
104: invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Collection
invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
pop
105: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getTimeout:()Lorg/openjdk/jmh/util/Optional;
106: aload 1
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getTimeout:()Lorg/openjdk/jmh/util/Optional;
getstatic org.openjdk.jmh.runner.Defaults.TIMEOUT:Lorg/openjdk/jmh/runner/options/TimeValue;
invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.openjdk.jmh.runner.options.TimeValue
107: invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.openjdk.jmh.runner.options.TimeValue
astore 15
start local 15 108: aload 13
ldc "java.version"
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 16
start local 16 109: aload 13
ldc "java.vm.version"
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 17
start local 17 110: aload 13
ldc "java.vm.name"
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 18
start local 18 111: new org.openjdk.jmh.infra.BenchmarkParams
dup
aload 1
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getUsername:()Ljava/lang/String;
aload 1
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.generatedTarget:()Ljava/lang/String;
iload 5
112: iload 4
aload 3
aload 1
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getThreadGroupLabels:()Lorg/openjdk/jmh/util/Optional;
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Collection
113: iload 8
iload 9
114: aload 7
aload 6
aload 1
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getMode:()Lorg/openjdk/jmh/annotations/Mode;
aload 1
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getWorkloadParams:()Lorg/openjdk/jmh/runner/WorkloadParams;
aload 10
iload 11
115: aload 12
aload 14
116: aload 16
aload 18
aload 17
invokestatic org.openjdk.jmh.util.Version.getPlainVersion:()Ljava/lang/String;
117: aload 15
118: invokespecial org.openjdk.jmh.infra.BenchmarkParams.<init>:(Ljava/lang/String;Ljava/lang/String;ZI[ILjava/util/Collection;IILorg/openjdk/jmh/infra/IterationParams;Lorg/openjdk/jmh/infra/IterationParams;Lorg/openjdk/jmh/annotations/Mode;Lorg/openjdk/jmh/runner/WorkloadParams;Ljava/util/concurrent/TimeUnit;ILjava/lang/String;Ljava/util/Collection;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/openjdk/jmh/runner/options/TimeValue;)V
areturn
end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 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 119 0 this Lorg/openjdk/jmh/runner/Runner;
0 119 1 benchmark Lorg/openjdk/jmh/runner/BenchmarkListEntry;
0 119 2 mode Lorg/openjdk/jmh/runner/ActionMode;
1 119 3 threadGroups [I
6 119 4 threads I
18 119 5 synchIterations Z
43 119 6 measurement Lorg/openjdk/jmh/infra/IterationParams;
68 119 7 warmup Lorg/openjdk/jmh/infra/IterationParams;
73 119 8 forks I
78 119 9 warmupForks I
83 119 10 timeUnit Ljava/util/concurrent/TimeUnit;
88 119 11 opsPerInvocation I
91 119 12 jvm Ljava/lang/String;
93 94 13 targetProperties Ljava/util/Properties;
95 119 13 targetProperties Ljava/util/Properties;
96 119 14 jvmArgs Ljava/util/Collection<Ljava/lang/String;>;
108 119 15 timeout Lorg/openjdk/jmh/runner/options/TimeValue;
109 119 16 jdkVersion Ljava/lang/String;
110 119 17 vmVersion Ljava/lang/String;
111 119 18 vmName Ljava/lang/String;
MethodParameters:
Name Flags
benchmark
mode
private java.util.List<org.openjdk.jmh.runner.WorkloadParams> explodeAllParams(org.openjdk.jmh.runner.BenchmarkListEntry);
descriptor: (Lorg/openjdk/jmh/runner/BenchmarkListEntry;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=16, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getParams:()Lorg/openjdk/jmh/util/Optional;
invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Map
astore 2
start local 2 1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 2: aload 2
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 35
StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.BenchmarkListEntry java.util.Map java.util.List top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 4: aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 5: aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.String[]
astore 7
start local 7 6: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
aload 6
invokeinterface org.openjdk.jmh.runner.options.Options.getParameter:(Ljava/lang/String;)Lorg/openjdk/jmh/util/Optional;
aload 7
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Collection
astore 8
start local 8 7: aload 8
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 12
8: new org.openjdk.jmh.runner.RunnerException
dup
new java.lang.StringBuilder
dup
ldc "Benchmark \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getUsername:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: ldc "\" defines the parameter \""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\", but no default values.\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: ldc "Define the default values within the annotation, or provide the parameter values at runtime."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokespecial org.openjdk.jmh.runner.RunnerException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.BenchmarkListEntry java.util.Map java.util.List java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String[] java.util.Collection
StackMap stack:
aload 3
invokeinterface java.util.List.isEmpty:()Z
ifeq 22
13: iconst_0
istore 9
start local 9 14: aload 8
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 11
goto 20
StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.BenchmarkListEntry java.util.Map java.util.List java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String[] java.util.Collection int top java.util.Iterator
StackMap stack:
15: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 10
start local 10 16: new org.openjdk.jmh.runner.WorkloadParams
dup
invokespecial org.openjdk.jmh.runner.WorkloadParams.<init>:()V
astore 12
start local 12 17: aload 12
aload 6
aload 10
iload 9
invokevirtual org.openjdk.jmh.runner.WorkloadParams.put:(Ljava/lang/String;Ljava/lang/String;I)V
18: aload 3
aload 12
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
19: iinc 9 1
end local 12 end local 10 20: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
end local 9 21: goto 35
22: StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.BenchmarkListEntry java.util.Map java.util.List java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String[] java.util.Collection
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 9
start local 9 23: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 11
goto 33
StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.BenchmarkListEntry java.util.Map java.util.List java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String[] java.util.Collection java.util.List top java.util.Iterator
StackMap stack:
24: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.openjdk.jmh.runner.WorkloadParams
astore 10
start local 10 25: iconst_0
istore 12
start local 12 26: aload 8
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 14
goto 32
StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.BenchmarkListEntry java.util.Map java.util.List java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String[] java.util.Collection java.util.List org.openjdk.jmh.runner.WorkloadParams java.util.Iterator int top java.util.Iterator
StackMap stack:
27: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 13
start local 13 28: aload 10
invokevirtual org.openjdk.jmh.runner.WorkloadParams.copy:()Lorg/openjdk/jmh/runner/WorkloadParams;
astore 15
start local 15 29: aload 15
aload 6
aload 13
iload 12
invokevirtual org.openjdk.jmh.runner.WorkloadParams.put:(Ljava/lang/String;Ljava/lang/String;I)V
30: aload 9
aload 15
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
31: iinc 12 1
end local 15 end local 13 32: StackMap locals:
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 27
end local 12 end local 10 33: StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.BenchmarkListEntry java.util.Map java.util.List java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String[] java.util.Collection java.util.List top java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 24
34: aload 9
astore 3
end local 9 end local 8 end local 7 end local 6 end local 4 35: StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.BenchmarkListEntry java.util.Map java.util.List top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
36: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lorg/openjdk/jmh/runner/Runner;
0 37 1 br Lorg/openjdk/jmh/runner/BenchmarkListEntry;
1 37 2 benchParams Ljava/util/Map<Ljava/lang/String;[Ljava/lang/String;>;
2 37 3 ps Ljava/util/List<Lorg/openjdk/jmh/runner/WorkloadParams;>;
4 35 4 e Ljava/util/Map$Entry<Ljava/lang/String;[Ljava/lang/String;>;
5 35 6 k Ljava/lang/String;
6 35 7 vals [Ljava/lang/String;
7 35 8 values Ljava/util/Collection<Ljava/lang/String;>;
14 21 9 idx I
16 20 10 v Ljava/lang/String;
17 20 12 al Lorg/openjdk/jmh/runner/WorkloadParams;
23 35 9 newPs Ljava/util/List<Lorg/openjdk/jmh/runner/WorkloadParams;>;
25 33 10 p Lorg/openjdk/jmh/runner/WorkloadParams;
26 33 12 idx I
28 32 13 v Ljava/lang/String;
29 32 15 al Lorg/openjdk/jmh/runner/WorkloadParams;
Exceptions:
throws org.openjdk.jmh.runner.RunnerException
Signature: (Lorg/openjdk/jmh/runner/BenchmarkListEntry;)Ljava/util/List<Lorg/openjdk/jmh/runner/WorkloadParams;>;
MethodParameters:
Name Flags
br
private java.util.Collection<org.openjdk.jmh.results.RunResult> runBenchmarks(java.util.SortedSet<org.openjdk.jmh.runner.BenchmarkListEntry>);
descriptor: (Ljava/util/SortedSet;)Ljava/util/Collection;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.startRun:()V
1: new org.openjdk.jmh.util.TreeMultimap
dup
invokespecial org.openjdk.jmh.util.TreeMultimap.<init>:()V
astore 2
start local 2 2: aload 0
aload 1
invokevirtual org.openjdk.jmh.runner.Runner.getActionPlans:(Ljava/util/Set;)Ljava/util/List;
astore 3
start local 3 3: aload 0
aload 3
invokevirtual org.openjdk.jmh.runner.Runner.etaBeforeBenchmarks:(Ljava/util/Collection;)V
4: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 16
StackMap locals: org.openjdk.jmh.runner.Runner java.util.SortedSet org.openjdk.jmh.util.Multimap java.util.List top java.util.Iterator
StackMap stack:
5: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.openjdk.jmh.runner.ActionPlan
astore 4
start local 4 6: invokestatic org.openjdk.jmh.runner.Runner.$SWITCH_TABLE$org$openjdk$jmh$runner$ActionType:()[I
aload 4
invokevirtual org.openjdk.jmh.runner.ActionPlan.getType:()Lorg/openjdk/jmh/runner/ActionType;
invokevirtual org.openjdk.jmh.runner.ActionType.ordinal:()I
iaload
tableswitch { // 1 - 2
1: 7
2: 9
default: 11
}
7: StackMap locals: org.openjdk.jmh.runner.Runner java.util.SortedSet org.openjdk.jmh.util.Multimap java.util.List org.openjdk.jmh.runner.ActionPlan java.util.Iterator
StackMap stack:
aload 0
aload 4
invokevirtual org.openjdk.jmh.runner.Runner.runBenchmarksEmbedded:(Lorg/openjdk/jmh/runner/ActionPlan;)Lorg/openjdk/jmh/util/Multimap;
astore 6
start local 6 8: goto 12
end local 6 9: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual org.openjdk.jmh.runner.Runner.runSeparate:(Lorg/openjdk/jmh/runner/ActionPlan;)Lorg/openjdk/jmh/util/Multimap;
astore 6
start local 6 10: goto 12
end local 6 11: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Unknown action plan type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual org.openjdk.jmh.runner.ActionPlan.getType:()Lorg/openjdk/jmh/runner/ActionType;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
start local 6 12: StackMap locals: org.openjdk.jmh.util.Multimap
StackMap stack:
aload 6
invokeinterface org.openjdk.jmh.util.Multimap.keys:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 8
goto 15
StackMap locals: org.openjdk.jmh.runner.Runner java.util.SortedSet org.openjdk.jmh.util.Multimap java.util.List org.openjdk.jmh.runner.ActionPlan java.util.Iterator org.openjdk.jmh.util.Multimap top java.util.Iterator
StackMap stack:
13: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.openjdk.jmh.infra.BenchmarkParams
astore 7
start local 7 14: aload 2
aload 7
aload 6
aload 7
invokeinterface org.openjdk.jmh.util.Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
invokeinterface org.openjdk.jmh.util.Multimap.putAll:(Ljava/lang/Object;Ljava/util/Collection;)V
end local 7 15: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
end local 6 end local 4 16: StackMap locals: org.openjdk.jmh.runner.Runner java.util.SortedSet org.openjdk.jmh.util.Multimap java.util.List top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
17: aload 0
invokevirtual org.openjdk.jmh.runner.Runner.etaAfterBenchmarks:()V
18: aload 0
aload 2
invokevirtual org.openjdk.jmh.runner.Runner.mergeRunResults:(Lorg/openjdk/jmh/util/Multimap;)Ljava/util/SortedSet;
astore 4
start local 4 19: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
aload 4
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.endRun:(Ljava/util/Collection;)V
20: aload 4
21: areturn
end local 4 22: StackMap locals: org.openjdk.jmh.runner.Runner java.util.SortedSet org.openjdk.jmh.util.Multimap java.util.List
StackMap stack: org.openjdk.jmh.runner.BenchmarkException
astore 4
start local 4 23: new org.openjdk.jmh.runner.RunnerException
dup
ldc "Benchmark caught the exception"
aload 4
invokespecial org.openjdk.jmh.runner.RunnerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
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/openjdk/jmh/runner/Runner;
0 24 1 benchmarks Ljava/util/SortedSet<Lorg/openjdk/jmh/runner/BenchmarkListEntry;>;
2 24 2 results Lorg/openjdk/jmh/util/Multimap<Lorg/openjdk/jmh/infra/BenchmarkParams;Lorg/openjdk/jmh/results/BenchmarkResult;>;
3 24 3 plan Ljava/util/List<Lorg/openjdk/jmh/runner/ActionPlan;>;
6 16 4 r Lorg/openjdk/jmh/runner/ActionPlan;
8 9 6 res Lorg/openjdk/jmh/util/Multimap<Lorg/openjdk/jmh/infra/BenchmarkParams;Lorg/openjdk/jmh/results/BenchmarkResult;>;
10 11 6 res Lorg/openjdk/jmh/util/Multimap<Lorg/openjdk/jmh/infra/BenchmarkParams;Lorg/openjdk/jmh/results/BenchmarkResult;>;
12 16 6 res Lorg/openjdk/jmh/util/Multimap<Lorg/openjdk/jmh/infra/BenchmarkParams;Lorg/openjdk/jmh/results/BenchmarkResult;>;
14 15 7 br Lorg/openjdk/jmh/infra/BenchmarkParams;
19 22 4 runResults Ljava/util/SortedSet<Lorg/openjdk/jmh/results/RunResult;>;
23 24 4 be Lorg/openjdk/jmh/runner/BenchmarkException;
Exception table:
from to target type
4 21 22 Class org.openjdk.jmh.runner.BenchmarkException
Exceptions:
throws org.openjdk.jmh.runner.RunnerException
Signature: (Ljava/util/SortedSet<Lorg/openjdk/jmh/runner/BenchmarkListEntry;>;)Ljava/util/Collection<Lorg/openjdk/jmh/results/RunResult;>;
MethodParameters:
Name Flags
benchmarks
private java.util.SortedSet<org.openjdk.jmh.results.RunResult> mergeRunResults(org.openjdk.jmh.util.Multimap<org.openjdk.jmh.infra.BenchmarkParams, org.openjdk.jmh.results.BenchmarkResult>);
descriptor: (Lorg/openjdk/jmh/util/Multimap;)Ljava/util/SortedSet;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: new java.util.TreeSet
dup
getstatic org.openjdk.jmh.results.RunResult.DEFAULT_SORT_COMPARATOR:Ljava/util/Comparator;
invokespecial java.util.TreeSet.<init>:(Ljava/util/Comparator;)V
astore 2
start local 2 1: aload 1
invokeinterface org.openjdk.jmh.util.Multimap.keys:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.util.Multimap java.util.SortedSet top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.openjdk.jmh.infra.BenchmarkParams
astore 3
start local 3 3: aload 2
new org.openjdk.jmh.results.RunResult
dup
aload 3
aload 1
aload 3
invokeinterface org.openjdk.jmh.util.Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
invokespecial org.openjdk.jmh.results.RunResult.<init>:(Lorg/openjdk/jmh/infra/BenchmarkParams;Ljava/util/Collection;)V
invokeinterface java.util.SortedSet.add:(Ljava/lang/Object;)Z
pop
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/openjdk/jmh/runner/Runner;
0 6 1 results Lorg/openjdk/jmh/util/Multimap<Lorg/openjdk/jmh/infra/BenchmarkParams;Lorg/openjdk/jmh/results/BenchmarkResult;>;
1 6 2 result Ljava/util/SortedSet<Lorg/openjdk/jmh/results/RunResult;>;
3 4 3 key Lorg/openjdk/jmh/infra/BenchmarkParams;
Signature: (Lorg/openjdk/jmh/util/Multimap<Lorg/openjdk/jmh/infra/BenchmarkParams;Lorg/openjdk/jmh/results/BenchmarkResult;>;)Ljava/util/SortedSet<Lorg/openjdk/jmh/results/RunResult;>;
MethodParameters:
Name Flags
results
private org.openjdk.jmh.util.Multimap<org.openjdk.jmh.infra.BenchmarkParams, org.openjdk.jmh.results.BenchmarkResult> runSeparate(org.openjdk.jmh.runner.ActionPlan);
descriptor: (Lorg/openjdk/jmh/runner/ActionPlan;)Lorg/openjdk/jmh/util/Multimap;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=30, args_size=2
start local 0 start local 1 0: new org.openjdk.jmh.util.HashMultimap
dup
invokespecial org.openjdk.jmh.util.HashMultimap.<init>:()V
astore 2
start local 2 1: aload 1
invokevirtual org.openjdk.jmh.runner.ActionPlan.getMeasurementActions:()Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
if_icmpeq 3
2: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Expect only single benchmark in the action plan, but was "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual org.openjdk.jmh.runner.ActionPlan.getMeasurementActions:()Ljava/util/List;
invokeinterface java.util.List.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: org.openjdk.jmh.util.Multimap
StackMap stack:
aconst_null
astore 3
start local 3 4: new org.openjdk.jmh.runner.link.BinaryLinkServer
dup
aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
invokespecial org.openjdk.jmh.runner.link.BinaryLinkServer.<init>:(Lorg/openjdk/jmh/runner/options/Options;Lorg/openjdk/jmh/runner/format/OutputFormat;)V
astore 3
5: aload 3
aload 1
invokevirtual org.openjdk.jmh.runner.link.BinaryLinkServer.setPlan:(Lorg/openjdk/jmh/runner/ActionPlan;)V
6: aload 1
invokevirtual org.openjdk.jmh.runner.ActionPlan.getMeasurementActions:()Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.openjdk.jmh.runner.Action
invokevirtual org.openjdk.jmh.runner.Action.getParams:()Lorg/openjdk/jmh/infra/BenchmarkParams;
astore 4
start local 4 7: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getProfilers:()Ljava/util/List;
invokestatic org.openjdk.jmh.profile.ProfilerFactory.getSupportedExternal:(Ljava/util/Collection;)Ljava/util/List;
astore 5
start local 5 8: iconst_1
istore 6
start local 6 9: iconst_1
istore 7
start local 7 10: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 14
StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.ActionPlan org.openjdk.jmh.util.Multimap org.openjdk.jmh.runner.link.BinaryLinkServer org.openjdk.jmh.infra.BenchmarkParams java.util.List int int top java.util.Iterator
StackMap stack:
11: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.openjdk.jmh.profile.ExternalProfiler
astore 8
start local 8 12: iload 6
aload 8
invokeinterface org.openjdk.jmh.profile.ExternalProfiler.allowPrintOut:()Z
iand
istore 6
13: iload 7
aload 8
invokeinterface org.openjdk.jmh.profile.ExternalProfiler.allowPrintErr:()Z
iand
istore 7
end local 8 14: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
15: new java.util.ArrayList
dup
aload 5
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 8
start local 8 16: aload 8
invokestatic java.util.Collections.reverse:(Ljava/util/List;)V
17: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.verbosity:()Lorg/openjdk/jmh/util/Optional;
getstatic org.openjdk.jmh.runner.Defaults.VERBOSITY:Lorg/openjdk/jmh/runner/options/VerboseMode;
invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.openjdk.jmh.runner.options.VerboseMode
getstatic org.openjdk.jmh.runner.options.VerboseMode.EXTRA:Lorg/openjdk/jmh/runner/options/VerboseMode;
invokevirtual org.openjdk.jmh.runner.options.VerboseMode.equalsOrHigherThan:(Lorg/openjdk/jmh/runner/options/VerboseMode;)Z
istore 9
start local 9 18: iload 9
ifne 19
iload 6
ifne 19
iconst_0
goto 20
StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.ActionPlan org.openjdk.jmh.util.Multimap org.openjdk.jmh.runner.link.BinaryLinkServer org.openjdk.jmh.infra.BenchmarkParams java.util.List int int java.util.List int
StackMap stack:
19: iconst_1
StackMap locals:
StackMap stack: int
20: istore 6
21: iload 9
ifne 22
iload 7
ifne 22
iconst_0
goto 23
StackMap locals:
StackMap stack:
22: iconst_1
StackMap locals:
StackMap stack: int
23: istore 7
24: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
aload 4
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.startBenchmark:(Lorg/openjdk/jmh/infra/BenchmarkParams;)V
25: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
ldc ""
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
26: aload 4
invokevirtual org.openjdk.jmh.infra.BenchmarkParams.getForks:()I
istore 10
start local 10 27: aload 4
invokevirtual org.openjdk.jmh.infra.BenchmarkParams.getWarmupForks:()I
istore 11
start local 11 28: iload 11
iload 10
iadd
istore 12
start local 12 29: iconst_0
istore 13
start local 13 30: goto 83
31: StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.ActionPlan org.openjdk.jmh.util.Multimap org.openjdk.jmh.runner.link.BinaryLinkServer org.openjdk.jmh.infra.BenchmarkParams java.util.List int int java.util.List int int int int int
StackMap stack:
iload 13
iload 11
if_icmpge 32
iconst_1
goto 33
StackMap locals:
StackMap stack:
32: iconst_0
StackMap locals:
StackMap stack: int
33: istore 14
start local 14 34: aload 0
aload 4
aload 5
aload 3
invokevirtual org.openjdk.jmh.runner.link.BinaryLinkServer.getHost:()Ljava/lang/String;
aload 3
invokevirtual org.openjdk.jmh.runner.link.BinaryLinkServer.getPort:()I
invokevirtual org.openjdk.jmh.runner.Runner.getForkedMainCommand:(Lorg/openjdk/jmh/infra/BenchmarkParams;Ljava/util/List;Ljava/lang/String;I)Ljava/util/List;
astore 15
start local 15 35: aload 0
invokevirtual org.openjdk.jmh.runner.Runner.etaBeforeBenchmark:()V
36: iload 14
ifeq 40
37: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
new java.lang.StringBuilder
dup
ldc "Warmup forking using command: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 15
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.verbosePrintln:(Ljava/lang/String;)V
38: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
new java.lang.StringBuilder
dup
ldc "# Warmup Fork: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 13
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " of "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 11
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
39: goto 42
40: StackMap locals: int java.util.List
StackMap stack:
aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
new java.lang.StringBuilder
dup
ldc "Forking using command: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 15
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.verbosePrintln:(Ljava/lang/String;)V
41: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
new java.lang.StringBuilder
dup
ldc "# Fork: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 13
iconst_1
iadd
iload 11
isub
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " of "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
42: StackMap locals:
StackMap stack:
ldc "stderr"
invokestatic org.openjdk.jmh.util.FileUtils.weakTempFile:(Ljava/lang/String;)Lorg/openjdk/jmh/util/TempFile;
astore 16
start local 16 43: ldc "stdout"
invokestatic org.openjdk.jmh.util.FileUtils.weakTempFile:(Ljava/lang/String;)Lorg/openjdk/jmh/util/TempFile;
astore 17
start local 17 44: aload 5
invokeinterface java.util.List.isEmpty:()Z
ifne 57
45: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
ldc "# Preparing profilers: "
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.print:(Ljava/lang/String;)V
46: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 19
goto 50
StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.ActionPlan org.openjdk.jmh.util.Multimap org.openjdk.jmh.runner.link.BinaryLinkServer org.openjdk.jmh.infra.BenchmarkParams java.util.List int int java.util.List int int int int int int java.util.List org.openjdk.jmh.util.TempFile org.openjdk.jmh.util.TempFile top java.util.Iterator
StackMap stack:
47: aload 19
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.openjdk.jmh.profile.ExternalProfiler
astore 18
start local 18 48: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
new java.lang.StringBuilder
dup
aload 18
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.print:(Ljava/lang/String;)V
49: aload 18
aload 4
invokeinterface org.openjdk.jmh.profile.ExternalProfiler.beforeTrial:(Lorg/openjdk/jmh/infra/BenchmarkParams;)V
end local 18 50: StackMap locals:
StackMap stack:
aload 19
invokeinterface java.util.Iterator.hasNext:()Z
ifne 47
51: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
ldc ""
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
52: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 18
start local 18 53: iload 6
ifne 54
aload 18
ldc "stdout"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
54: StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.ActionPlan org.openjdk.jmh.util.Multimap org.openjdk.jmh.runner.link.BinaryLinkServer org.openjdk.jmh.infra.BenchmarkParams java.util.List int int java.util.List int int int int int int java.util.List org.openjdk.jmh.util.TempFile org.openjdk.jmh.util.TempFile java.util.List
StackMap stack:
iload 7
ifne 55
aload 18
ldc "stderr"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
55: StackMap locals:
StackMap stack:
aload 18
invokeinterface java.util.List.isEmpty:()Z
ifne 57
56: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
new java.lang.StringBuilder
dup
ldc "# Profilers consume "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 18
ldc " and "
invokestatic org.openjdk.jmh.util.Utils.join:(Ljava/util/Collection;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " from target VM, use -v "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic org.openjdk.jmh.runner.options.VerboseMode.EXTRA:Lorg/openjdk/jmh/runner/options/VerboseMode;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " to copy to console"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
end local 18 57: StackMap locals:
StackMap stack:
invokestatic java.lang.System.currentTimeMillis:()J
lstore 18
start local 18 58: aload 0
aload 3
aload 15
aload 17
invokevirtual org.openjdk.jmh.util.TempFile.file:()Ljava/io/File;
aload 16
invokevirtual org.openjdk.jmh.util.TempFile.file:()Ljava/io/File;
iload 6
iload 7
invokevirtual org.openjdk.jmh.runner.Runner.doFork:(Lorg/openjdk/jmh/runner/link/BinaryLinkServer;Ljava/util/List;Ljava/io/File;Ljava/io/File;ZZ)Ljava/util/List;
astore 20
start local 20 59: aload 20
invokeinterface java.util.List.isEmpty:()Z
ifne 78
60: aload 3
invokevirtual org.openjdk.jmh.runner.link.BinaryLinkServer.getClientPid:()J
lstore 21
start local 21 61: aload 3
invokevirtual org.openjdk.jmh.runner.link.BinaryLinkServer.getMetadata:()Lorg/openjdk/jmh/results/BenchmarkResultMetaData;
astore 23
start local 23 62: aload 23
ifnull 64
63: aload 23
lload 18
invokevirtual org.openjdk.jmh.results.BenchmarkResultMetaData.adjustStart:(J)V
64: StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.ActionPlan org.openjdk.jmh.util.Multimap org.openjdk.jmh.runner.link.BinaryLinkServer org.openjdk.jmh.infra.BenchmarkParams java.util.List int int java.util.List int int int int int int java.util.List org.openjdk.jmh.util.TempFile org.openjdk.jmh.util.TempFile long java.util.List long org.openjdk.jmh.results.BenchmarkResultMetaData
StackMap stack:
new org.openjdk.jmh.results.BenchmarkResult
dup
aload 4
aload 20
aload 23
invokespecial org.openjdk.jmh.results.BenchmarkResult.<init>:(Lorg/openjdk/jmh/infra/BenchmarkParams;Ljava/util/Collection;Lorg/openjdk/jmh/results/BenchmarkResultMetaData;)V
astore 24
start local 24 65: aload 8
invokeinterface java.util.List.isEmpty:()Z
ifne 76
66: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
ldc "# Processing profiler results: "
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.print:(Ljava/lang/String;)V
67: aload 8
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 26
goto 74
StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.ActionPlan org.openjdk.jmh.util.Multimap org.openjdk.jmh.runner.link.BinaryLinkServer org.openjdk.jmh.infra.BenchmarkParams java.util.List int int java.util.List int int int int int int java.util.List org.openjdk.jmh.util.TempFile org.openjdk.jmh.util.TempFile long java.util.List long org.openjdk.jmh.results.BenchmarkResultMetaData org.openjdk.jmh.results.BenchmarkResult top java.util.Iterator
StackMap stack:
68: aload 26
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.openjdk.jmh.profile.ExternalProfiler
astore 25
start local 25 69: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
new java.lang.StringBuilder
dup
aload 25
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.print:(Ljava/lang/String;)V
70: aload 25
aload 24
lload 21
aload 17
invokevirtual org.openjdk.jmh.util.TempFile.file:()Ljava/io/File;
aload 16
invokevirtual org.openjdk.jmh.util.TempFile.file:()Ljava/io/File;
invokeinterface org.openjdk.jmh.profile.ExternalProfiler.afterTrial:(Lorg/openjdk/jmh/results/BenchmarkResult;JLjava/io/File;Ljava/io/File;)Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 28
goto 73
StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.ActionPlan org.openjdk.jmh.util.Multimap org.openjdk.jmh.runner.link.BinaryLinkServer org.openjdk.jmh.infra.BenchmarkParams java.util.List int int java.util.List int int int int int int java.util.List org.openjdk.jmh.util.TempFile org.openjdk.jmh.util.TempFile long java.util.List long org.openjdk.jmh.results.BenchmarkResultMetaData org.openjdk.jmh.results.BenchmarkResult org.openjdk.jmh.profile.ExternalProfiler java.util.Iterator top java.util.Iterator
StackMap stack:
71: aload 28
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.openjdk.jmh.results.Result
astore 27
start local 27 72: aload 24
aload 27
invokevirtual org.openjdk.jmh.results.BenchmarkResult.addBenchmarkResult:(Lorg/openjdk/jmh/results/Result;)V
end local 27 73: StackMap locals:
StackMap stack:
aload 28
invokeinterface java.util.Iterator.hasNext:()Z
ifne 71
end local 25 74: StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.ActionPlan org.openjdk.jmh.util.Multimap org.openjdk.jmh.runner.link.BinaryLinkServer org.openjdk.jmh.infra.BenchmarkParams java.util.List int int java.util.List int int int int int int java.util.List org.openjdk.jmh.util.TempFile org.openjdk.jmh.util.TempFile long java.util.List long org.openjdk.jmh.results.BenchmarkResultMetaData org.openjdk.jmh.results.BenchmarkResult top java.util.Iterator
StackMap stack:
aload 26
invokeinterface java.util.Iterator.hasNext:()Z
ifne 68
75: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
ldc ""
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
76: StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.ActionPlan org.openjdk.jmh.util.Multimap org.openjdk.jmh.runner.link.BinaryLinkServer org.openjdk.jmh.infra.BenchmarkParams java.util.List int int java.util.List int int int int int int java.util.List org.openjdk.jmh.util.TempFile org.openjdk.jmh.util.TempFile long java.util.List long org.openjdk.jmh.results.BenchmarkResultMetaData org.openjdk.jmh.results.BenchmarkResult
StackMap stack:
iload 14
ifne 78
77: aload 2
aload 4
aload 24
invokeinterface org.openjdk.jmh.util.Multimap.put:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 24 end local 23 end local 21 78: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual org.openjdk.jmh.runner.Runner.etaAfterBenchmark:(Lorg/openjdk/jmh/infra/BenchmarkParams;)V
79: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
ldc ""
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
80: aload 17
invokevirtual org.openjdk.jmh.util.TempFile.delete:()V
81: aload 16
invokevirtual org.openjdk.jmh.util.TempFile.delete:()V
end local 20 end local 18 end local 17 end local 16 end local 15 end local 14 82: iinc 13 1
StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.ActionPlan org.openjdk.jmh.util.Multimap org.openjdk.jmh.runner.link.BinaryLinkServer org.openjdk.jmh.infra.BenchmarkParams java.util.List int int java.util.List int int int int int
StackMap stack:
83: iload 13
iload 12
if_icmplt 31
end local 13 84: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
new org.openjdk.jmh.results.RunResult
dup
aload 4
aload 2
aload 4
invokeinterface org.openjdk.jmh.util.Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
invokespecial org.openjdk.jmh.results.RunResult.<init>:(Lorg/openjdk/jmh/infra/BenchmarkParams;Ljava/util/Collection;)V
invokevirtual org.openjdk.jmh.results.RunResult.getAggregatedResult:()Lorg/openjdk/jmh/results/BenchmarkResult;
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.endBenchmark:(Lorg/openjdk/jmh/results/BenchmarkResult;)V
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 85: goto 102
StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.ActionPlan org.openjdk.jmh.util.Multimap org.openjdk.jmh.runner.link.BinaryLinkServer
StackMap stack: java.io.IOException
86: astore 4
start local 4 87: aload 2
invokeinterface org.openjdk.jmh.util.Multimap.clear:()V
88: new org.openjdk.jmh.runner.BenchmarkException
dup
aload 4
invokespecial org.openjdk.jmh.runner.BenchmarkException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 89: StackMap locals:
StackMap stack: org.openjdk.jmh.runner.BenchmarkException
astore 4
start local 4 90: aload 2
invokeinterface org.openjdk.jmh.util.Multimap.clear:()V
91: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.shouldFailOnError:()Lorg/openjdk/jmh/util/Optional;
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 94
92: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
ldc "Benchmark had encountered error, and fail on error was requested"
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
93: aload 4
athrow
end local 4 94: StackMap locals:
StackMap stack:
aload 3
ifnull 96
95: aload 3
invokevirtual org.openjdk.jmh.runner.link.BinaryLinkServer.terminate:()V
96: StackMap locals:
StackMap stack:
invokestatic org.openjdk.jmh.util.FileUtils.purgeTemps:()V
goto 105
97: StackMap locals:
StackMap stack: java.lang.Throwable
astore 29
98: aload 3
ifnull 100
99: aload 3
invokevirtual org.openjdk.jmh.runner.link.BinaryLinkServer.terminate:()V
100: StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.ActionPlan org.openjdk.jmh.util.Multimap org.openjdk.jmh.runner.link.BinaryLinkServer top top top top top top top top top top top top top top top top top top top top top top top top top java.lang.Throwable
StackMap stack:
invokestatic org.openjdk.jmh.util.FileUtils.purgeTemps:()V
101: aload 29
athrow
102: StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.ActionPlan org.openjdk.jmh.util.Multimap org.openjdk.jmh.runner.link.BinaryLinkServer
StackMap stack:
aload 3
ifnull 104
103: aload 3
invokevirtual org.openjdk.jmh.runner.link.BinaryLinkServer.terminate:()V
104: StackMap locals:
StackMap stack:
invokestatic org.openjdk.jmh.util.FileUtils.purgeTemps:()V
105: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 106 0 this Lorg/openjdk/jmh/runner/Runner;
0 106 1 actionPlan Lorg/openjdk/jmh/runner/ActionPlan;
1 106 2 results Lorg/openjdk/jmh/util/Multimap<Lorg/openjdk/jmh/infra/BenchmarkParams;Lorg/openjdk/jmh/results/BenchmarkResult;>;
4 106 3 server Lorg/openjdk/jmh/runner/link/BinaryLinkServer;
7 85 4 params Lorg/openjdk/jmh/infra/BenchmarkParams;
8 85 5 profilers Ljava/util/List<Lorg/openjdk/jmh/profile/ExternalProfiler;>;
9 85 6 printOut Z
10 85 7 printErr Z
12 14 8 prof Lorg/openjdk/jmh/profile/ExternalProfiler;
16 85 8 profilersRev Ljava/util/List<Lorg/openjdk/jmh/profile/ExternalProfiler;>;
18 85 9 forcePrint Z
27 85 10 forkCount I
28 85 11 warmupForkCount I
29 85 12 totalForks I
30 84 13 i I
34 82 14 warmupFork Z
35 82 15 forkedString Ljava/util/List<Ljava/lang/String;>;
43 82 16 stdErr Lorg/openjdk/jmh/util/TempFile;
44 82 17 stdOut Lorg/openjdk/jmh/util/TempFile;
48 50 18 profiler Lorg/openjdk/jmh/profile/ExternalProfiler;
53 57 18 consumed Ljava/util/List<Ljava/lang/String;>;
58 82 18 startTime J
59 82 20 result Ljava/util/List<Lorg/openjdk/jmh/results/IterationResult;>;
61 78 21 pid J
62 78 23 md Lorg/openjdk/jmh/results/BenchmarkResultMetaData;
65 78 24 br Lorg/openjdk/jmh/results/BenchmarkResult;
69 74 25 profiler Lorg/openjdk/jmh/profile/ExternalProfiler;
72 73 27 profR Lorg/openjdk/jmh/results/Result;
87 89 4 e Ljava/io/IOException;
90 94 4 e Lorg/openjdk/jmh/runner/BenchmarkException;
Exception table:
from to target type
4 85 86 Class java.io.IOException
4 85 89 Class org.openjdk.jmh.runner.BenchmarkException
4 94 97 any
Signature: (Lorg/openjdk/jmh/runner/ActionPlan;)Lorg/openjdk/jmh/util/Multimap<Lorg/openjdk/jmh/infra/BenchmarkParams;Lorg/openjdk/jmh/results/BenchmarkResult;>;
MethodParameters:
Name Flags
actionPlan
private java.util.List<org.openjdk.jmh.results.IterationResult> doFork(org.openjdk.jmh.runner.link.BinaryLinkServer, java.util.List<java.lang.String>, java.io.File, java.io.File, boolean, boolean);
descriptor: (Lorg/openjdk/jmh/runner/link/BinaryLinkServer;Ljava/util/List;Ljava/io/File;Ljava/io/File;ZZ)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=18, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aconst_null
astore 7
aconst_null
astore 8
1: new java.io.FileOutputStream
dup
aload 4
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
astore 9
start local 9 2: new java.io.FileOutputStream
dup
aload 3
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
astore 10
start local 10 3: new java.lang.ProcessBuilder
dup
aload 2
invokespecial java.lang.ProcessBuilder.<init>:(Ljava/util/List;)V
astore 11
start local 11 4: aload 11
invokevirtual java.lang.ProcessBuilder.start:()Ljava/lang/Process;
astore 12
start local 12 5: new org.openjdk.jmh.util.InputStreamDrainer
dup
aload 12
invokevirtual java.lang.Process.getErrorStream:()Ljava/io/InputStream;
aload 9
invokespecial org.openjdk.jmh.util.InputStreamDrainer.<init>:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
astore 13
start local 13 6: new org.openjdk.jmh.util.InputStreamDrainer
dup
aload 12
invokevirtual java.lang.Process.getInputStream:()Ljava/io/InputStream;
aload 10
invokespecial org.openjdk.jmh.util.InputStreamDrainer.<init>:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
astore 14
start local 14 7: iload 6
ifeq 9
8: aload 13
new org.openjdk.jmh.runner.OutputFormatAdapter
dup
aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
invokespecial org.openjdk.jmh.runner.OutputFormatAdapter.<init>:(Lorg/openjdk/jmh/runner/format/OutputFormat;)V
invokevirtual org.openjdk.jmh.util.InputStreamDrainer.addOutputStream:(Ljava/io/OutputStream;)V
9: StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.link.BinaryLinkServer java.util.List java.io.File java.io.File int int java.lang.Throwable java.lang.Throwable java.io.FileOutputStream java.io.FileOutputStream java.lang.ProcessBuilder java.lang.Process org.openjdk.jmh.util.InputStreamDrainer org.openjdk.jmh.util.InputStreamDrainer
StackMap stack:
iload 5
ifeq 11
10: aload 14
new org.openjdk.jmh.runner.OutputFormatAdapter
dup
aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
invokespecial org.openjdk.jmh.runner.OutputFormatAdapter.<init>:(Lorg/openjdk/jmh/runner/format/OutputFormat;)V
invokevirtual org.openjdk.jmh.util.InputStreamDrainer.addOutputStream:(Ljava/io/OutputStream;)V
11: StackMap locals:
StackMap stack:
aload 13
invokevirtual org.openjdk.jmh.util.InputStreamDrainer.start:()V
12: aload 14
invokevirtual org.openjdk.jmh.util.InputStreamDrainer.start:()V
13: aload 12
invokevirtual java.lang.Process.waitFor:()I
istore 15
start local 15 14: aload 13
invokevirtual org.openjdk.jmh.util.InputStreamDrainer.join:()V
15: aload 14
invokevirtual org.openjdk.jmh.util.InputStreamDrainer.join:()V
16: aload 1
invokevirtual org.openjdk.jmh.runner.link.BinaryLinkServer.waitFinish:()V
17: iload 15
ifeq 32
18: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
new java.lang.StringBuilder
dup
ldc "<forked VM failed with exit code "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 15
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ">"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
19: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
new java.lang.StringBuilder
dup
ldc "<stdout last='"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.openjdk.jmh.runner.Runner.TAIL_LINES_ON_ERROR:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " lines'>"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
20: aload 3
getstatic org.openjdk.jmh.runner.Runner.TAIL_LINES_ON_ERROR:I
invokestatic org.openjdk.jmh.util.FileUtils.tail:(Ljava/io/File;I)Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 17
goto 23
StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.link.BinaryLinkServer java.util.List java.io.File java.io.File int int java.lang.Throwable java.lang.Throwable java.io.FileOutputStream java.io.FileOutputStream java.lang.ProcessBuilder java.lang.Process org.openjdk.jmh.util.InputStreamDrainer org.openjdk.jmh.util.InputStreamDrainer int top java.util.Iterator
StackMap stack:
21: aload 17
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 16
start local 16 22: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
aload 16
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
end local 16 23: StackMap locals:
StackMap stack:
aload 17
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
24: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
ldc "</stdout>"
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
25: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
new java.lang.StringBuilder
dup
ldc "<stderr last='"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.openjdk.jmh.runner.Runner.TAIL_LINES_ON_ERROR:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " lines'>"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
26: aload 4
getstatic org.openjdk.jmh.runner.Runner.TAIL_LINES_ON_ERROR:I
invokestatic org.openjdk.jmh.util.FileUtils.tail:(Ljava/io/File;I)Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 17
goto 29
StackMap locals:
StackMap stack:
27: aload 17
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 16
start local 16 28: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
aload 16
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
end local 16 29: StackMap locals:
StackMap stack:
aload 17
invokeinterface java.util.Iterator.hasNext:()Z
ifne 27
30: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
ldc "</stderr>"
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
31: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
ldc ""
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
32: StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.link.BinaryLinkServer java.util.List java.io.File java.io.File int int java.lang.Throwable java.lang.Throwable java.io.FileOutputStream java.io.FileOutputStream java.lang.ProcessBuilder java.lang.Process org.openjdk.jmh.util.InputStreamDrainer org.openjdk.jmh.util.InputStreamDrainer int
StackMap stack:
aload 1
invokevirtual org.openjdk.jmh.runner.link.BinaryLinkServer.getException:()Lorg/openjdk/jmh/runner/BenchmarkException;
astore 16
start local 16 33: aload 16
ifnonnull 40
34: iload 15
ifne 39
35: aload 1
invokevirtual org.openjdk.jmh.runner.link.BinaryLinkServer.getResults:()Ljava/util/List;
36: aload 10
ifnull 37
aload 10
invokevirtual java.io.FileOutputStream.close:()V
StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.link.BinaryLinkServer java.util.List java.io.File java.io.File int int java.lang.Throwable java.lang.Throwable java.io.FileOutputStream java.io.FileOutputStream java.lang.ProcessBuilder java.lang.Process org.openjdk.jmh.util.InputStreamDrainer org.openjdk.jmh.util.InputStreamDrainer int org.openjdk.jmh.runner.BenchmarkException
StackMap stack: java.util.List
37: aload 9
ifnull 38
aload 9
invokevirtual java.io.FileOutputStream.close:()V
38: StackMap locals:
StackMap stack: java.util.List
areturn
39: StackMap locals:
StackMap stack:
new org.openjdk.jmh.runner.BenchmarkException
dup
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Forked VM failed with exit code "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 15
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
invokespecial org.openjdk.jmh.runner.BenchmarkException.<init>:(Ljava/lang/Throwable;)V
athrow
40: StackMap locals:
StackMap stack:
aload 16
athrow
end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.link.BinaryLinkServer java.util.List java.io.File java.io.File int int java.lang.Throwable java.lang.Throwable java.io.FileOutputStream java.io.FileOutputStream
StackMap stack: java.lang.Throwable
41: astore 7
42: aload 10
ifnull 43
aload 10
invokevirtual java.io.FileOutputStream.close:()V
end local 10 StackMap locals:
StackMap stack:
43: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
44: astore 8
aload 7
ifnonnull 45
aload 8
astore 7
goto 46
StackMap locals:
StackMap stack:
45: aload 7
aload 8
if_acmpeq 46
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
46: aload 9
ifnull 47
aload 9
invokevirtual java.io.FileOutputStream.close:()V
end local 9 StackMap locals:
StackMap stack:
47: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
48: astore 8
aload 7
ifnonnull 49
aload 8
astore 7
goto 50
StackMap locals:
StackMap stack:
49: aload 7
aload 8
if_acmpeq 50
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
50: aload 7
athrow
StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.runner.link.BinaryLinkServer java.util.List java.io.File java.io.File int int
StackMap stack: java.io.IOException
51: astore 7
start local 7 52: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
new java.lang.StringBuilder
dup
ldc "<failed to invoke the VM, caught IOException: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.io.IOException.getMessage:()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;
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
53: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
ldc ""
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
54: new org.openjdk.jmh.runner.BenchmarkException
dup
aload 7
invokespecial org.openjdk.jmh.runner.BenchmarkException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 7 55: StackMap locals:
StackMap stack: java.lang.InterruptedException
astore 7
start local 7 56: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
new java.lang.StringBuilder
dup
ldc "<host VM has been interrupted waiting for forked VM: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.InterruptedException.getMessage:()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;
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
57: aload 0
getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
ldc ""
invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
58: new org.openjdk.jmh.runner.BenchmarkException
dup
aload 7
invokespecial org.openjdk.jmh.runner.BenchmarkException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 7 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 59 0 this Lorg/openjdk/jmh/runner/Runner;
0 59 1 reader Lorg/openjdk/jmh/runner/link/BinaryLinkServer;
0 59 2 commandString Ljava/util/List<Ljava/lang/String;>;
0 59 3 stdOut Ljava/io/File;
0 59 4 stdErr Ljava/io/File;
0 59 5 printOut Z
0 59 6 printErr Z
2 47 9 fosErr Ljava/io/FileOutputStream;
3 43 10 fosOut Ljava/io/FileOutputStream;
4 41 11 pb Ljava/lang/ProcessBuilder;
5 41 12 p Ljava/lang/Process;
6 41 13 errDrainer Lorg/openjdk/jmh/util/InputStreamDrainer;
7 41 14 outDrainer Lorg/openjdk/jmh/util/InputStreamDrainer;
14 41 15 ecode I
22 23 16 l Ljava/lang/String;
28 29 16 l Ljava/lang/String;
33 41 16 exception Lorg/openjdk/jmh/runner/BenchmarkException;
52 55 7 ex Ljava/io/IOException;
56 59 7 ex Ljava/lang/InterruptedException;
Exception table:
from to target type
3 36 41 any
39 41 41 any
2 37 44 any
39 44 44 any
1 38 48 any
39 48 48 any
0 38 51 Class java.io.IOException
39 51 51 Class java.io.IOException
0 38 55 Class java.lang.InterruptedException
39 51 55 Class java.lang.InterruptedException
Signature: (Lorg/openjdk/jmh/runner/link/BinaryLinkServer;Ljava/util/List<Ljava/lang/String;>;Ljava/io/File;Ljava/io/File;ZZ)Ljava/util/List<Lorg/openjdk/jmh/results/IterationResult;>;
MethodParameters:
Name Flags
reader
commandString
stdOut
stdErr
printOut
printErr
java.util.List<java.lang.String> getForkedMainCommand(org.openjdk.jmh.infra.BenchmarkParams, java.util.List<org.openjdk.jmh.profile.ExternalProfiler>, java.lang.String, int);
descriptor: (Lorg/openjdk/jmh/infra/BenchmarkParams;Ljava/util/List;Ljava/lang/String;I)Ljava/util/List;
flags: (0x0000)
Code:
stack=3, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 6
start local 6 2: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 6
StackMap locals: org.openjdk.jmh.runner.Runner org.openjdk.jmh.infra.BenchmarkParams java.util.List java.lang.String int java.util.List java.util.List top java.util.Iterator
StackMap stack:
3: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.openjdk.jmh.profile.ExternalProfiler
astore 7
start local 7 4: aload 5
aload 7
aload 1
invokeinterface org.openjdk.jmh.profile.ExternalProfiler.addJVMInvokeOptions:(Lorg/openjdk/jmh/infra/BenchmarkParams;)Ljava/util/Collection;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
5: aload 6
aload 7
aload 1
invokeinterface org.openjdk.jmh.profile.ExternalProfiler.addJVMOptions:(Lorg/openjdk/jmh/infra/BenchmarkParams;)Ljava/util/Collection;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
end local 7 6: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
7: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 7
start local 7 8: aload 7
aload 5
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
9: aload 7
aload 1
invokevirtual org.openjdk.jmh.infra.BenchmarkParams.getJvm:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
10: aload 7
aload 1
invokevirtual org.openjdk.jmh.infra.BenchmarkParams.getJvmArgs:()Ljava/util/Collection;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
11: aload 7
aload 6
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
12: aload 7
invokestatic org.openjdk.jmh.runner.CompilerHints.addCompilerHints:(Ljava/util/List;)V
13: aload 0
aload 7
invokevirtual org.openjdk.jmh.runner.Runner.addClasspath:(Ljava/util/List;)V
14: aload 7
ldc Lorg/openjdk/jmh/runner/ForkedMain;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
15: aload 7
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
16: aload 7
iload 4
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
17: aload 7
areturn
end local 7 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 18 0 this Lorg/openjdk/jmh/runner/Runner;
0 18 1 benchmark Lorg/openjdk/jmh/infra/BenchmarkParams;
0 18 2 profilers Ljava/util/List<Lorg/openjdk/jmh/profile/ExternalProfiler;>;
0 18 3 host Ljava/lang/String;
0 18 4 port I
1 18 5 javaInvokeOptions Ljava/util/List<Ljava/lang/String;>;
2 18 6 javaOptions Ljava/util/List<Ljava/lang/String;>;
4 6 7 prof Lorg/openjdk/jmh/profile/ExternalProfiler;
8 18 7 command Ljava/util/List<Ljava/lang/String;>;
Signature: (Lorg/openjdk/jmh/infra/BenchmarkParams;Ljava/util/List<Lorg/openjdk/jmh/profile/ExternalProfiler;>;Ljava/lang/String;I)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
benchmark
profilers
host
port
private java.util.List<java.lang.String> getPrintPropertiesCommand(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aload 2
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: aload 0
aload 2
invokevirtual org.openjdk.jmh.runner.Runner.addClasspath:(Ljava/util/List;)V
3: aload 2
ldc Lorg/openjdk/jmh/runner/PrintPropertiesMain;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/openjdk/jmh/runner/Runner;
0 5 1 jvm Ljava/lang/String;
1 5 2 command Ljava/util/List<Ljava/lang/String;>;
Signature: (Ljava/lang/String;)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
jvm
private void addClasspath(java.util.List<java.lang.String>);
descriptor: (Ljava/util/List;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=13, args_size=2
start local 0 start local 1 0: aload 1
ldc "-cp"
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: ldc "java.class.path"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 2: aconst_null
astore 3
start local 3 3: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
4: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getJvmArgs:()Lorg/openjdk/jmh/util/Optional;
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
5: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getJvmArgsPrepend:()Lorg/openjdk/jmh/util/Optional;
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
6: aload 0
getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
invokeinterface org.openjdk.jmh.runner.options.Options.getJvmArgsAppend:()Lorg/openjdk/jmh/util/Optional;
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
7: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 8: ldc "jmh.separateClasspathJAR"
invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
ifne 10
9: aload 4
ldc "jmh.separateClasspathJAR=true"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 38
10: StackMap locals: java.lang.String java.io.File java.lang.String
StackMap stack:
ldc "classpath.jar"
invokestatic org.openjdk.jmh.util.FileUtils.tempFile:(Ljava/lang/String;)Ljava/io/File;
astore 3
11: aload 3
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
astore 5
start local 5 12: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 6
start local 6 13: aload 2
getstatic java.io.File.pathSeparator:Ljava/lang/String;
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 21
StackMap locals: org.openjdk.jmh.runner.Runner java.util.List java.lang.String java.io.File java.lang.String java.nio.file.Path java.lang.StringBuilder top int int java.lang.String[]
StackMap stack:
14: aload 10
iload 8
aaload
astore 7
start local 7 15: aload 5
new java.io.File
dup
aload 7
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.getAbsoluteFile:()Ljava/io/File;
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.relativize:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
astore 11
start local 11 16: aload 6
aload 11
bipush 92
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
ldc " "
ldc "%20"
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
17: aload 7
ldc ".jar"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 19
18: aload 6
bipush 47
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
19: StackMap locals: org.openjdk.jmh.runner.Runner java.util.List java.lang.String java.io.File java.lang.String java.nio.file.Path java.lang.StringBuilder java.lang.String int int java.lang.String[] java.lang.String
StackMap stack:
aload 6
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 11 end local 7 20: iinc 8 1
StackMap locals: org.openjdk.jmh.runner.Runner java.util.List java.lang.String java.io.File java.lang.String java.nio.file.Path java.lang.StringBuilder top int int java.lang.String[]
StackMap stack:
21: iload 8
iload 9
if_icmplt 14
22: aload 6
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 7
start local 7 23: new java.util.jar.Manifest
dup
invokespecial java.util.jar.Manifest.<init>:()V
astore 8
start local 8 24: aload 8
invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
astore 9
start local 9 25: aload 9
getstatic java.util.jar.Attributes$Name.MANIFEST_VERSION:Ljava/util/jar/Attributes$Name;
ldc "1.0"
invokevirtual java.util.jar.Attributes.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
26: aload 9
ldc "Class-Path"
aload 7
invokevirtual java.util.jar.Attributes.putValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
pop
27: aconst_null
astore 10
aconst_null
astore 11
28: new java.util.jar.JarOutputStream
dup
new java.io.FileOutputStream
dup
aload 3
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
aload 8
invokespecial java.util.jar.JarOutputStream.<init>:(Ljava/io/OutputStream;Ljava/util/jar/Manifest;)V
astore 12
start local 12 29: aload 12
new java.util.zip.ZipEntry
dup
ldc "META-INF/"
invokespecial java.util.zip.ZipEntry.<init>:(Ljava/lang/String;)V
invokevirtual java.util.jar.JarOutputStream.putNextEntry:(Ljava/util/zip/ZipEntry;)V
30: aload 12
ifnull 38
aload 12
invokevirtual java.util.jar.JarOutputStream.close:()V
goto 38
StackMap locals: org.openjdk.jmh.runner.Runner java.util.List java.lang.String java.io.File java.lang.String java.nio.file.Path java.lang.StringBuilder java.lang.String java.util.jar.Manifest java.util.jar.Attributes java.lang.Throwable java.lang.Throwable java.util.jar.JarOutputStream
StackMap stack: java.lang.Throwable
31: astore 10
aload 12
ifnull 32
aload 12
invokevirtual java.util.jar.JarOutputStream.close:()V
end local 12 StackMap locals:
StackMap stack:
32: aload 10
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
33: astore 11
aload 10
ifnonnull 34
aload 11
astore 10
goto 35
StackMap locals:
StackMap stack:
34: aload 10
aload 11
if_acmpeq 35
aload 10
aload 11
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
35: aload 10
athrow
end local 9 end local 8 end local 7 end local 6 end local 5 36: StackMap locals: org.openjdk.jmh.runner.Runner java.util.List java.lang.String java.io.File java.lang.String
StackMap stack: java.io.IOException
pop
37: aconst_null
astore 3
38: StackMap locals:
StackMap stack:
aload 3
ifnull 44
39: invokestatic org.openjdk.jmh.util.Utils.isWindows:()Z
ifeq 42
40: aload 1
new java.lang.StringBuilder
dup
ldc "\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.io.File.getAbsolutePath:()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;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
41: goto 48
42: StackMap locals:
StackMap stack:
aload 1
aload 3
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
43: goto 48
44: StackMap locals:
StackMap stack:
invokestatic org.openjdk.jmh.util.Utils.isWindows:()Z
ifeq 47
45: aload 1
new java.lang.StringBuilder
dup
bipush 34
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 34
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
46: goto 48
47: StackMap locals:
StackMap stack:
aload 1
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
48: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lorg/openjdk/jmh/runner/Runner;
0 49 1 command Ljava/util/List<Ljava/lang/String;>;
2 49 2 cpProp Ljava/lang/String;
3 49 3 tmpFile Ljava/io/File;
8 49 4 jvmargs Ljava/lang/String;
12 36 5 tmpFileDir Ljava/nio/file/Path;
13 36 6 sb Ljava/lang/StringBuilder;
15 20 7 cp Ljava/lang/String;
16 20 11 rel Ljava/lang/String;
23 36 7 classPath Ljava/lang/String;
24 36 8 manifest Ljava/util/jar/Manifest;
25 36 9 attrs Ljava/util/jar/Attributes;
29 32 12 jos Ljava/util/jar/JarOutputStream;
Exception table:
from to target type
29 30 31 any
28 33 33 any
10 36 36 Class java.io.IOException
Signature: (Ljava/util/List<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
command
public boolean runSystemGC();
descriptor: ()Z
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial org.openjdk.jmh.runner.BaseRunner.runSystemGC:()Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
static int[] $SWITCH_TABLE$org$openjdk$jmh$runner$ActionType();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.openjdk.jmh.runner.Runner.$SWITCH_TABLE$org$openjdk$jmh$runner$ActionType:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.openjdk.jmh.runner.ActionType.values:()[Lorg/openjdk/jmh/runner/ActionType;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.openjdk.jmh.runner.ActionType.EMBEDDED:Lorg/openjdk/jmh/runner/ActionType;
invokevirtual org.openjdk.jmh.runner.ActionType.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.openjdk.jmh.runner.ActionType.FORKED:Lorg/openjdk/jmh/runner/ActionType;
invokevirtual org.openjdk.jmh.runner.ActionType.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.openjdk.jmh.runner.Runner.$SWITCH_TABLE$org$openjdk$jmh$runner$ActionType:[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: "Runner.java"
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
public Name = java.util.jar.Attributes$Name of java.util.jar.Attributes