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: .line 65
            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: .line 66
            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: .line 67
            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 // org.openjdk.jmh.runner.Runner this
        start local 1 // org.openjdk.jmh.runner.options.Options options
        start local 2 // org.openjdk.jmh.runner.format.OutputFormat format
         0: .line 79
            aload 0 /* this */
            aload 1 /* options */
            aload 2 /* format */
            invokespecial org.openjdk.jmh.runner.BaseRunner.<init>:(Lorg/openjdk/jmh/runner/options/Options;Lorg/openjdk/jmh/runner/format/OutputFormat;)V
         1: .line 80
            aload 0 /* this */
            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: .line 81
            return
        end local 2 // org.openjdk.jmh.runner.format.OutputFormat format
        end local 1 // org.openjdk.jmh.runner.options.Options options
        end local 0 // org.openjdk.jmh.runner.Runner this
      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 // org.openjdk.jmh.runner.Runner this
        start local 1 // org.openjdk.jmh.runner.options.Options options
         0: .line 90
            aload 0 /* this */
            aload 1 /* options */
            aload 1 /* options */
            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: .line 91
            return
        end local 1 // org.openjdk.jmh.runner.options.Options options
        end local 0 // org.openjdk.jmh.runner.Runner this
      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 // org.openjdk.jmh.runner.options.Options options
         0: .line 95
            aload 0 /* options */
            ifnonnull 2
         1: .line 96
            new java.lang.IllegalArgumentException
            dup
            ldc "Options not allowed to be null."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 100
      StackMap locals:
      StackMap stack:
            aload 0 /* options */
            invokeinterface org.openjdk.jmh.runner.options.Options.getOutput:()Lorg/openjdk/jmh/util/Optional;
            invokevirtual org.openjdk.jmh.util.Optional.hasValue:()Z
            ifeq 7
         3: .line 102
            new java.io.PrintStream
            dup
            aload 0 /* options */
            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 /* out */
        start local 1 // java.io.PrintStream out
         4: .line 103
            goto 11
        end local 1 // java.io.PrintStream out
      StackMap locals:
      StackMap stack: java.io.FileNotFoundException
         5: astore 2 /* ex */
        start local 2 // java.io.FileNotFoundException ex
         6: .line 104
            new java.lang.IllegalStateException
            dup
            aload 2 /* ex */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.FileNotFoundException ex
         7: .line 109
      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 /* out */
        start local 1 // java.io.PrintStream out
         8: .line 110
            goto 11
        end local 1 // java.io.PrintStream out
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
         9: astore 2 /* ex */
        start local 2 // java.io.UnsupportedEncodingException ex
        10: .line 111
            new java.lang.IllegalStateException
            dup
            aload 2 /* ex */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.UnsupportedEncodingException ex
        start local 1 // java.io.PrintStream out
        11: .line 115
      StackMap locals: java.io.PrintStream
      StackMap stack:
            aload 1 /* out */
            aload 0 /* 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
            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 // java.io.PrintStream out
        end local 0 // org.openjdk.jmh.runner.options.Options options
      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 // org.openjdk.jmh.runner.Runner this
         0: .line 122
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.list:Lorg/openjdk/jmh/runner/BenchmarkList;
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
            aload 0 /* this */
            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 /* this */
            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 /* benchmarks */
        start local 1 // java.util.Set benchmarks
         1: .line 124
            aload 0 /* this */
            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: .line 125
            aload 1 /* benchmarks */
            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 /* benchmark */
        start local 2 // org.openjdk.jmh.runner.BenchmarkListEntry benchmark
         4: .line 126
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
            aload 2 /* benchmark */
            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 // org.openjdk.jmh.runner.BenchmarkListEntry benchmark
         5: .line 125
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 128
            return
        end local 1 // java.util.Set benchmarks
        end local 0 // org.openjdk.jmh.runner.Runner this
      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 // org.openjdk.jmh.runner.Runner this
        start local 1 // org.openjdk.jmh.runner.options.CommandLineOptions options
         0: .line 135
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.list:Lorg/openjdk/jmh/runner/BenchmarkList;
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
            aload 1 /* options */
            invokevirtual org.openjdk.jmh.runner.options.CommandLineOptions.getIncludes:()Ljava/util/List;
            aload 1 /* options */
            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 /* benchmarks */
        start local 2 // java.util.Set benchmarks
         1: .line 136
            aload 0 /* this */
            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: .line 137
            aload 2 /* benchmarks */
            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 /* benchmark */
        start local 3 // org.openjdk.jmh.runner.BenchmarkListEntry benchmark
         4: .line 138
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
            aload 3 /* benchmark */
            invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getUsername:()Ljava/lang/String;
            invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
         5: .line 139
            aload 3 /* benchmark */
            invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getParams:()Lorg/openjdk/jmh/util/Optional;
            astore 5 /* params */
        start local 5 // org.openjdk.jmh.util.Optional params
         6: .line 140
            aload 5 /* params */
            invokevirtual org.openjdk.jmh.util.Optional.hasValue:()Z
            ifeq 13
         7: .line 141
            aload 5 /* params */
            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 /* e */
        start local 6 // java.util.Map$Entry e
         9: .line 142
            aload 6 /* e */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* param */
        start local 8 // java.lang.String param
        10: .line 143
            aload 1 /* options */
            aload 8 /* param */
            invokevirtual org.openjdk.jmh.runner.options.CommandLineOptions.getParameter:(Ljava/lang/String;)Lorg/openjdk/jmh/util/Optional;
            aload 6 /* e */
            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 /* values */
        start local 9 // java.util.Collection values
        11: .line 144
            aload 0 /* this */
            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 /* param */
            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 /* values */
            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 // java.util.Collection values
        end local 8 // java.lang.String param
        end local 6 // java.util.Map$Entry e
        12: .line 141
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        end local 5 // org.openjdk.jmh.util.Optional params
        end local 3 // org.openjdk.jmh.runner.BenchmarkListEntry benchmark
        13: .line 137
      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: .line 148
            return
        end local 2 // java.util.Set benchmarks
        end local 1 // org.openjdk.jmh.runner.options.CommandLineOptions options
        end local 0 // org.openjdk.jmh.runner.Runner this
      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 // org.openjdk.jmh.runner.Runner this
         0: .line 158
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.list:Lorg/openjdk/jmh/runner/BenchmarkList;
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
            aload 0 /* this */
            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 /* this */
            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 /* benchmarks */
        start local 1 // java.util.Set benchmarks
         1: .line 160
            aload 1 /* benchmarks */
            invokeinterface java.util.Set.size:()I
            iconst_1
            if_icmpne 6
         2: .line 161
            aload 0 /* this */
            invokevirtual org.openjdk.jmh.runner.Runner.run:()Ljava/util/Collection;
            astore 2 /* values */
        start local 2 // java.util.Collection values
         3: .line 162
            aload 2 /* values */
            invokeinterface java.util.Collection.size:()I
            iconst_1
            if_icmpne 5
         4: .line 163
            aload 2 /* values */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.openjdk.jmh.results.RunResult
            areturn
         5: .line 165
      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 // java.util.Collection values
         6: .line 168
      StackMap locals:
      StackMap stack:
            aload 1 /* benchmarks */
            invokeinterface java.util.Set.size:()I
            iconst_1
            if_icmple 8
         7: .line 169
            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 /* benchmarks */
            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: .line 171
      StackMap locals:
      StackMap stack:
            new org.openjdk.jmh.runner.NoBenchmarksException
            dup
            invokespecial org.openjdk.jmh.runner.NoBenchmarksException.<init>:()V
            athrow
        end local 1 // java.util.Set benchmarks
        end local 0 // org.openjdk.jmh.runner.Runner this
      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 // org.openjdk.jmh.runner.Runner this
         0: .line 183
            aconst_null
            astore 1 /* channel */
        start local 1 // java.nio.channels.FileChannel channel
         1: .line 184
            aconst_null
            astore 2 /* lock */
        start local 2 // java.nio.channels.FileLock lock
         2: .line 188
            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 /* file */
        start local 3 // java.io.File file
         3: .line 189
            aload 3 /* file */
            invokevirtual java.io.File.createNewFile:()Z
            pop
         4: .line 190
            aload 3 /* file */
            iconst_1
            iconst_0
            invokevirtual java.io.File.setWritable:(ZZ)Z
            pop
         5: .line 192
            new java.io.RandomAccessFile
            dup
            aload 3 /* file */
            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 /* channel */
         6: .line 195
            aload 1 /* channel */
            invokevirtual java.nio.channels.FileChannel.tryLock:()Ljava/nio/channels/FileLock;
            astore 2 /* lock */
         7: .line 196
            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: .line 200
      StackMap locals:
      StackMap stack:
            aload 2 /* lock */
            ifnonnull 15
        10: .line 201
            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 /* msg */
        start local 4 // java.lang.String msg
        11: .line 202
            getstatic org.openjdk.jmh.runner.Runner.JMH_LOCK_IGNORE:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 14
        12: .line 203
            aload 0 /* this */
            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 /* msg */
            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: .line 204
            goto 15
        14: .line 205
      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 /* msg */
            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 // java.lang.String msg
        15: .line 209
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.openjdk.jmh.runner.Runner.internalRun:()Ljava/util/Collection;
            astore 6
        16: .line 220
            aload 2 /* lock */
            ifnull 20
        17: .line 221
            aload 2 /* lock */
            invokevirtual java.nio.channels.FileLock.release:()V
        18: .line 223
            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: .line 226
      StackMap locals:
      StackMap stack:
            aload 1 /* channel */
            invokestatic org.openjdk.jmh.util.FileUtils.safelyClose:(Ljava/io/Closeable;)V
        21: .line 209
            aload 6
            areturn
        end local 3 // java.io.File file
        22: .line 210
      StackMap locals: org.openjdk.jmh.runner.Runner java.nio.channels.FileChannel java.nio.channels.FileLock
      StackMap stack: java.io.IOException
            astore 3 /* e */
        start local 3 // java.io.IOException e
        23: .line 211
            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 /* e */
            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 /* msg */
        start local 4 // java.lang.String msg
        24: .line 212
            getstatic org.openjdk.jmh.runner.Runner.JMH_LOCK_IGNORE:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 33
        25: .line 213
            aload 0 /* this */
            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 /* msg */
            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: .line 214
            aload 0 /* this */
            invokevirtual org.openjdk.jmh.runner.Runner.internalRun:()Ljava/util/Collection;
            astore 6
        27: .line 220
            aload 2 /* lock */
            ifnull 31
        28: .line 221
            aload 2 /* lock */
            invokevirtual java.nio.channels.FileLock.release:()V
        29: .line 223
            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: .line 226
      StackMap locals:
      StackMap stack:
            aload 1 /* channel */
            invokestatic org.openjdk.jmh.util.FileUtils.safelyClose:(Ljava/io/Closeable;)V
        32: .line 214
            aload 6
            areturn
        33: .line 216
      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 /* msg */
            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 // java.lang.String msg
        end local 3 // java.io.IOException e
        34: .line 218
      StackMap locals: org.openjdk.jmh.runner.Runner java.nio.channels.FileChannel java.nio.channels.FileLock
      StackMap stack: java.lang.Throwable
            astore 5
        35: .line 220
            aload 2 /* lock */
            ifnull 39
        36: .line 221
            aload 2 /* lock */
            invokevirtual java.nio.channels.FileLock.release:()V
        37: .line 223
            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: .line 226
      StackMap locals:
      StackMap stack:
            aload 1 /* channel */
            invokestatic org.openjdk.jmh.util.FileUtils.safelyClose:(Ljava/io/Closeable;)V
        40: .line 227
            aload 5
            athrow
        end local 2 // java.nio.channels.FileLock lock
        end local 1 // java.nio.channels.FileChannel channel
        end local 0 // org.openjdk.jmh.runner.Runner this
      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 // org.openjdk.jmh.runner.Runner this
         0: .line 231
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* profilerClasses */
        start local 1 // java.util.Set profilerClasses
         1: .line 232
            iconst_0
            istore 2 /* someProfilersFail */
        start local 2 // boolean someProfilersFail
         2: .line 233
            aload 0 /* this */
            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 /* p */
        start local 3 // org.openjdk.jmh.runner.options.ProfilerConfig p
         4: .line 234
            aload 1 /* profilerClasses */
            aload 3 /* p */
            invokevirtual org.openjdk.jmh.runner.options.ProfilerConfig.getKlass:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifne 6
         5: .line 235
            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 /* p */
            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: .line 238
      StackMap locals: org.openjdk.jmh.runner.Runner java.util.Set int org.openjdk.jmh.runner.options.ProfilerConfig java.util.Iterator
      StackMap stack:
            aload 3 /* p */
            invokestatic org.openjdk.jmh.profile.ProfilerFactory.getProfilerOrException:(Lorg/openjdk/jmh/runner/options/ProfilerConfig;)Lorg/openjdk/jmh/profile/Profiler;
            pop
         7: .line 239
            goto 11
      StackMap locals:
      StackMap stack: org.openjdk.jmh.profile.ProfilerException
         8: astore 5 /* e */
        start local 5 // org.openjdk.jmh.profile.ProfilerException e
         9: .line 240
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
            aload 5 /* e */
            invokevirtual org.openjdk.jmh.profile.ProfilerException.getMessage:()Ljava/lang/String;
            invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
        10: .line 241
            iconst_1
            istore 2 /* someProfilersFail */
        end local 5 // org.openjdk.jmh.profile.ProfilerException e
        11: .line 243
      StackMap locals:
      StackMap stack:
            iload 2 /* someProfilersFail */
            ifeq 13
        12: .line 244
            new org.openjdk.jmh.runner.ProfilersFailedException
            dup
            invokespecial org.openjdk.jmh.runner.ProfilersFailedException.<init>:()V
            athrow
        end local 3 // org.openjdk.jmh.runner.options.ProfilerConfig p
        13: .line 233
      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: .line 250
            aconst_null
            astore 3 /* resultFile */
        start local 3 // java.lang.String resultFile
        15: .line 251
            aload 0 /* this */
            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 /* this */
            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: .line 252
      StackMap locals: org.openjdk.jmh.runner.Runner java.util.Set int java.lang.String
      StackMap stack:
            aload 0 /* this */
            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: .line 253
            new java.lang.StringBuilder
            dup
            ldc "jmh-result."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        18: .line 254
            aload 0 /* this */
            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: .line 253
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 252
            invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* resultFile */
        21: .line 257
            aload 3 /* resultFile */
            invokestatic org.openjdk.jmh.util.FileUtils.touch:(Ljava/lang/String;)V
        22: .line 258
            goto 25
      StackMap locals:
      StackMap stack: java.io.IOException
        23: pop
        24: .line 259
            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 /* resultFile */
            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: .line 263
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.list:Lorg/openjdk/jmh/runner/BenchmarkList;
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
            aload 0 /* this */
            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 /* this */
            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 /* benchmarks */
        start local 4 // java.util.SortedSet benchmarks
        26: .line 265
            aload 4 /* benchmarks */
            invokeinterface java.util.SortedSet.isEmpty:()Z
            ifeq 30
        27: .line 266
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
            invokeinterface org.openjdk.jmh.runner.format.OutputFormat.flush:()V
        28: .line 267
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
            invokeinterface org.openjdk.jmh.runner.format.OutputFormat.close:()V
        29: .line 268
            new org.openjdk.jmh.runner.NoBenchmarksException
            dup
            invokespecial org.openjdk.jmh.runner.NoBenchmarksException.<init>:()V
            athrow
        30: .line 273
      StackMap locals: java.util.SortedSet
      StackMap stack:
            aload 0 /* this */
            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: .line 274
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* newBenchmarks */
        start local 5 // java.util.List newBenchmarks
        32: .line 275
            aload 4 /* benchmarks */
            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 /* br */
        start local 6 // org.openjdk.jmh.runner.BenchmarkListEntry br
        34: .line 276
            aload 0 /* this */
            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 /* m */
        start local 8 // org.openjdk.jmh.annotations.Mode m
        36: .line 277
            aload 5 /* newBenchmarks */
            aload 6 /* br */
            aload 8 /* m */
            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 // org.openjdk.jmh.annotations.Mode m
        37: .line 276
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 35
        end local 6 // org.openjdk.jmh.runner.BenchmarkListEntry br
        38: .line 275
      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: .line 282
            aload 4 /* benchmarks */
            invokeinterface java.util.SortedSet.clear:()V
        40: .line 283
            aload 4 /* benchmarks */
            aload 5 /* newBenchmarks */
            invokeinterface java.util.SortedSet.addAll:(Ljava/util/Collection;)Z
            pop
        end local 5 // java.util.List newBenchmarks
        41: .line 288
      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 /* newBenchmarks */
        start local 5 // java.util.List newBenchmarks
        42: .line 289
            aload 4 /* benchmarks */
            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 /* br */
        start local 6 // org.openjdk.jmh.runner.BenchmarkListEntry br
        44: .line 290
            aload 6 /* br */
            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: .line 291
            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 /* mode */
        start local 8 // org.openjdk.jmh.annotations.Mode mode
        47: .line 292
            aload 8 /* mode */
            getstatic org.openjdk.jmh.annotations.Mode.All:Lorg/openjdk/jmh/annotations/Mode;
            if_acmpne 48
            goto 49
        48: .line 293
      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 /* newBenchmarks */
            aload 6 /* br */
            aload 8 /* mode */
            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 // org.openjdk.jmh.annotations.Mode mode
        49: .line 291
      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: .line 295
            goto 53
        52: .line 296
      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 /* newBenchmarks */
            aload 6 /* br */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.openjdk.jmh.runner.BenchmarkListEntry br
        53: .line 289
      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: .line 300
            aload 4 /* benchmarks */
            invokeinterface java.util.SortedSet.clear:()V
        55: .line 301
            aload 4 /* benchmarks */
            aload 5 /* newBenchmarks */
            invokeinterface java.util.SortedSet.addAll:(Ljava/util/Collection;)Z
            pop
        end local 5 // java.util.List newBenchmarks
        56: .line 306
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* newBenchmarks */
        start local 5 // java.util.List newBenchmarks
        57: .line 307
            aload 4 /* benchmarks */
            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 /* br */
        start local 6 // org.openjdk.jmh.runner.BenchmarkListEntry br
        59: .line 308
            aload 6 /* br */
            invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getParams:()Lorg/openjdk/jmh/util/Optional;
            invokevirtual org.openjdk.jmh.util.Optional.hasValue:()Z
            ifeq 65
        60: .line 309
            aload 0 /* this */
            aload 6 /* br */
            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 /* p */
        start local 8 // org.openjdk.jmh.runner.WorkloadParams p
        62: .line 310
            aload 5 /* newBenchmarks */
            aload 6 /* br */
            aload 8 /* p */
            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 // org.openjdk.jmh.runner.WorkloadParams p
        63: .line 309
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 61
        64: .line 312
            goto 66
        65: .line 313
      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 /* newBenchmarks */
            aload 6 /* br */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.openjdk.jmh.runner.BenchmarkListEntry br
        66: .line 307
      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: .line 316
            aload 4 /* benchmarks */
            invokeinterface java.util.SortedSet.clear:()V
        68: .line 317
            aload 4 /* benchmarks */
            aload 5 /* newBenchmarks */
            invokeinterface java.util.SortedSet.addAll:(Ljava/util/Collection;)Z
            pop
        end local 5 // java.util.List newBenchmarks
        69: .line 320
            aload 0 /* this */
            aload 4 /* benchmarks */
            invokevirtual org.openjdk.jmh.runner.Runner.runBenchmarks:(Ljava/util/SortedSet;)Ljava/util/Collection;
            astore 5 /* results */
        start local 5 // java.util.Collection results
        70: .line 323
            aload 3 /* resultFile */
            ifnull 77
        71: .line 325
            aload 0 /* this */
            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: .line 326
            aload 3 /* resultFile */
        73: .line 324
            invokestatic org.openjdk.jmh.results.format.ResultFormatFactory.getInstance:(Lorg/openjdk/jmh/results/format/ResultFormatType;Ljava/lang/String;)Lorg/openjdk/jmh/results/format/ResultFormat;
        74: .line 327
            aload 5 /* results */
            invokeinterface org.openjdk.jmh.results.format.ResultFormat.writeOut:(Ljava/util/Collection;)V
        75: .line 329
            aload 0 /* this */
            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: .line 330
            aload 0 /* this */
            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 /* resultFile */
            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: .line 333
      StackMap locals: org.openjdk.jmh.runner.Runner java.util.Set int java.lang.String java.util.SortedSet java.util.Collection
      StackMap stack:
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
            invokeinterface org.openjdk.jmh.runner.format.OutputFormat.flush:()V
        78: .line 334
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
            invokeinterface org.openjdk.jmh.runner.format.OutputFormat.close:()V
        79: .line 336
            aload 5 /* results */
            areturn
        end local 5 // java.util.Collection results
        end local 4 // java.util.SortedSet benchmarks
        end local 3 // java.lang.String resultFile
        end local 2 // boolean someProfilersFail
        end local 1 // java.util.Set profilerClasses
        end local 0 // org.openjdk.jmh.runner.Runner this
      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 // org.openjdk.jmh.runner.Runner this
        start local 1 // java.util.Set benchmarks
         0: .line 340
            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 /* base */
        start local 2 // org.openjdk.jmh.runner.ActionPlan base
         1: .line 342
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 3 /* warmupBenches */
        start local 3 // java.util.LinkedHashSet warmupBenches
         2: .line 344
            aload 0 /* this */
            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 /* warmupMicrosRegexp */
        start local 4 // java.util.List warmupMicrosRegexp
         3: .line 345
            aload 4 /* warmupMicrosRegexp */
            ifnull 5
            aload 4 /* warmupMicrosRegexp */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 5
         4: .line 346
            aload 3 /* warmupBenches */
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.list:Lorg/openjdk/jmh/runner/BenchmarkList;
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
            aload 4 /* warmupMicrosRegexp */
            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: .line 348
      StackMap locals: org.openjdk.jmh.runner.ActionPlan java.util.LinkedHashSet java.util.List
      StackMap stack:
            aload 0 /* this */
            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: .line 349
            aload 3 /* warmupBenches */
            aload 1 /* benchmarks */
            invokevirtual java.util.LinkedHashSet.addAll:(Ljava/util/Collection;)Z
            pop
         7: .line 352
      StackMap locals:
      StackMap stack:
            aload 3 /* warmupBenches */
            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 /* wr */
        start local 5 // org.openjdk.jmh.runner.BenchmarkListEntry wr
         9: .line 353
            aload 2 /* base */
            aload 0 /* this */
            aload 5 /* wr */
            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 // org.openjdk.jmh.runner.BenchmarkListEntry wr
        10: .line 352
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        11: .line 356
            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 /* embeddedPlan */
        start local 5 // org.openjdk.jmh.runner.ActionPlan embeddedPlan
        12: .line 357
            aload 5 /* embeddedPlan */
            aload 2 /* base */
            invokevirtual org.openjdk.jmh.runner.ActionPlan.mixIn:(Lorg/openjdk/jmh/runner/ActionPlan;)V
        13: .line 359
            iconst_0
            istore 6 /* addEmbedded */
        start local 6 // boolean addEmbedded
        14: .line 361
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* result */
        start local 7 // java.util.List result
        15: .line 362
            aload 1 /* benchmarks */
            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 /* br */
        start local 8 // org.openjdk.jmh.runner.BenchmarkListEntry br
        17: .line 363
            aload 0 /* this */
            aload 8 /* br */
            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 /* params */
        start local 10 // org.openjdk.jmh.infra.BenchmarkParams params
        18: .line 365
            aload 10 /* params */
            invokevirtual org.openjdk.jmh.infra.BenchmarkParams.getForks:()I
            ifgt 24
        19: .line 366
            aload 0 /* this */
            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: .line 367
            aload 5 /* embeddedPlan */
            aload 0 /* this */
            aload 8 /* br */
            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: .line 368
            goto 23
        22: .line 369
      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 /* embeddedPlan */
            aload 0 /* this */
            aload 8 /* br */
            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: .line 371
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 6 /* addEmbedded */
        24: .line 374
      StackMap locals:
      StackMap stack:
            aload 10 /* params */
            invokevirtual org.openjdk.jmh.infra.BenchmarkParams.getForks:()I
            ifle 32
        25: .line 375
            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 /* r */
        start local 11 // org.openjdk.jmh.runner.ActionPlan r
        26: .line 376
            aload 11 /* r */
            aload 2 /* base */
            invokevirtual org.openjdk.jmh.runner.ActionPlan.mixIn:(Lorg/openjdk/jmh/runner/ActionPlan;)V
        27: .line 377
            aload 0 /* this */
            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: .line 378
            aload 11 /* r */
            aload 0 /* this */
            aload 8 /* br */
            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: .line 379
            goto 31
        30: .line 380
      StackMap locals: org.openjdk.jmh.runner.ActionPlan
      StackMap stack:
            aload 11 /* r */
            aload 0 /* this */
            aload 8 /* br */
            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: .line 382
      StackMap locals:
      StackMap stack:
            aload 7 /* result */
            aload 11 /* r */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // org.openjdk.jmh.runner.ActionPlan r
        end local 10 // org.openjdk.jmh.infra.BenchmarkParams params
        end local 8 // org.openjdk.jmh.runner.BenchmarkListEntry br
        32: .line 362
      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: .line 386
            iload 6 /* addEmbedded */
            ifeq 35
        34: .line 387
            aload 7 /* result */
            aload 5 /* embeddedPlan */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        35: .line 390
      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 /* result */
            areturn
        end local 7 // java.util.List result
        end local 6 // boolean addEmbedded
        end local 5 // org.openjdk.jmh.runner.ActionPlan embeddedPlan
        end local 4 // java.util.List warmupMicrosRegexp
        end local 3 // java.util.LinkedHashSet warmupBenches
        end local 2 // org.openjdk.jmh.runner.ActionPlan base
        end local 1 // java.util.Set benchmarks
        end local 0 // org.openjdk.jmh.runner.Runner this
      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 // org.openjdk.jmh.runner.Runner this
        start local 1 // org.openjdk.jmh.runner.BenchmarkListEntry br
        start local 2 // org.openjdk.jmh.runner.ActionMode mode
         0: .line 394
            new org.openjdk.jmh.runner.Action
            dup
            aload 0 /* this */
            aload 1 /* br */
            aload 2 /* mode */
            invokevirtual org.openjdk.jmh.runner.Runner.newBenchmarkParams:(Lorg/openjdk/jmh/runner/BenchmarkListEntry;Lorg/openjdk/jmh/runner/ActionMode;)Lorg/openjdk/jmh/infra/BenchmarkParams;
            aload 2 /* mode */
            invokespecial org.openjdk.jmh.runner.Action.<init>:(Lorg/openjdk/jmh/infra/BenchmarkParams;Lorg/openjdk/jmh/runner/ActionMode;)V
            areturn
        end local 2 // org.openjdk.jmh.runner.ActionMode mode
        end local 1 // org.openjdk.jmh.runner.BenchmarkListEntry br
        end local 0 // org.openjdk.jmh.runner.Runner this
      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 // org.openjdk.jmh.runner.Runner this
        start local 1 // org.openjdk.jmh.runner.BenchmarkListEntry benchmark
        start local 2 // org.openjdk.jmh.runner.ActionMode mode
         0: .line 398
            aload 0 /* this */
            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 /* benchmark */
            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 /* threadGroups */
        start local 3 // int[] threadGroups
         1: .line 400
            aload 0 /* this */
            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: .line 401
            aload 1 /* benchmark */
            invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getThreads:()Lorg/openjdk/jmh/util/Optional;
         3: .line 402
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
         4: .line 401
            invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
         5: .line 400
            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 /* threads */
        start local 4 // int threads
         6: .line 404
            iload 4 /* threads */
            iconst_m1
            if_icmpne 12
         7: .line 405
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.cpuCount:I
            ifne 11
         8: .line 406
            aload 0 /* this */
            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: .line 407
            aload 0 /* this */
            invokestatic org.openjdk.jmh.util.Utils.figureOutHotCPUs:()I
            putfield org.openjdk.jmh.runner.Runner.cpuCount:I
        10: .line 408
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            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: .line 410
      StackMap locals: int[] int
      StackMap stack:
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.cpuCount:I
            istore 4 /* threads */
        12: .line 413
      StackMap locals:
      StackMap stack:
            iload 4 /* threads */
            aload 3 /* threadGroups */
            invokestatic org.openjdk.jmh.util.Utils.sum:([I)I
            invokestatic org.openjdk.jmh.util.Utils.roundUp:(II)I
            istore 4 /* threads */
        13: .line 415
            aload 1 /* benchmark */
            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: .line 416
            aload 0 /* this */
            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: .line 415
            iconst_1
            goto 17
      StackMap locals:
      StackMap stack:
        16: iconst_0
      StackMap locals:
      StackMap stack: int
        17: istore 5 /* synchIterations */
        start local 5 // boolean synchIterations
        18: .line 418
            aload 2 /* mode */
            invokevirtual org.openjdk.jmh.runner.ActionMode.doMeasurement:()Z
            ifeq 41
        19: .line 419
            new org.openjdk.jmh.infra.IterationParams
            dup
        20: .line 420
            getstatic org.openjdk.jmh.runner.IterationType.MEASUREMENT:Lorg/openjdk/jmh/runner/IterationType;
        21: .line 421
            aload 0 /* this */
            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: .line 422
            aload 1 /* benchmark */
            invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getMeasurementIterations:()Lorg/openjdk/jmh/util/Optional;
        23: .line 423
            aload 1 /* benchmark */
            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: .line 422
            invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
        27: .line 421
            invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
        28: .line 425
            aload 0 /* this */
            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: .line 426
            aload 1 /* benchmark */
            invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getMeasurementTime:()Lorg/openjdk/jmh/util/Optional;
        30: .line 427
            aload 1 /* benchmark */
            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: .line 426
      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: .line 425
            invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.openjdk.jmh.runner.options.TimeValue
        34: .line 429
            aload 0 /* this */
            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: .line 430
            aload 1 /* benchmark */
            invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getMeasurementBatchSize:()Lorg/openjdk/jmh/util/Optional;
        36: .line 431
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        37: .line 430
            invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
        38: .line 429
            invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
        39: .line 419
            invokespecial org.openjdk.jmh.infra.IterationParams.<init>:(Lorg/openjdk/jmh/runner/IterationType;ILorg/openjdk/jmh/runner/options/TimeValue;I)V
        40: .line 434
            goto 42
        41: .line 435
      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: .line 418
      StackMap locals:
      StackMap stack: org.openjdk.jmh.infra.IterationParams
            astore 6 /* measurement */
        start local 6 // org.openjdk.jmh.infra.IterationParams measurement
        43: .line 437
            aload 2 /* mode */
            invokevirtual org.openjdk.jmh.runner.ActionMode.doWarmup:()Z
            ifeq 66
        44: .line 438
            new org.openjdk.jmh.infra.IterationParams
            dup
        45: .line 439
            getstatic org.openjdk.jmh.runner.IterationType.WARMUP:Lorg/openjdk/jmh/runner/IterationType;
        46: .line 440
            aload 0 /* this */
            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: .line 441
            aload 1 /* benchmark */
            invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getWarmupIterations:()Lorg/openjdk/jmh/util/Optional;
        48: .line 442
            aload 1 /* benchmark */
            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: .line 441
            invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
        52: .line 440
            invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
        53: .line 444
            aload 0 /* this */
            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: .line 445
            aload 1 /* benchmark */
            invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getWarmupTime:()Lorg/openjdk/jmh/util/Optional;
        55: .line 446
            aload 1 /* benchmark */
            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: .line 445
      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: .line 444
            invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.openjdk.jmh.runner.options.TimeValue
        59: .line 448
            aload 0 /* this */
            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: .line 449
            aload 1 /* benchmark */
            invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getWarmupBatchSize:()Lorg/openjdk/jmh/util/Optional;
        61: .line 450
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        62: .line 449
            invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
        63: .line 448
            invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
        64: .line 438
            invokespecial org.openjdk.jmh.infra.IterationParams.<init>:(Lorg/openjdk/jmh/runner/IterationType;ILorg/openjdk/jmh/runner/options/TimeValue;I)V
        65: .line 453
            goto 67
        66: .line 454
      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: .line 437
      StackMap locals:
      StackMap stack: org.openjdk.jmh.infra.IterationParams
            astore 7 /* warmup */
        start local 7 // org.openjdk.jmh.infra.IterationParams warmup
        68: .line 456
            aload 0 /* this */
            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: .line 457
            aload 1 /* benchmark */
            invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getForks:()Lorg/openjdk/jmh/util/Optional;
        70: .line 458
            iconst_5
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        71: .line 457
            invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
        72: .line 456
            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 /* forks */
        start local 8 // int forks
        73: .line 460
            aload 0 /* this */
            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: .line 461
            aload 1 /* benchmark */
            invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getWarmupForks:()Lorg/openjdk/jmh/util/Optional;
        75: .line 462
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        76: .line 461
            invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
        77: .line 460
            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 /* warmupForks */
        start local 9 // int warmupForks
        78: .line 464
            aload 0 /* this */
            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: .line 465
            aload 1 /* benchmark */
            invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getTimeUnit:()Lorg/openjdk/jmh/util/Optional;
        80: .line 466
            getstatic org.openjdk.jmh.runner.Defaults.OUTPUT_TIMEUNIT:Ljava/util/concurrent/TimeUnit;
        81: .line 465
            invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.concurrent.TimeUnit
        82: .line 464
            invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.concurrent.TimeUnit
            astore 10 /* timeUnit */
        start local 10 // java.util.concurrent.TimeUnit timeUnit
        83: .line 468
            aload 0 /* this */
            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: .line 469
            aload 1 /* benchmark */
            invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getOperationsPerInvocation:()Lorg/openjdk/jmh/util/Optional;
        85: .line 470
            getstatic org.openjdk.jmh.runner.Defaults.OPS_PER_INVOCATION:Ljava/lang/Integer;
        86: .line 469
            invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
        87: .line 468
            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 /* opsPerInvocation */
        start local 11 // int opsPerInvocation
        88: .line 472
            aload 0 /* this */
            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: .line 473
            aload 1 /* benchmark */
            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: .line 472
            invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 12 /* jvm */
        start local 12 // java.lang.String jvm
        91: .line 476
            aload 12 /* jvm */
            invokestatic org.openjdk.jmh.util.Utils.getCurrentJvm:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 94
        92: .line 477
            invokestatic org.openjdk.jmh.util.Utils.getRecordedSystemProperties:()Ljava/util/Properties;
            astore 13 /* targetProperties */
        start local 13 // java.util.Properties targetProperties
        93: .line 478
            goto 95
        end local 13 // java.util.Properties targetProperties
        94: .line 479
      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 /* this */
            aload 12 /* jvm */
            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 /* targetProperties */
        start local 13 // java.util.Properties targetProperties
        95: .line 482
      StackMap locals: java.util.Properties
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 14 /* jvmArgs */
        start local 14 // java.util.Collection jvmArgs
        96: .line 484
            aload 14 /* jvmArgs */
            aload 0 /* this */
            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: .line 485
            aload 1 /* benchmark */
            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: .line 484
            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: .line 487
            aload 14 /* jvmArgs */
            aload 0 /* this */
            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: .line 488
            aload 1 /* benchmark */
            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: .line 487
            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: .line 490
            aload 14 /* jvmArgs */
            aload 0 /* this */
            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: .line 491
            aload 1 /* benchmark */
            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: .line 490
            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: .line 493
            aload 0 /* this */
            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: .line 494
            aload 1 /* benchmark */
            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: .line 493
            invokevirtual org.openjdk.jmh.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.openjdk.jmh.runner.options.TimeValue
            astore 15 /* timeout */
        start local 15 // org.openjdk.jmh.runner.options.TimeValue timeout
       108: .line 496
            aload 13 /* targetProperties */
            ldc "java.version"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 16 /* jdkVersion */
        start local 16 // java.lang.String jdkVersion
       109: .line 497
            aload 13 /* targetProperties */
            ldc "java.vm.version"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 17 /* vmVersion */
        start local 17 // java.lang.String vmVersion
       110: .line 498
            aload 13 /* targetProperties */
            ldc "java.vm.name"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 18 /* vmName */
        start local 18 // java.lang.String vmName
       111: .line 499
            new org.openjdk.jmh.infra.BenchmarkParams
            dup
            aload 1 /* benchmark */
            invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getUsername:()Ljava/lang/String;
            aload 1 /* benchmark */
            invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.generatedTarget:()Ljava/lang/String;
            iload 5 /* synchIterations */
       112: .line 500
            iload 4 /* threads */
            aload 3 /* threadGroups */
            aload 1 /* benchmark */
            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: .line 501
            iload 8 /* forks */
            iload 9 /* warmupForks */
       114: .line 502
            aload 7 /* warmup */
            aload 6 /* measurement */
            aload 1 /* benchmark */
            invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getMode:()Lorg/openjdk/jmh/annotations/Mode;
            aload 1 /* benchmark */
            invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getWorkloadParams:()Lorg/openjdk/jmh/runner/WorkloadParams;
            aload 10 /* timeUnit */
            iload 11 /* opsPerInvocation */
       115: .line 503
            aload 12 /* jvm */
            aload 14 /* jvmArgs */
       116: .line 504
            aload 16 /* jdkVersion */
            aload 18 /* vmName */
            aload 17 /* vmVersion */
            invokestatic org.openjdk.jmh.util.Version.getPlainVersion:()Ljava/lang/String;
       117: .line 505
            aload 15 /* timeout */
       118: .line 499
            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 // java.lang.String vmName
        end local 17 // java.lang.String vmVersion
        end local 16 // java.lang.String jdkVersion
        end local 15 // org.openjdk.jmh.runner.options.TimeValue timeout
        end local 14 // java.util.Collection jvmArgs
        end local 13 // java.util.Properties targetProperties
        end local 12 // java.lang.String jvm
        end local 11 // int opsPerInvocation
        end local 10 // java.util.concurrent.TimeUnit timeUnit
        end local 9 // int warmupForks
        end local 8 // int forks
        end local 7 // org.openjdk.jmh.infra.IterationParams warmup
        end local 6 // org.openjdk.jmh.infra.IterationParams measurement
        end local 5 // boolean synchIterations
        end local 4 // int threads
        end local 3 // int[] threadGroups
        end local 2 // org.openjdk.jmh.runner.ActionMode mode
        end local 1 // org.openjdk.jmh.runner.BenchmarkListEntry benchmark
        end local 0 // org.openjdk.jmh.runner.Runner this
      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 // org.openjdk.jmh.runner.Runner this
        start local 1 // org.openjdk.jmh.runner.BenchmarkListEntry br
         0: .line 509
            aload 1 /* br */
            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 /* benchParams */
        start local 2 // java.util.Map benchParams
         1: .line 510
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* ps */
        start local 3 // java.util.List ps
         2: .line 511
            aload 2 /* benchParams */
            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 /* e */
        start local 4 // java.util.Map$Entry e
         4: .line 512
            aload 4 /* e */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* k */
        start local 6 // java.lang.String k
         5: .line 513
            aload 4 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 7 /* vals */
        start local 7 // java.lang.String[] vals
         6: .line 514
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
            aload 6 /* k */
            invokeinterface org.openjdk.jmh.runner.options.Options.getParameter:(Ljava/lang/String;)Lorg/openjdk/jmh/util/Optional;
            aload 7 /* vals */
            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 /* values */
        start local 8 // java.util.Collection values
         7: .line 515
            aload 8 /* values */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 12
         8: .line 516
            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 /* br */
            invokevirtual org.openjdk.jmh.runner.BenchmarkListEntry.getUsername:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 517
            ldc "\" defines the parameter \""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* k */
            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: .line 518
            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: .line 516
            invokespecial org.openjdk.jmh.runner.RunnerException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 520
      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 /* ps */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 22
        13: .line 521
            iconst_0
            istore 9 /* idx */
        start local 9 // int idx
        14: .line 522
            aload 8 /* values */
            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 /* v */
        start local 10 // java.lang.String v
        16: .line 523
            new org.openjdk.jmh.runner.WorkloadParams
            dup
            invokespecial org.openjdk.jmh.runner.WorkloadParams.<init>:()V
            astore 12 /* al */
        start local 12 // org.openjdk.jmh.runner.WorkloadParams al
        17: .line 524
            aload 12 /* al */
            aload 6 /* k */
            aload 10 /* v */
            iload 9 /* idx */
            invokevirtual org.openjdk.jmh.runner.WorkloadParams.put:(Ljava/lang/String;Ljava/lang/String;I)V
        18: .line 525
            aload 3 /* ps */
            aload 12 /* al */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        19: .line 526
            iinc 9 /* idx */ 1
        end local 12 // org.openjdk.jmh.runner.WorkloadParams al
        end local 10 // java.lang.String v
        20: .line 522
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        end local 9 // int idx
        21: .line 528
            goto 35
        22: .line 529
      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 /* newPs */
        start local 9 // java.util.List newPs
        23: .line 530
            aload 3 /* ps */
            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 /* p */
        start local 10 // org.openjdk.jmh.runner.WorkloadParams p
        25: .line 531
            iconst_0
            istore 12 /* idx */
        start local 12 // int idx
        26: .line 532
            aload 8 /* values */
            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 /* v */
        start local 13 // java.lang.String v
        28: .line 533
            aload 10 /* p */
            invokevirtual org.openjdk.jmh.runner.WorkloadParams.copy:()Lorg/openjdk/jmh/runner/WorkloadParams;
            astore 15 /* al */
        start local 15 // org.openjdk.jmh.runner.WorkloadParams al
        29: .line 534
            aload 15 /* al */
            aload 6 /* k */
            aload 13 /* v */
            iload 12 /* idx */
            invokevirtual org.openjdk.jmh.runner.WorkloadParams.put:(Ljava/lang/String;Ljava/lang/String;I)V
        30: .line 535
            aload 9 /* newPs */
            aload 15 /* al */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        31: .line 536
            iinc 12 /* idx */ 1
        end local 15 // org.openjdk.jmh.runner.WorkloadParams al
        end local 13 // java.lang.String v
        32: .line 532
      StackMap locals:
      StackMap stack:
            aload 14
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 27
        end local 12 // int idx
        end local 10 // org.openjdk.jmh.runner.WorkloadParams p
        33: .line 530
      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: .line 539
            aload 9 /* newPs */
            astore 3 /* ps */
        end local 9 // java.util.List newPs
        end local 8 // java.util.Collection values
        end local 7 // java.lang.String[] vals
        end local 6 // java.lang.String k
        end local 4 // java.util.Map$Entry e
        35: .line 511
      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: .line 542
            aload 3 /* ps */
            areturn
        end local 3 // java.util.List ps
        end local 2 // java.util.Map benchParams
        end local 1 // org.openjdk.jmh.runner.BenchmarkListEntry br
        end local 0 // org.openjdk.jmh.runner.Runner this
      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 // org.openjdk.jmh.runner.Runner this
        start local 1 // java.util.SortedSet benchmarks
         0: .line 546
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
            invokeinterface org.openjdk.jmh.runner.format.OutputFormat.startRun:()V
         1: .line 548
            new org.openjdk.jmh.util.TreeMultimap
            dup
            invokespecial org.openjdk.jmh.util.TreeMultimap.<init>:()V
            astore 2 /* results */
        start local 2 // org.openjdk.jmh.util.Multimap results
         2: .line 549
            aload 0 /* this */
            aload 1 /* benchmarks */
            invokevirtual org.openjdk.jmh.runner.Runner.getActionPlans:(Ljava/util/Set;)Ljava/util/List;
            astore 3 /* plan */
        start local 3 // java.util.List plan
         3: .line 551
            aload 0 /* this */
            aload 3 /* plan */
            invokevirtual org.openjdk.jmh.runner.Runner.etaBeforeBenchmarks:(Ljava/util/Collection;)V
         4: .line 554
            aload 3 /* plan */
            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 /* r */
        start local 4 // org.openjdk.jmh.runner.ActionPlan r
         6: .line 556
            invokestatic org.openjdk.jmh.runner.Runner.$SWITCH_TABLE$org$openjdk$jmh$runner$ActionType:()[I
            aload 4 /* r */
            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: .line 558
      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 /* this */
            aload 4 /* r */
            invokevirtual org.openjdk.jmh.runner.Runner.runBenchmarksEmbedded:(Lorg/openjdk/jmh/runner/ActionPlan;)Lorg/openjdk/jmh/util/Multimap;
            astore 6 /* res */
        start local 6 // org.openjdk.jmh.util.Multimap res
         8: .line 559
            goto 12
        end local 6 // org.openjdk.jmh.util.Multimap res
         9: .line 561
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* r */
            invokevirtual org.openjdk.jmh.runner.Runner.runSeparate:(Lorg/openjdk/jmh/runner/ActionPlan;)Lorg/openjdk/jmh/util/Multimap;
            astore 6 /* res */
        start local 6 // org.openjdk.jmh.util.Multimap res
        10: .line 562
            goto 12
        end local 6 // org.openjdk.jmh.util.Multimap res
        11: .line 564
      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 /* r */
            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 // org.openjdk.jmh.util.Multimap res
        12: .line 567
      StackMap locals: org.openjdk.jmh.util.Multimap
      StackMap stack:
            aload 6 /* res */
            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 /* br */
        start local 7 // org.openjdk.jmh.infra.BenchmarkParams br
        14: .line 568
            aload 2 /* results */
            aload 7 /* br */
            aload 6 /* res */
            aload 7 /* br */
            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 // org.openjdk.jmh.infra.BenchmarkParams br
        15: .line 567
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        end local 6 // org.openjdk.jmh.util.Multimap res
        end local 4 // org.openjdk.jmh.runner.ActionPlan r
        16: .line 554
      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: .line 572
            aload 0 /* this */
            invokevirtual org.openjdk.jmh.runner.Runner.etaAfterBenchmarks:()V
        18: .line 574
            aload 0 /* this */
            aload 2 /* results */
            invokevirtual org.openjdk.jmh.runner.Runner.mergeRunResults:(Lorg/openjdk/jmh/util/Multimap;)Ljava/util/SortedSet;
            astore 4 /* runResults */
        start local 4 // java.util.SortedSet runResults
        19: .line 575
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
            aload 4 /* runResults */
            invokeinterface org.openjdk.jmh.runner.format.OutputFormat.endRun:(Ljava/util/Collection;)V
        20: .line 576
            aload 4 /* runResults */
        21: areturn
        end local 4 // java.util.SortedSet runResults
        22: .line 577
      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 /* be */
        start local 4 // org.openjdk.jmh.runner.BenchmarkException be
        23: .line 578
            new org.openjdk.jmh.runner.RunnerException
            dup
            ldc "Benchmark caught the exception"
            aload 4 /* be */
            invokespecial org.openjdk.jmh.runner.RunnerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // org.openjdk.jmh.runner.BenchmarkException be
        end local 3 // java.util.List plan
        end local 2 // org.openjdk.jmh.util.Multimap results
        end local 1 // java.util.SortedSet benchmarks
        end local 0 // org.openjdk.jmh.runner.Runner this
      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 // org.openjdk.jmh.runner.Runner this
        start local 1 // org.openjdk.jmh.util.Multimap results
         0: .line 583
            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 /* result */
        start local 2 // java.util.SortedSet result
         1: .line 584
            aload 1 /* results */
            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 /* key */
        start local 3 // org.openjdk.jmh.infra.BenchmarkParams key
         3: .line 585
            aload 2 /* result */
            new org.openjdk.jmh.results.RunResult
            dup
            aload 3 /* key */
            aload 1 /* results */
            aload 3 /* key */
            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 // org.openjdk.jmh.infra.BenchmarkParams key
         4: .line 584
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 587
            aload 2 /* result */
            areturn
        end local 2 // java.util.SortedSet result
        end local 1 // org.openjdk.jmh.util.Multimap results
        end local 0 // org.openjdk.jmh.runner.Runner this
      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 // org.openjdk.jmh.runner.Runner this
        start local 1 // org.openjdk.jmh.runner.ActionPlan actionPlan
         0: .line 591
            new org.openjdk.jmh.util.HashMultimap
            dup
            invokespecial org.openjdk.jmh.util.HashMultimap.<init>:()V
            astore 2 /* results */
        start local 2 // org.openjdk.jmh.util.Multimap results
         1: .line 593
            aload 1 /* actionPlan */
            invokevirtual org.openjdk.jmh.runner.ActionPlan.getMeasurementActions:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpeq 3
         2: .line 594
            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 /* actionPlan */
            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: .line 597
      StackMap locals: org.openjdk.jmh.util.Multimap
      StackMap stack:
            aconst_null
            astore 3 /* server */
        start local 3 // org.openjdk.jmh.runner.link.BinaryLinkServer server
         4: .line 599
            new org.openjdk.jmh.runner.link.BinaryLinkServer
            dup
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.options:Lorg/openjdk/jmh/runner/options/Options;
            aload 0 /* this */
            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 /* server */
         5: .line 601
            aload 3 /* server */
            aload 1 /* actionPlan */
            invokevirtual org.openjdk.jmh.runner.link.BinaryLinkServer.setPlan:(Lorg/openjdk/jmh/runner/ActionPlan;)V
         6: .line 603
            aload 1 /* actionPlan */
            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 /* params */
        start local 4 // org.openjdk.jmh.infra.BenchmarkParams params
         7: .line 605
            aload 0 /* this */
            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 /* profilers */
        start local 5 // java.util.List profilers
         8: .line 607
            iconst_1
            istore 6 /* printOut */
        start local 6 // boolean printOut
         9: .line 608
            iconst_1
            istore 7 /* printErr */
        start local 7 // boolean printErr
        10: .line 609
            aload 5 /* profilers */
            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 /* prof */
        start local 8 // org.openjdk.jmh.profile.ExternalProfiler prof
        12: .line 610
            iload 6 /* printOut */
            aload 8 /* prof */
            invokeinterface org.openjdk.jmh.profile.ExternalProfiler.allowPrintOut:()Z
            iand
            istore 6 /* printOut */
        13: .line 611
            iload 7 /* printErr */
            aload 8 /* prof */
            invokeinterface org.openjdk.jmh.profile.ExternalProfiler.allowPrintErr:()Z
            iand
            istore 7 /* printErr */
        end local 8 // org.openjdk.jmh.profile.ExternalProfiler prof
        14: .line 609
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        15: .line 614
            new java.util.ArrayList
            dup
            aload 5 /* profilers */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 8 /* profilersRev */
        start local 8 // java.util.List profilersRev
        16: .line 615
            aload 8 /* profilersRev */
            invokestatic java.util.Collections.reverse:(Ljava/util/List;)V
        17: .line 617
            aload 0 /* this */
            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 /* forcePrint */
        start local 9 // boolean forcePrint
        18: .line 618
            iload 9 /* forcePrint */
            ifne 19
            iload 6 /* printOut */
            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 /* printOut */
        21: .line 619
            iload 9 /* forcePrint */
            ifne 22
            iload 7 /* printErr */
            ifne 22
            iconst_0
            goto 23
      StackMap locals:
      StackMap stack:
        22: iconst_1
      StackMap locals:
      StackMap stack: int
        23: istore 7 /* printErr */
        24: .line 621
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
            aload 4 /* params */
            invokeinterface org.openjdk.jmh.runner.format.OutputFormat.startBenchmark:(Lorg/openjdk/jmh/infra/BenchmarkParams;)V
        25: .line 622
            aload 0 /* this */
            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: .line 624
            aload 4 /* params */
            invokevirtual org.openjdk.jmh.infra.BenchmarkParams.getForks:()I
            istore 10 /* forkCount */
        start local 10 // int forkCount
        27: .line 625
            aload 4 /* params */
            invokevirtual org.openjdk.jmh.infra.BenchmarkParams.getWarmupForks:()I
            istore 11 /* warmupForkCount */
        start local 11 // int warmupForkCount
        28: .line 626
            iload 11 /* warmupForkCount */
            iload 10 /* forkCount */
            iadd
            istore 12 /* totalForks */
        start local 12 // int totalForks
        29: .line 628
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        30: goto 83
        31: .line 629
      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 /* i */
            iload 11 /* warmupForkCount */
            if_icmpge 32
            iconst_1
            goto 33
      StackMap locals:
      StackMap stack:
        32: iconst_0
      StackMap locals:
      StackMap stack: int
        33: istore 14 /* warmupFork */
        start local 14 // boolean warmupFork
        34: .line 630
            aload 0 /* this */
            aload 4 /* params */
            aload 5 /* profilers */
            aload 3 /* server */
            invokevirtual org.openjdk.jmh.runner.link.BinaryLinkServer.getHost:()Ljava/lang/String;
            aload 3 /* server */
            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 /* forkedString */
        start local 15 // java.util.List forkedString
        35: .line 632
            aload 0 /* this */
            invokevirtual org.openjdk.jmh.runner.Runner.etaBeforeBenchmark:()V
        36: .line 634
            iload 14 /* warmupFork */
            ifeq 40
        37: .line 635
            aload 0 /* this */
            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 /* forkedString */
            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: .line 636
            aload 0 /* this */
            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 /* i */
            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 /* warmupForkCount */
            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: .line 637
            goto 42
        40: .line 638
      StackMap locals: int java.util.List
      StackMap stack:
            aload 0 /* this */
            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 /* forkedString */
            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: .line 639
            aload 0 /* this */
            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 /* i */
            iconst_1
            iadd
            iload 11 /* warmupForkCount */
            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 /* forkCount */
            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: .line 642
      StackMap locals:
      StackMap stack:
            ldc "stderr"
            invokestatic org.openjdk.jmh.util.FileUtils.weakTempFile:(Ljava/lang/String;)Lorg/openjdk/jmh/util/TempFile;
            astore 16 /* stdErr */
        start local 16 // org.openjdk.jmh.util.TempFile stdErr
        43: .line 643
            ldc "stdout"
            invokestatic org.openjdk.jmh.util.FileUtils.weakTempFile:(Ljava/lang/String;)Lorg/openjdk/jmh/util/TempFile;
            astore 17 /* stdOut */
        start local 17 // org.openjdk.jmh.util.TempFile stdOut
        44: .line 645
            aload 5 /* profilers */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 57
        45: .line 646
            aload 0 /* this */
            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: .line 647
            aload 5 /* profilers */
            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 /* profiler */
        start local 18 // org.openjdk.jmh.profile.ExternalProfiler profiler
        48: .line 648
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
            new java.lang.StringBuilder
            dup
            aload 18 /* profiler */
            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: .line 649
            aload 18 /* profiler */
            aload 4 /* params */
            invokeinterface org.openjdk.jmh.profile.ExternalProfiler.beforeTrial:(Lorg/openjdk/jmh/infra/BenchmarkParams;)V
        end local 18 // org.openjdk.jmh.profile.ExternalProfiler profiler
        50: .line 647
      StackMap locals:
      StackMap stack:
            aload 19
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 47
        51: .line 651
            aload 0 /* this */
            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: .line 653
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 18 /* consumed */
        start local 18 // java.util.List consumed
        53: .line 654
            iload 6 /* printOut */
            ifne 54
            aload 18 /* consumed */
            ldc "stdout"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        54: .line 655
      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 /* printErr */
            ifne 55
            aload 18 /* consumed */
            ldc "stderr"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        55: .line 656
      StackMap locals:
      StackMap stack:
            aload 18 /* consumed */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 57
        56: .line 657
            aload 0 /* this */
            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 /* consumed */
            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 // java.util.List consumed
        57: .line 661
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 18 /* startTime */
        start local 18 // long startTime
        58: .line 663
            aload 0 /* this */
            aload 3 /* server */
            aload 15 /* forkedString */
            aload 17 /* stdOut */
            invokevirtual org.openjdk.jmh.util.TempFile.file:()Ljava/io/File;
            aload 16 /* stdErr */
            invokevirtual org.openjdk.jmh.util.TempFile.file:()Ljava/io/File;
            iload 6 /* printOut */
            iload 7 /* printErr */
            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 /* result */
        start local 20 // java.util.List result
        59: .line 664
            aload 20 /* result */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 78
        60: .line 665
            aload 3 /* server */
            invokevirtual org.openjdk.jmh.runner.link.BinaryLinkServer.getClientPid:()J
            lstore 21 /* pid */
        start local 21 // long pid
        61: .line 667
            aload 3 /* server */
            invokevirtual org.openjdk.jmh.runner.link.BinaryLinkServer.getMetadata:()Lorg/openjdk/jmh/results/BenchmarkResultMetaData;
            astore 23 /* md */
        start local 23 // org.openjdk.jmh.results.BenchmarkResultMetaData md
        62: .line 668
            aload 23 /* md */
            ifnull 64
        63: .line 669
            aload 23 /* md */
            lload 18 /* startTime */
            invokevirtual org.openjdk.jmh.results.BenchmarkResultMetaData.adjustStart:(J)V
        64: .line 672
      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 /* params */
            aload 20 /* result */
            aload 23 /* md */
            invokespecial org.openjdk.jmh.results.BenchmarkResult.<init>:(Lorg/openjdk/jmh/infra/BenchmarkParams;Ljava/util/Collection;Lorg/openjdk/jmh/results/BenchmarkResultMetaData;)V
            astore 24 /* br */
        start local 24 // org.openjdk.jmh.results.BenchmarkResult br
        65: .line 674
            aload 8 /* profilersRev */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 76
        66: .line 675
            aload 0 /* this */
            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: .line 676
            aload 8 /* profilersRev */
            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 /* profiler */
        start local 25 // org.openjdk.jmh.profile.ExternalProfiler profiler
        69: .line 677
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
            new java.lang.StringBuilder
            dup
            aload 25 /* profiler */
            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: .line 678
            aload 25 /* profiler */
            aload 24 /* br */
            lload 21 /* pid */
            aload 17 /* stdOut */
            invokevirtual org.openjdk.jmh.util.TempFile.file:()Ljava/io/File;
            aload 16 /* stdErr */
            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 /* profR */
        start local 27 // org.openjdk.jmh.results.Result profR
        72: .line 679
            aload 24 /* br */
            aload 27 /* profR */
            invokevirtual org.openjdk.jmh.results.BenchmarkResult.addBenchmarkResult:(Lorg/openjdk/jmh/results/Result;)V
        end local 27 // org.openjdk.jmh.results.Result profR
        73: .line 678
      StackMap locals:
      StackMap stack:
            aload 28
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 71
        end local 25 // org.openjdk.jmh.profile.ExternalProfiler profiler
        74: .line 676
      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: .line 682
            aload 0 /* this */
            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: .line 685
      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 /* warmupFork */
            ifne 78
        77: .line 686
            aload 2 /* results */
            aload 4 /* params */
            aload 24 /* br */
            invokeinterface org.openjdk.jmh.util.Multimap.put:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 24 // org.openjdk.jmh.results.BenchmarkResult br
        end local 23 // org.openjdk.jmh.results.BenchmarkResultMetaData md
        end local 21 // long pid
        78: .line 690
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* params */
            invokevirtual org.openjdk.jmh.runner.Runner.etaAfterBenchmark:(Lorg/openjdk/jmh/infra/BenchmarkParams;)V
        79: .line 691
            aload 0 /* this */
            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: .line 694
            aload 17 /* stdOut */
            invokevirtual org.openjdk.jmh.util.TempFile.delete:()V
        81: .line 695
            aload 16 /* stdErr */
            invokevirtual org.openjdk.jmh.util.TempFile.delete:()V
        end local 20 // java.util.List result
        end local 18 // long startTime
        end local 17 // org.openjdk.jmh.util.TempFile stdOut
        end local 16 // org.openjdk.jmh.util.TempFile stdErr
        end local 15 // java.util.List forkedString
        end local 14 // boolean warmupFork
        82: .line 628
            iinc 13 /* i */ 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 /* i */
            iload 12 /* totalForks */
            if_icmplt 31
        end local 13 // int i
        84: .line 698
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
            new org.openjdk.jmh.results.RunResult
            dup
            aload 4 /* params */
            aload 2 /* results */
            aload 4 /* params */
            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 // int totalForks
        end local 11 // int warmupForkCount
        end local 10 // int forkCount
        end local 9 // boolean forcePrint
        end local 8 // java.util.List profilersRev
        end local 7 // boolean printErr
        end local 6 // boolean printOut
        end local 5 // java.util.List profilers
        end local 4 // org.openjdk.jmh.infra.BenchmarkParams params
        85: .line 700
            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 /* e */
        start local 4 // java.io.IOException e
        87: .line 701
            aload 2 /* results */
            invokeinterface org.openjdk.jmh.util.Multimap.clear:()V
        88: .line 702
            new org.openjdk.jmh.runner.BenchmarkException
            dup
            aload 4 /* e */
            invokespecial org.openjdk.jmh.runner.BenchmarkException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.io.IOException e
        89: .line 703
      StackMap locals:
      StackMap stack: org.openjdk.jmh.runner.BenchmarkException
            astore 4 /* e */
        start local 4 // org.openjdk.jmh.runner.BenchmarkException e
        90: .line 704
            aload 2 /* results */
            invokeinterface org.openjdk.jmh.util.Multimap.clear:()V
        91: .line 705
            aload 0 /* this */
            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: .line 706
            aload 0 /* this */
            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: .line 707
            aload 4 /* e */
            athrow
        end local 4 // org.openjdk.jmh.runner.BenchmarkException e
        94: .line 710
      StackMap locals:
      StackMap stack:
            aload 3 /* server */
            ifnull 96
        95: .line 711
            aload 3 /* server */
            invokevirtual org.openjdk.jmh.runner.link.BinaryLinkServer.terminate:()V
        96: .line 713
      StackMap locals:
      StackMap stack:
            invokestatic org.openjdk.jmh.util.FileUtils.purgeTemps:()V
            goto 105
        97: .line 709
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 29
        98: .line 710
            aload 3 /* server */
            ifnull 100
        99: .line 711
            aload 3 /* server */
            invokevirtual org.openjdk.jmh.runner.link.BinaryLinkServer.terminate:()V
       100: .line 713
      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: .line 714
            aload 29
            athrow
       102: .line 710
      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 /* server */
            ifnull 104
       103: .line 711
            aload 3 /* server */
            invokevirtual org.openjdk.jmh.runner.link.BinaryLinkServer.terminate:()V
       104: .line 713
      StackMap locals:
      StackMap stack:
            invokestatic org.openjdk.jmh.util.FileUtils.purgeTemps:()V
       105: .line 716
      StackMap locals:
      StackMap stack:
            aload 2 /* results */
            areturn
        end local 3 // org.openjdk.jmh.runner.link.BinaryLinkServer server
        end local 2 // org.openjdk.jmh.util.Multimap results
        end local 1 // org.openjdk.jmh.runner.ActionPlan actionPlan
        end local 0 // org.openjdk.jmh.runner.Runner this
      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 // org.openjdk.jmh.runner.Runner this
        start local 1 // org.openjdk.jmh.runner.link.BinaryLinkServer reader
        start local 2 // java.util.List commandString
        start local 3 // java.io.File stdOut
        start local 4 // java.io.File stdErr
        start local 5 // boolean printOut
        start local 6 // boolean printErr
         0: .line 721
            aconst_null
            astore 7
            aconst_null
            astore 8
         1: new java.io.FileOutputStream
            dup
            aload 4 /* stdErr */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            astore 9 /* fosErr */
        start local 9 // java.io.FileOutputStream fosErr
         2: .line 722
            new java.io.FileOutputStream
            dup
            aload 3 /* stdOut */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            astore 10 /* fosOut */
        start local 10 // java.io.FileOutputStream fosOut
         3: .line 723
            new java.lang.ProcessBuilder
            dup
            aload 2 /* commandString */
            invokespecial java.lang.ProcessBuilder.<init>:(Ljava/util/List;)V
            astore 11 /* pb */
        start local 11 // java.lang.ProcessBuilder pb
         4: .line 724
            aload 11 /* pb */
            invokevirtual java.lang.ProcessBuilder.start:()Ljava/lang/Process;
            astore 12 /* p */
        start local 12 // java.lang.Process p
         5: .line 727
            new org.openjdk.jmh.util.InputStreamDrainer
            dup
            aload 12 /* p */
            invokevirtual java.lang.Process.getErrorStream:()Ljava/io/InputStream;
            aload 9 /* fosErr */
            invokespecial org.openjdk.jmh.util.InputStreamDrainer.<init>:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
            astore 13 /* errDrainer */
        start local 13 // org.openjdk.jmh.util.InputStreamDrainer errDrainer
         6: .line 728
            new org.openjdk.jmh.util.InputStreamDrainer
            dup
            aload 12 /* p */
            invokevirtual java.lang.Process.getInputStream:()Ljava/io/InputStream;
            aload 10 /* fosOut */
            invokespecial org.openjdk.jmh.util.InputStreamDrainer.<init>:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
            astore 14 /* outDrainer */
        start local 14 // org.openjdk.jmh.util.InputStreamDrainer outDrainer
         7: .line 730
            iload 6 /* printErr */
            ifeq 9
         8: .line 731
            aload 13 /* errDrainer */
            new org.openjdk.jmh.runner.OutputFormatAdapter
            dup
            aload 0 /* this */
            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: .line 734
      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 /* printOut */
            ifeq 11
        10: .line 735
            aload 14 /* outDrainer */
            new org.openjdk.jmh.runner.OutputFormatAdapter
            dup
            aload 0 /* this */
            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: .line 738
      StackMap locals:
      StackMap stack:
            aload 13 /* errDrainer */
            invokevirtual org.openjdk.jmh.util.InputStreamDrainer.start:()V
        12: .line 739
            aload 14 /* outDrainer */
            invokevirtual org.openjdk.jmh.util.InputStreamDrainer.start:()V
        13: .line 741
            aload 12 /* p */
            invokevirtual java.lang.Process.waitFor:()I
            istore 15 /* ecode */
        start local 15 // int ecode
        14: .line 743
            aload 13 /* errDrainer */
            invokevirtual org.openjdk.jmh.util.InputStreamDrainer.join:()V
        15: .line 744
            aload 14 /* outDrainer */
            invokevirtual org.openjdk.jmh.util.InputStreamDrainer.join:()V
        16: .line 748
            aload 1 /* reader */
            invokevirtual org.openjdk.jmh.runner.link.BinaryLinkServer.waitFinish:()V
        17: .line 750
            iload 15 /* ecode */
            ifeq 32
        18: .line 751
            aload 0 /* this */
            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 /* ecode */
            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: .line 752
            aload 0 /* this */
            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: .line 753
            aload 3 /* stdOut */
            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 /* l */
        start local 16 // java.lang.String l
        22: .line 754
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
            aload 16 /* l */
            invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
        end local 16 // java.lang.String l
        23: .line 753
      StackMap locals:
      StackMap stack:
            aload 17
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        24: .line 756
            aload 0 /* this */
            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: .line 757
            aload 0 /* this */
            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: .line 758
            aload 4 /* stdErr */
            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 /* l */
        start local 16 // java.lang.String l
        28: .line 759
            aload 0 /* this */
            getfield org.openjdk.jmh.runner.Runner.out:Lorg/openjdk/jmh/runner/format/OutputFormat;
            aload 16 /* l */
            invokeinterface org.openjdk.jmh.runner.format.OutputFormat.println:(Ljava/lang/String;)V
        end local 16 // java.lang.String l
        29: .line 758
      StackMap locals:
      StackMap stack:
            aload 17
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 27
        30: .line 761
            aload 0 /* this */
            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: .line 763
            aload 0 /* this */
            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: .line 766
      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 /* reader */
            invokevirtual org.openjdk.jmh.runner.link.BinaryLinkServer.getException:()Lorg/openjdk/jmh/runner/BenchmarkException;
            astore 16 /* exception */
        start local 16 // org.openjdk.jmh.runner.BenchmarkException exception
        33: .line 767
            aload 16 /* exception */
            ifnonnull 40
        34: .line 768
            iload 15 /* ecode */
            ifne 39
        35: .line 769
            aload 1 /* reader */
            invokevirtual org.openjdk.jmh.runner.link.BinaryLinkServer.getResults:()Ljava/util/List;
        36: .line 777
            aload 10 /* fosOut */
            ifnull 37
            aload 10 /* fosOut */
            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 /* fosErr */
            ifnull 38
            aload 9 /* fosErr */
            invokevirtual java.io.FileOutputStream.close:()V
        38: .line 769
      StackMap locals:
      StackMap stack: java.util.List
            areturn
        39: .line 771
      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 /* ecode */
            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: .line 774
      StackMap locals:
      StackMap stack:
            aload 16 /* exception */
            athrow
        end local 16 // org.openjdk.jmh.runner.BenchmarkException exception
        end local 15 // int ecode
        end local 14 // org.openjdk.jmh.util.InputStreamDrainer outDrainer
        end local 13 // org.openjdk.jmh.util.InputStreamDrainer errDrainer
        end local 12 // java.lang.Process p
        end local 11 // java.lang.ProcessBuilder pb
      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: .line 777
            aload 10 /* fosOut */
            ifnull 43
            aload 10 /* fosOut */
            invokevirtual java.io.FileOutputStream.close:()V
        end local 10 // java.io.FileOutputStream fosOut
      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 /* fosErr */
            ifnull 47
            aload 9 /* fosErr */
            invokevirtual java.io.FileOutputStream.close:()V
        end local 9 // java.io.FileOutputStream fosErr
      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 /* ex */
        start local 7 // java.io.IOException ex
        52: .line 778
            aload 0 /* this */
            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 /* ex */
            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: .line 779
            aload 0 /* this */
            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: .line 780
            new org.openjdk.jmh.runner.BenchmarkException
            dup
            aload 7 /* ex */
            invokespecial org.openjdk.jmh.runner.BenchmarkException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 7 // java.io.IOException ex
        55: .line 781
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
            astore 7 /* ex */
        start local 7 // java.lang.InterruptedException ex
        56: .line 782
            aload 0 /* this */
            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 /* ex */
            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: .line 783
            aload 0 /* this */
            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: .line 784
            new org.openjdk.jmh.runner.BenchmarkException
            dup
            aload 7 /* ex */
            invokespecial org.openjdk.jmh.runner.BenchmarkException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 7 // java.lang.InterruptedException ex
        end local 6 // boolean printErr
        end local 5 // boolean printOut
        end local 4 // java.io.File stdErr
        end local 3 // java.io.File stdOut
        end local 2 // java.util.List commandString
        end local 1 // org.openjdk.jmh.runner.link.BinaryLinkServer reader
        end local 0 // org.openjdk.jmh.runner.Runner this
      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 // org.openjdk.jmh.runner.Runner this
        start local 1 // org.openjdk.jmh.infra.BenchmarkParams benchmark
        start local 2 // java.util.List profilers
        start local 3 // java.lang.String host
        start local 4 // int port
         0: .line 795
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* javaInvokeOptions */
        start local 5 // java.util.List javaInvokeOptions
         1: .line 796
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* javaOptions */
        start local 6 // java.util.List javaOptions
         2: .line 797
            aload 2 /* profilers */
            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 /* prof */
        start local 7 // org.openjdk.jmh.profile.ExternalProfiler prof
         4: .line 798
            aload 5 /* javaInvokeOptions */
            aload 7 /* prof */
            aload 1 /* benchmark */
            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: .line 799
            aload 6 /* javaOptions */
            aload 7 /* prof */
            aload 1 /* benchmark */
            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 // org.openjdk.jmh.profile.ExternalProfiler prof
         6: .line 797
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 802
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* command */
        start local 7 // java.util.List command
         8: .line 805
            aload 7 /* command */
            aload 5 /* javaInvokeOptions */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         9: .line 808
            aload 7 /* command */
            aload 1 /* benchmark */
            invokevirtual org.openjdk.jmh.infra.BenchmarkParams.getJvm:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        10: .line 811
            aload 7 /* command */
            aload 1 /* benchmark */
            invokevirtual org.openjdk.jmh.infra.BenchmarkParams.getJvmArgs:()Ljava/util/Collection;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        11: .line 814
            aload 7 /* command */
            aload 6 /* javaOptions */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        12: .line 817
            aload 7 /* command */
            invokestatic org.openjdk.jmh.runner.CompilerHints.addCompilerHints:(Ljava/util/List;)V
        13: .line 820
            aload 0 /* this */
            aload 7 /* command */
            invokevirtual org.openjdk.jmh.runner.Runner.addClasspath:(Ljava/util/List;)V
        14: .line 822
            aload 7 /* command */
            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: .line 827
            aload 7 /* command */
            aload 3 /* host */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        16: .line 828
            aload 7 /* command */
            iload 4 /* port */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        17: .line 830
            aload 7 /* command */
            areturn
        end local 7 // java.util.List command
        end local 6 // java.util.List javaOptions
        end local 5 // java.util.List javaInvokeOptions
        end local 4 // int port
        end local 3 // java.lang.String host
        end local 2 // java.util.List profilers
        end local 1 // org.openjdk.jmh.infra.BenchmarkParams benchmark
        end local 0 // org.openjdk.jmh.runner.Runner this
      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 // org.openjdk.jmh.runner.Runner this
        start local 1 // java.lang.String jvm
         0: .line 834
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* command */
        start local 2 // java.util.List command
         1: .line 837
            aload 2 /* command */
            aload 1 /* jvm */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 840
            aload 0 /* this */
            aload 2 /* command */
            invokevirtual org.openjdk.jmh.runner.Runner.addClasspath:(Ljava/util/List;)V
         3: .line 842
            aload 2 /* command */
            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: .line 844
            aload 2 /* command */
            areturn
        end local 2 // java.util.List command
        end local 1 // java.lang.String jvm
        end local 0 // org.openjdk.jmh.runner.Runner this
      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 // org.openjdk.jmh.runner.Runner this
        start local 1 // java.util.List command
         0: .line 848
            aload 1 /* command */
            ldc "-cp"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 850
            ldc "java.class.path"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* cpProp */
        start local 2 // java.lang.String cpProp
         2: .line 851
            aconst_null
            astore 3 /* tmpFile */
        start local 3 // java.io.File tmpFile
         3: .line 853
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
         4: .line 854
            aload 0 /* this */
            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: .line 855
            aload 0 /* this */
            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: .line 856
            aload 0 /* this */
            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: .line 853
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* jvmargs */
        start local 4 // java.lang.String jvmargs
         8: .line 862
            ldc "jmh.separateClasspathJAR"
            invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
            ifne 10
         9: .line 863
            aload 4 /* jvmargs */
            ldc "jmh.separateClasspathJAR=true"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 38
        10: .line 874
      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 /* tmpFile */
        11: .line 875
            aload 3 /* tmpFile */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
            astore 5 /* tmpFileDir */
        start local 5 // java.nio.file.Path tmpFileDir
        12: .line 877
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 6 /* sb */
        start local 6 // java.lang.StringBuilder sb
        13: .line 878
            aload 2 /* cpProp */
            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 /* cp */
        start local 7 // java.lang.String cp
        15: .line 879
            aload 5 /* tmpFileDir */
            new java.io.File
            dup
            aload 7 /* cp */
            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 /* rel */
        start local 11 // java.lang.String rel
        16: .line 880
            aload 6 /* sb */
            aload 11 /* rel */
            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: .line 881
            aload 7 /* cp */
            ldc ".jar"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 19
        18: .line 882
            aload 6 /* sb */
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        19: .line 884
      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 /* sb */
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 11 // java.lang.String rel
        end local 7 // java.lang.String cp
        20: .line 878
            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: .line 886
            aload 6 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 7 /* classPath */
        start local 7 // java.lang.String classPath
        23: .line 888
            new java.util.jar.Manifest
            dup
            invokespecial java.util.jar.Manifest.<init>:()V
            astore 8 /* manifest */
        start local 8 // java.util.jar.Manifest manifest
        24: .line 889
            aload 8 /* manifest */
            invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
            astore 9 /* attrs */
        start local 9 // java.util.jar.Attributes attrs
        25: .line 890
            aload 9 /* attrs */
            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: .line 891
            aload 9 /* attrs */
            ldc "Class-Path"
            aload 7 /* classPath */
            invokevirtual java.util.jar.Attributes.putValue:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
        27: .line 893
            aconst_null
            astore 10
            aconst_null
            astore 11
        28: new java.util.jar.JarOutputStream
            dup
            new java.io.FileOutputStream
            dup
            aload 3 /* tmpFile */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            aload 8 /* manifest */
            invokespecial java.util.jar.JarOutputStream.<init>:(Ljava/io/OutputStream;Ljava/util/jar/Manifest;)V
            astore 12 /* jos */
        start local 12 // java.util.jar.JarOutputStream jos
        29: .line 894
            aload 12 /* jos */
            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: .line 895
            aload 12 /* jos */
            ifnull 38
            aload 12 /* jos */
            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 /* jos */
            ifnull 32
            aload 12 /* jos */
            invokevirtual java.util.jar.JarOutputStream.close:()V
        end local 12 // java.util.jar.JarOutputStream jos
      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 // java.util.jar.Attributes attrs
        end local 8 // java.util.jar.Manifest manifest
        end local 7 // java.lang.String classPath
        end local 6 // java.lang.StringBuilder sb
        end local 5 // java.nio.file.Path tmpFileDir
        36: .line 896
      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: .line 898
            aconst_null
            astore 3 /* tmpFile */
        38: .line 902
      StackMap locals:
      StackMap stack:
            aload 3 /* tmpFile */
            ifnull 44
        39: .line 903
            invokestatic org.openjdk.jmh.util.Utils.isWindows:()Z
            ifeq 42
        40: .line 904
            aload 1 /* command */
            new java.lang.StringBuilder
            dup
            ldc "\""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* tmpFile */
            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: .line 905
            goto 48
        42: .line 906
      StackMap locals:
      StackMap stack:
            aload 1 /* command */
            aload 3 /* tmpFile */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        43: .line 908
            goto 48
        44: .line 909
      StackMap locals:
      StackMap stack:
            invokestatic org.openjdk.jmh.util.Utils.isWindows:()Z
            ifeq 47
        45: .line 910
            aload 1 /* command */
            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 /* cpProp */
            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: .line 911
            goto 48
        47: .line 912
      StackMap locals:
      StackMap stack:
            aload 1 /* command */
            aload 2 /* cpProp */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        48: .line 915
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.String jvmargs
        end local 3 // java.io.File tmpFile
        end local 2 // java.lang.String cpProp
        end local 1 // java.util.List command
        end local 0 // org.openjdk.jmh.runner.Runner this
      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: .line 1
            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: .line 63
            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