public abstract class org.openjdk.jmh.profile.AbstractPerfAsmProfiler implements org.openjdk.jmh.profile.ExternalProfiler
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.openjdk.jmh.profile.AbstractPerfAsmProfiler
  super_class: java.lang.Object
{
  protected final java.util.List<java.lang.String> events;
    descriptor: Ljava/util/List;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private final double regionRateThreshold;
    descriptor: D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int regionShowTop;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int regionTooBigThreshold;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int printMargin;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int mergeMargin;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int delayMsec;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int lengthMsec;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean skipAssembly;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean skipInterpreter;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean skipVMStubs;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean savePerfOutput;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String savePerfOutputTo;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String savePerfOutputToFile;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean savePerfBin;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String savePerfBinTo;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String savePerfBinFile;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean saveLog;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String saveLogTo;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String saveLogToFile;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean printCompilationInfo;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean intelSyntax;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected final org.openjdk.jmh.util.TempFile hsLog;
    descriptor: Lorg/openjdk/jmh/util/TempFile;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.openjdk.jmh.util.TempFile perfBinData;
    descriptor: Lorg/openjdk/jmh/util/TempFile;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.openjdk.jmh.util.TempFile perfParsedData;
    descriptor: Lorg/openjdk/jmh/util/TempFile;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final joptsimple.OptionSet set;
    descriptor: Ljoptsimple/OptionSet;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private final boolean drawIntraJumps;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean drawInterJumps;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected void <init>(java.lang.String, java.lang.String[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;)V
    flags: (0x0084) ACC_PROTECTED, ACC_VARARGS
    Code:
      stack=4, locals=29, args_size=3
        start local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler this
        start local 1 // java.lang.String initLine
        start local 2 // java.lang.String[] events
         0: .line 78
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 80
            aload 0 /* this */
            ldc "hslog"
            invokestatic org.openjdk.jmh.util.FileUtils.weakTempFile:(Ljava/lang/String;)Lorg/openjdk/jmh/util/TempFile;
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.hsLog:Lorg/openjdk/jmh/util/TempFile;
         2: .line 81
            aload 0 /* this */
            ldc "perfbin"
            invokestatic org.openjdk.jmh.util.FileUtils.weakTempFile:(Ljava/lang/String;)Lorg/openjdk/jmh/util/TempFile;
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.perfBinData:Lorg/openjdk/jmh/util/TempFile;
         3: .line 82
            aload 0 /* this */
            ldc "perfparsed"
            invokestatic org.openjdk.jmh.util.FileUtils.weakTempFile:(Ljava/lang/String;)Lorg/openjdk/jmh/util/TempFile;
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.perfParsedData:Lorg/openjdk/jmh/util/TempFile;
         4: .line 83
            goto 7
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler java.lang.String java.lang.String[]
      StackMap stack: java.io.IOException
         5: astore 3 /* e */
        start local 3 // java.io.IOException e
         6: .line 84
            new org.openjdk.jmh.profile.ProfilerException
            dup
            aload 3 /* e */
            invokespecial org.openjdk.jmh.profile.ProfilerException.<init>:(Ljava/lang/Exception;)V
            athrow
        end local 3 // java.io.IOException e
         7: .line 87
      StackMap locals:
      StackMap stack:
            new joptsimple.OptionParser
            dup
            invokespecial joptsimple.OptionParser.<init>:()V
            astore 3 /* parser */
        start local 3 // joptsimple.OptionParser parser
         8: .line 88
            aload 3 /* parser */
            new org.openjdk.jmh.profile.ProfilerOptionFormatter
            dup
            ldc "perfasm"
            invokespecial org.openjdk.jmh.profile.ProfilerOptionFormatter.<init>:(Ljava/lang/String;)V
            invokevirtual joptsimple.OptionParser.formatHelpWith:(Ljoptsimple/HelpFormatter;)V
         9: .line 90
            aload 3 /* parser */
            ldc "events"
        10: .line 91
            ldc "Events to gather."
        11: .line 90
            invokevirtual joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljoptsimple/OptionSpecBuilder;
        12: .line 92
            invokevirtual joptsimple.OptionSpecBuilder.withRequiredArg:()Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc Ljava/lang/String;
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.ofType:(Ljava/lang/Class;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc ","
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.withValuesSeparatedBy:(Ljava/lang/String;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc "event"
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.describedAs:(Ljava/lang/String;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            aload 2 /* events */
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.defaultsTo:([Ljava/lang/Object;)Ljoptsimple/ArgumentAcceptingOptionSpec;
        13: .line 90
            astore 4 /* optEvents */
        start local 4 // joptsimple.OptionSpec optEvents
        14: .line 94
            aload 3 /* parser */
            ldc "hotThreshold"
        15: .line 95
            ldc "Cutoff threshold for hot regions. The regions with event count over threshold would be expanded with detailed disassembly."
        16: .line 94
            invokevirtual joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljoptsimple/OptionSpecBuilder;
        17: .line 97
            invokevirtual joptsimple.OptionSpecBuilder.withRequiredArg:()Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc Ljava/lang/Double;
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.ofType:(Ljava/lang/Class;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc "rate"
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.describedAs:(Ljava/lang/String;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc 0.1
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            iconst_0
            anewarray java.lang.Double
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.defaultsTo:(Ljava/lang/Object;[Ljava/lang/Object;)Ljoptsimple/ArgumentAcceptingOptionSpec;
        18: .line 94
            astore 5 /* optThresholdRate */
        start local 5 // joptsimple.OptionSpec optThresholdRate
        19: .line 99
            aload 3 /* parser */
            ldc "top"
        20: .line 100
            ldc "Show this number of top hottest code regions."
        21: .line 99
            invokevirtual joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljoptsimple/OptionSpecBuilder;
        22: .line 101
            invokevirtual joptsimple.OptionSpecBuilder.withRequiredArg:()Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc Ljava/lang/Integer;
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.ofType:(Ljava/lang/Class;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc "#"
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.describedAs:(Ljava/lang/String;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            bipush 20
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            anewarray java.lang.Integer
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.defaultsTo:(Ljava/lang/Object;[Ljava/lang/Object;)Ljoptsimple/ArgumentAcceptingOptionSpec;
        23: .line 99
            astore 6 /* optShowTop */
        start local 6 // joptsimple.OptionSpec optShowTop
        24: .line 103
            aload 3 /* parser */
            ldc "tooBigThreshold"
        25: .line 104
            ldc "Cutoff threshold for large region. The region containing more than this number of lines would be truncated."
        26: .line 103
            invokevirtual joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljoptsimple/OptionSpecBuilder;
        27: .line 106
            invokevirtual joptsimple.OptionSpecBuilder.withRequiredArg:()Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc Ljava/lang/Integer;
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.ofType:(Ljava/lang/Class;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc "lines"
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.describedAs:(Ljava/lang/String;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            sipush 1000
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            anewarray java.lang.Integer
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.defaultsTo:(Ljava/lang/Object;[Ljava/lang/Object;)Ljoptsimple/ArgumentAcceptingOptionSpec;
        28: .line 103
            astore 7 /* optThreshold */
        start local 7 // joptsimple.OptionSpec optThreshold
        29: .line 108
            aload 3 /* parser */
            ldc "printMargin"
        30: .line 109
            ldc "Print margin. How many \"context\" lines without counters to show in each region."
        31: .line 108
            invokevirtual joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljoptsimple/OptionSpecBuilder;
        32: .line 110
            invokevirtual joptsimple.OptionSpecBuilder.withRequiredArg:()Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc Ljava/lang/Integer;
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.ofType:(Ljava/lang/Class;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc "lines"
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.describedAs:(Ljava/lang/String;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            bipush 10
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            anewarray java.lang.Integer
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.defaultsTo:(Ljava/lang/Object;[Ljava/lang/Object;)Ljoptsimple/ArgumentAcceptingOptionSpec;
        33: .line 108
            astore 8 /* optPrintMargin */
        start local 8 // joptsimple.OptionSpec optPrintMargin
        34: .line 112
            aload 3 /* parser */
            ldc "mergeMargin"
        35: .line 113
            ldc "Merge margin. The regions separated by less than the margin are merged."
        36: .line 112
            invokevirtual joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljoptsimple/OptionSpecBuilder;
        37: .line 114
            invokevirtual joptsimple.OptionSpecBuilder.withRequiredArg:()Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc Ljava/lang/Integer;
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.ofType:(Ljava/lang/Class;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc "lines"
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.describedAs:(Ljava/lang/String;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            bipush 32
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            anewarray java.lang.Integer
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.defaultsTo:(Ljava/lang/Object;[Ljava/lang/Object;)Ljoptsimple/ArgumentAcceptingOptionSpec;
        38: .line 112
            astore 9 /* optMergeMargin */
        start local 9 // joptsimple.OptionSpec optMergeMargin
        39: .line 116
            aload 3 /* parser */
            ldc "delay"
        40: .line 117
            ldc "Delay collection for a given time, in milliseconds; -1 to detect automatically."
        41: .line 116
            invokevirtual joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljoptsimple/OptionSpecBuilder;
        42: .line 118
            invokevirtual joptsimple.OptionSpecBuilder.withRequiredArg:()Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc Ljava/lang/Integer;
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.ofType:(Ljava/lang/Class;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc "ms"
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.describedAs:(Ljava/lang/String;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            iconst_m1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            anewarray java.lang.Integer
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.defaultsTo:(Ljava/lang/Object;[Ljava/lang/Object;)Ljoptsimple/ArgumentAcceptingOptionSpec;
        43: .line 116
            astore 10 /* optDelay */
        start local 10 // joptsimple.OptionSpec optDelay
        44: .line 120
            aload 3 /* parser */
            ldc "length"
        45: .line 121
            ldc "Do the collection for a given time, in milliseconds; -1 to detect automatically."
        46: .line 120
            invokevirtual joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljoptsimple/OptionSpecBuilder;
        47: .line 122
            invokevirtual joptsimple.OptionSpecBuilder.withRequiredArg:()Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc Ljava/lang/Integer;
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.ofType:(Ljava/lang/Class;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc "ms"
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.describedAs:(Ljava/lang/String;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            iconst_m1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            anewarray java.lang.Integer
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.defaultsTo:(Ljava/lang/Object;[Ljava/lang/Object;)Ljoptsimple/ArgumentAcceptingOptionSpec;
        48: .line 120
            astore 11 /* optLength */
        start local 11 // joptsimple.OptionSpec optLength
        49: .line 124
            aload 3 /* parser */
            ldc "skipAsm"
        50: .line 125
            ldc "Skip -XX:+PrintAssembly instrumentation."
        51: .line 124
            invokevirtual joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljoptsimple/OptionSpecBuilder;
        52: .line 126
            invokevirtual joptsimple.OptionSpecBuilder.withRequiredArg:()Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc Ljava/lang/Boolean;
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.ofType:(Ljava/lang/Class;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc "bool"
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.describedAs:(Ljava/lang/String;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_0
            anewarray java.lang.Boolean
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.defaultsTo:(Ljava/lang/Object;[Ljava/lang/Object;)Ljoptsimple/ArgumentAcceptingOptionSpec;
        53: .line 124
            astore 12 /* optSkipAsm */
        start local 12 // joptsimple.OptionSpec optSkipAsm
        54: .line 128
            aload 3 /* parser */
            ldc "skipInterpreter"
        55: .line 129
            ldc "Skip printing out interpreter stubs. This may improve the parser performance at the expense of missing the resolution and disassembly of interpreter regions."
        56: .line 128
            invokevirtual joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljoptsimple/OptionSpecBuilder;
        57: .line 131
            invokevirtual joptsimple.OptionSpecBuilder.withRequiredArg:()Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc Ljava/lang/Boolean;
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.ofType:(Ljava/lang/Class;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc "bool"
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.describedAs:(Ljava/lang/String;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_0
            anewarray java.lang.Boolean
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.defaultsTo:(Ljava/lang/Object;[Ljava/lang/Object;)Ljoptsimple/ArgumentAcceptingOptionSpec;
        58: .line 128
            astore 13 /* optSkipInterpreter */
        start local 13 // joptsimple.OptionSpec optSkipInterpreter
        59: .line 133
            aload 3 /* parser */
            ldc "skipVMStubs"
        60: .line 134
            ldc "Skip printing out VM stubs. This may improve the parser performance at the expense of missing the resolution and disassembly of VM stub regions."
        61: .line 133
            invokevirtual joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljoptsimple/OptionSpecBuilder;
        62: .line 136
            invokevirtual joptsimple.OptionSpecBuilder.withRequiredArg:()Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc Ljava/lang/Boolean;
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.ofType:(Ljava/lang/Class;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc "bool"
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.describedAs:(Ljava/lang/String;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_0
            anewarray java.lang.Boolean
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.defaultsTo:(Ljava/lang/Object;[Ljava/lang/Object;)Ljoptsimple/ArgumentAcceptingOptionSpec;
        63: .line 133
            astore 14 /* optSkipVMStubs */
        start local 14 // joptsimple.OptionSpec optSkipVMStubs
        64: .line 138
            aload 3 /* parser */
            ldc "savePerf"
        65: .line 139
            ldc "Save parsed perf output to file. Use this for debugging."
        66: .line 138
            invokevirtual joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljoptsimple/OptionSpecBuilder;
        67: .line 140
            invokevirtual joptsimple.OptionSpecBuilder.withRequiredArg:()Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc Ljava/lang/Boolean;
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.ofType:(Ljava/lang/Class;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc "bool"
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.describedAs:(Ljava/lang/String;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_0
            anewarray java.lang.Boolean
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.defaultsTo:(Ljava/lang/Object;[Ljava/lang/Object;)Ljoptsimple/ArgumentAcceptingOptionSpec;
        68: .line 138
            astore 15 /* optPerfOut */
        start local 15 // joptsimple.OptionSpec optPerfOut
        69: .line 142
            aload 3 /* parser */
            ldc "savePerfTo"
        70: .line 143
            ldc "Override the parsed perf output log location. This will use the unique file name per test. Use this for debugging."
        71: .line 142
            invokevirtual joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljoptsimple/OptionSpecBuilder;
        72: .line 144
            invokevirtual joptsimple.OptionSpecBuilder.withRequiredArg:()Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc Ljava/lang/String;
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.ofType:(Ljava/lang/Class;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc "dir"
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.describedAs:(Ljava/lang/String;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc "."
            iconst_0
            anewarray java.lang.String
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.defaultsTo:(Ljava/lang/Object;[Ljava/lang/Object;)Ljoptsimple/ArgumentAcceptingOptionSpec;
        73: .line 142
            astore 16 /* optPerfOutTo */
        start local 16 // joptsimple.OptionSpec optPerfOutTo
        74: .line 146
            aload 3 /* parser */
            ldc "savePerfToFile"
        75: .line 147
            ldc "Override the perf output log filename. Use this for debugging."
        76: .line 146
            invokevirtual joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljoptsimple/OptionSpecBuilder;
        77: .line 148
            invokevirtual joptsimple.OptionSpecBuilder.withRequiredArg:()Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc Ljava/lang/String;
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.ofType:(Ljava/lang/Class;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc "file"
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.describedAs:(Ljava/lang/String;)Ljoptsimple/ArgumentAcceptingOptionSpec;
        78: .line 146
            astore 17 /* optPerfOutToFile */
        start local 17 // joptsimple.OptionSpec optPerfOutToFile
        79: .line 150
            aload 3 /* parser */
            ldc "savePerfBin"
        80: .line 151
            ldc "Save binary perf data to file. Use this for debugging."
        81: .line 150
            invokevirtual joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljoptsimple/OptionSpecBuilder;
        82: .line 152
            invokevirtual joptsimple.OptionSpecBuilder.withRequiredArg:()Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc Ljava/lang/Boolean;
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.ofType:(Ljava/lang/Class;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc "bool"
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.describedAs:(Ljava/lang/String;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_0
            anewarray java.lang.Boolean
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.defaultsTo:(Ljava/lang/Object;[Ljava/lang/Object;)Ljoptsimple/ArgumentAcceptingOptionSpec;
        83: .line 150
            astore 18 /* optPerfBin */
        start local 18 // joptsimple.OptionSpec optPerfBin
        84: .line 154
            aload 3 /* parser */
            ldc "savePerfBinTo"
        85: .line 155
            ldc "Override the binary perf data location. This will use the unique file name per test. Use this for debugging."
        86: .line 154
            invokevirtual joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljoptsimple/OptionSpecBuilder;
        87: .line 156
            invokevirtual joptsimple.OptionSpecBuilder.withRequiredArg:()Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc Ljava/lang/String;
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.ofType:(Ljava/lang/Class;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc "dir"
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.describedAs:(Ljava/lang/String;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc "."
            iconst_0
            anewarray java.lang.String
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.defaultsTo:(Ljava/lang/Object;[Ljava/lang/Object;)Ljoptsimple/ArgumentAcceptingOptionSpec;
        88: .line 154
            astore 19 /* optPerfBinTo */
        start local 19 // joptsimple.OptionSpec optPerfBinTo
        89: .line 158
            aload 3 /* parser */
            ldc "savePerfBinToFile"
        90: .line 159
            ldc "Override the perf binary data filename. Use this for debugging."
        91: .line 158
            invokevirtual joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljoptsimple/OptionSpecBuilder;
        92: .line 160
            invokevirtual joptsimple.OptionSpecBuilder.withRequiredArg:()Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc Ljava/lang/String;
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.ofType:(Ljava/lang/Class;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc "file"
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.describedAs:(Ljava/lang/String;)Ljoptsimple/ArgumentAcceptingOptionSpec;
        93: .line 158
            astore 20 /* optPerfBinToFile */
        start local 20 // joptsimple.OptionSpec optPerfBinToFile
        94: .line 162
            aload 3 /* parser */
            ldc "saveLog"
        95: .line 163
            ldc "Save annotated Hotspot log to file."
        96: .line 162
            invokevirtual joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljoptsimple/OptionSpecBuilder;
        97: .line 164
            invokevirtual joptsimple.OptionSpecBuilder.withRequiredArg:()Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc Ljava/lang/Boolean;
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.ofType:(Ljava/lang/Class;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc "bool"
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.describedAs:(Ljava/lang/String;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_0
            anewarray java.lang.Boolean
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.defaultsTo:(Ljava/lang/Object;[Ljava/lang/Object;)Ljoptsimple/ArgumentAcceptingOptionSpec;
        98: .line 162
            astore 21 /* optSaveLog */
        start local 21 // joptsimple.OptionSpec optSaveLog
        99: .line 166
            aload 3 /* parser */
            ldc "saveLogTo"
       100: .line 167
            ldc "Override the annotated Hotspot log location. This will use the unique file name per test."
       101: .line 166
            invokevirtual joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljoptsimple/OptionSpecBuilder;
       102: .line 168
            invokevirtual joptsimple.OptionSpecBuilder.withRequiredArg:()Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc Ljava/lang/String;
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.ofType:(Ljava/lang/Class;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc "dir"
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.describedAs:(Ljava/lang/String;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc "."
            iconst_0
            anewarray java.lang.String
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.defaultsTo:(Ljava/lang/Object;[Ljava/lang/Object;)Ljoptsimple/ArgumentAcceptingOptionSpec;
       103: .line 166
            astore 22 /* optSaveLogTo */
        start local 22 // joptsimple.OptionSpec optSaveLogTo
       104: .line 170
            aload 3 /* parser */
            ldc "saveLogToFile"
       105: .line 171
            ldc "Override the annotated Hotspot log filename."
       106: .line 170
            invokevirtual joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljoptsimple/OptionSpecBuilder;
       107: .line 172
            invokevirtual joptsimple.OptionSpecBuilder.withRequiredArg:()Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc Ljava/lang/String;
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.ofType:(Ljava/lang/Class;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc "file"
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.describedAs:(Ljava/lang/String;)Ljoptsimple/ArgumentAcceptingOptionSpec;
       108: .line 170
            astore 23 /* optSaveLogToFile */
        start local 23 // joptsimple.OptionSpec optSaveLogToFile
       109: .line 174
            aload 3 /* parser */
            ldc "printCompilationInfo"
       110: .line 175
            ldc "Print the collateral compilation information. Enabling this might corrupt the assembly output, see https://bugs.openjdk.java.net/browse/CODETOOLS-7901102."
       111: .line 174
            invokevirtual joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljoptsimple/OptionSpecBuilder;
       112: .line 177
            invokevirtual joptsimple.OptionSpecBuilder.withRequiredArg:()Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc Ljava/lang/Boolean;
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.ofType:(Ljava/lang/Class;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc "bool"
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.describedAs:(Ljava/lang/String;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_0
            anewarray java.lang.Boolean
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.defaultsTo:(Ljava/lang/Object;[Ljava/lang/Object;)Ljoptsimple/ArgumentAcceptingOptionSpec;
       113: .line 174
            astore 24 /* optPrintCompilationInfo */
        start local 24 // joptsimple.OptionSpec optPrintCompilationInfo
       114: .line 179
            aload 3 /* parser */
            ldc "intelSyntax"
       115: .line 180
            ldc "Should perfasm use intel syntax?"
       116: .line 179
            invokevirtual joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljoptsimple/OptionSpecBuilder;
       117: .line 181
            invokevirtual joptsimple.OptionSpecBuilder.withRequiredArg:()Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc Ljava/lang/Boolean;
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.ofType:(Ljava/lang/Class;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc "boolean"
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.describedAs:(Ljava/lang/String;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_0
            anewarray java.lang.Boolean
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.defaultsTo:(Ljava/lang/Object;[Ljava/lang/Object;)Ljoptsimple/ArgumentAcceptingOptionSpec;
       118: .line 179
            astore 25 /* optIntelSyntax */
        start local 25 // joptsimple.OptionSpec optIntelSyntax
       119: .line 183
            aload 3 /* parser */
            ldc "drawIntraJumps"
       120: .line 184
            ldc "Should perfasm draw jump arrows with the region?"
       121: .line 183
            invokevirtual joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljoptsimple/OptionSpecBuilder;
       122: .line 185
            invokevirtual joptsimple.OptionSpecBuilder.withRequiredArg:()Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc Ljava/lang/Boolean;
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.ofType:(Ljava/lang/Class;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc "boolean"
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.describedAs:(Ljava/lang/String;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_0
            anewarray java.lang.Boolean
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.defaultsTo:(Ljava/lang/Object;[Ljava/lang/Object;)Ljoptsimple/ArgumentAcceptingOptionSpec;
       123: .line 183
            astore 26 /* optDrawIntraJumps */
        start local 26 // joptsimple.OptionSpec optDrawIntraJumps
       124: .line 187
            aload 3 /* parser */
            ldc "drawInterJumps"
       125: .line 188
            ldc "Should perfasm draw jump arrows out of the region?"
       126: .line 187
            invokevirtual joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljoptsimple/OptionSpecBuilder;
       127: .line 189
            invokevirtual joptsimple.OptionSpecBuilder.withRequiredArg:()Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc Ljava/lang/Boolean;
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.ofType:(Ljava/lang/Class;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc "boolean"
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.describedAs:(Ljava/lang/String;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_0
            anewarray java.lang.Boolean
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.defaultsTo:(Ljava/lang/Object;[Ljava/lang/Object;)Ljoptsimple/ArgumentAcceptingOptionSpec;
       128: .line 187
            astore 27 /* optDrawInterJumps */
        start local 27 // joptsimple.OptionSpec optDrawInterJumps
       129: .line 191
            aload 0 /* this */
            aload 3 /* parser */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler.addMyOptions:(Ljoptsimple/OptionParser;)V
       130: .line 193
            aload 0 /* this */
            aload 1 /* initLine */
            aload 3 /* parser */
            invokestatic org.openjdk.jmh.profile.ProfilerUtils.parseInitLine:(Ljava/lang/String;Ljoptsimple/OptionParser;)Ljoptsimple/OptionSet;
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.set:Ljoptsimple/OptionSet;
       131: .line 196
            aload 0 /* this */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.set:Ljoptsimple/OptionSet;
            aload 4 /* optEvents */
            invokevirtual joptsimple.OptionSet.valuesOf:(Ljoptsimple/OptionSpec;)Ljava/util/List;
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.events:Ljava/util/List;
       132: .line 197
            aload 0 /* this */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.set:Ljoptsimple/OptionSet;
            aload 5 /* optThresholdRate */
            invokevirtual joptsimple.OptionSet.valueOf:(Ljoptsimple/OptionSpec;)Ljava/lang/Object;
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.regionRateThreshold:D
       133: .line 198
            aload 0 /* this */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.set:Ljoptsimple/OptionSet;
            aload 6 /* optShowTop */
            invokevirtual joptsimple.OptionSet.valueOf:(Ljoptsimple/OptionSpec;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.regionShowTop:I
       134: .line 199
            aload 0 /* this */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.set:Ljoptsimple/OptionSet;
            aload 7 /* optThreshold */
            invokevirtual joptsimple.OptionSet.valueOf:(Ljoptsimple/OptionSpec;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.regionTooBigThreshold:I
       135: .line 200
            aload 0 /* this */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.set:Ljoptsimple/OptionSet;
            aload 8 /* optPrintMargin */
            invokevirtual joptsimple.OptionSet.valueOf:(Ljoptsimple/OptionSpec;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.printMargin:I
       136: .line 201
            aload 0 /* this */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.set:Ljoptsimple/OptionSet;
            aload 9 /* optMergeMargin */
            invokevirtual joptsimple.OptionSet.valueOf:(Ljoptsimple/OptionSpec;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.mergeMargin:I
       137: .line 202
            aload 0 /* this */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.set:Ljoptsimple/OptionSet;
            aload 10 /* optDelay */
            invokevirtual joptsimple.OptionSet.valueOf:(Ljoptsimple/OptionSpec;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.delayMsec:I
       138: .line 203
            aload 0 /* this */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.set:Ljoptsimple/OptionSet;
            aload 11 /* optLength */
            invokevirtual joptsimple.OptionSet.valueOf:(Ljoptsimple/OptionSpec;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.lengthMsec:I
       139: .line 205
            aload 0 /* this */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.set:Ljoptsimple/OptionSet;
            aload 12 /* optSkipAsm */
            invokevirtual joptsimple.OptionSet.valueOf:(Ljoptsimple/OptionSpec;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.skipAssembly:Z
       140: .line 206
            aload 0 /* this */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.set:Ljoptsimple/OptionSet;
            aload 13 /* optSkipInterpreter */
            invokevirtual joptsimple.OptionSet.valueOf:(Ljoptsimple/OptionSpec;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.skipInterpreter:Z
       141: .line 207
            aload 0 /* this */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.set:Ljoptsimple/OptionSet;
            aload 14 /* optSkipVMStubs */
            invokevirtual joptsimple.OptionSet.valueOf:(Ljoptsimple/OptionSpec;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.skipVMStubs:Z
       142: .line 209
            aload 0 /* this */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.set:Ljoptsimple/OptionSet;
            aload 15 /* optPerfOut */
            invokevirtual joptsimple.OptionSet.valueOf:(Ljoptsimple/OptionSpec;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.savePerfOutput:Z
       143: .line 210
            aload 0 /* this */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.set:Ljoptsimple/OptionSet;
            aload 16 /* optPerfOutTo */
            invokevirtual joptsimple.OptionSet.valueOf:(Ljoptsimple/OptionSpec;)Ljava/lang/Object;
            checkcast java.lang.String
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.savePerfOutputTo:Ljava/lang/String;
       144: .line 211
            aload 0 /* this */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.set:Ljoptsimple/OptionSet;
            aload 17 /* optPerfOutToFile */
            invokevirtual joptsimple.OptionSet.valueOf:(Ljoptsimple/OptionSpec;)Ljava/lang/Object;
            checkcast java.lang.String
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.savePerfOutputToFile:Ljava/lang/String;
       145: .line 213
            aload 0 /* this */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.set:Ljoptsimple/OptionSet;
            aload 18 /* optPerfBin */
            invokevirtual joptsimple.OptionSet.valueOf:(Ljoptsimple/OptionSpec;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.savePerfBin:Z
       146: .line 214
            aload 0 /* this */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.set:Ljoptsimple/OptionSet;
            aload 19 /* optPerfBinTo */
            invokevirtual joptsimple.OptionSet.valueOf:(Ljoptsimple/OptionSpec;)Ljava/lang/Object;
            checkcast java.lang.String
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.savePerfBinTo:Ljava/lang/String;
       147: .line 215
            aload 0 /* this */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.set:Ljoptsimple/OptionSet;
            aload 20 /* optPerfBinToFile */
            invokevirtual joptsimple.OptionSet.valueOf:(Ljoptsimple/OptionSpec;)Ljava/lang/Object;
            checkcast java.lang.String
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.savePerfBinFile:Ljava/lang/String;
       148: .line 217
            aload 0 /* this */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.set:Ljoptsimple/OptionSet;
            aload 21 /* optSaveLog */
            invokevirtual joptsimple.OptionSet.valueOf:(Ljoptsimple/OptionSpec;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.saveLog:Z
       149: .line 218
            aload 0 /* this */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.set:Ljoptsimple/OptionSet;
            aload 22 /* optSaveLogTo */
            invokevirtual joptsimple.OptionSet.valueOf:(Ljoptsimple/OptionSpec;)Ljava/lang/Object;
            checkcast java.lang.String
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.saveLogTo:Ljava/lang/String;
       150: .line 219
            aload 0 /* this */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.set:Ljoptsimple/OptionSet;
            aload 23 /* optSaveLogToFile */
            invokevirtual joptsimple.OptionSet.valueOf:(Ljoptsimple/OptionSpec;)Ljava/lang/Object;
            checkcast java.lang.String
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.saveLogToFile:Ljava/lang/String;
       151: .line 221
            aload 0 /* this */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.set:Ljoptsimple/OptionSet;
            aload 25 /* optIntelSyntax */
            invokevirtual joptsimple.OptionSet.valueOf:(Ljoptsimple/OptionSpec;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.intelSyntax:Z
       152: .line 222
            aload 0 /* this */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.set:Ljoptsimple/OptionSet;
            aload 24 /* optPrintCompilationInfo */
            invokevirtual joptsimple.OptionSet.valueOf:(Ljoptsimple/OptionSpec;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.printCompilationInfo:Z
       153: .line 223
            aload 0 /* this */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.set:Ljoptsimple/OptionSet;
            aload 27 /* optDrawInterJumps */
            invokevirtual joptsimple.OptionSet.valueOf:(Ljoptsimple/OptionSpec;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.drawIntraJumps:Z
       154: .line 224
            aload 0 /* this */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.set:Ljoptsimple/OptionSet;
            aload 26 /* optDrawIntraJumps */
            invokevirtual joptsimple.OptionSet.valueOf:(Ljoptsimple/OptionSpec;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.drawInterJumps:Z
       155: .line 225
            goto 158
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler java.lang.String java.lang.String[] joptsimple.OptionParser joptsimple.OptionSpec joptsimple.OptionSpec joptsimple.OptionSpec joptsimple.OptionSpec joptsimple.OptionSpec joptsimple.OptionSpec joptsimple.OptionSpec joptsimple.OptionSpec joptsimple.OptionSpec joptsimple.OptionSpec joptsimple.OptionSpec joptsimple.OptionSpec joptsimple.OptionSpec joptsimple.OptionSpec joptsimple.OptionSpec joptsimple.OptionSpec joptsimple.OptionSpec joptsimple.OptionSpec joptsimple.OptionSpec joptsimple.OptionSpec joptsimple.OptionSpec joptsimple.OptionSpec joptsimple.OptionSpec joptsimple.OptionSpec
      StackMap stack: joptsimple.OptionException
       156: astore 28 /* e */
        start local 28 // joptsimple.OptionException e
       157: .line 226
            new org.openjdk.jmh.profile.ProfilerException
            dup
            aload 28 /* e */
            invokevirtual joptsimple.OptionException.getMessage:()Ljava/lang/String;
            invokespecial org.openjdk.jmh.profile.ProfilerException.<init>:(Ljava/lang/String;)V
            athrow
        end local 28 // joptsimple.OptionException e
       158: .line 228
      StackMap locals:
      StackMap stack:
            return
        end local 27 // joptsimple.OptionSpec optDrawInterJumps
        end local 26 // joptsimple.OptionSpec optDrawIntraJumps
        end local 25 // joptsimple.OptionSpec optIntelSyntax
        end local 24 // joptsimple.OptionSpec optPrintCompilationInfo
        end local 23 // joptsimple.OptionSpec optSaveLogToFile
        end local 22 // joptsimple.OptionSpec optSaveLogTo
        end local 21 // joptsimple.OptionSpec optSaveLog
        end local 20 // joptsimple.OptionSpec optPerfBinToFile
        end local 19 // joptsimple.OptionSpec optPerfBinTo
        end local 18 // joptsimple.OptionSpec optPerfBin
        end local 17 // joptsimple.OptionSpec optPerfOutToFile
        end local 16 // joptsimple.OptionSpec optPerfOutTo
        end local 15 // joptsimple.OptionSpec optPerfOut
        end local 14 // joptsimple.OptionSpec optSkipVMStubs
        end local 13 // joptsimple.OptionSpec optSkipInterpreter
        end local 12 // joptsimple.OptionSpec optSkipAsm
        end local 11 // joptsimple.OptionSpec optLength
        end local 10 // joptsimple.OptionSpec optDelay
        end local 9 // joptsimple.OptionSpec optMergeMargin
        end local 8 // joptsimple.OptionSpec optPrintMargin
        end local 7 // joptsimple.OptionSpec optThreshold
        end local 6 // joptsimple.OptionSpec optShowTop
        end local 5 // joptsimple.OptionSpec optThresholdRate
        end local 4 // joptsimple.OptionSpec optEvents
        end local 3 // joptsimple.OptionParser parser
        end local 2 // java.lang.String[] events
        end local 1 // java.lang.String initLine
        end local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0  159     0                     this  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler;
            0  159     1                 initLine  Ljava/lang/String;
            0  159     2                   events  [Ljava/lang/String;
            6    7     3                        e  Ljava/io/IOException;
            8  159     3                   parser  Ljoptsimple/OptionParser;
           14  159     4                optEvents  Ljoptsimple/OptionSpec<Ljava/lang/String;>;
           19  159     5         optThresholdRate  Ljoptsimple/OptionSpec<Ljava/lang/Double;>;
           24  159     6               optShowTop  Ljoptsimple/OptionSpec<Ljava/lang/Integer;>;
           29  159     7             optThreshold  Ljoptsimple/OptionSpec<Ljava/lang/Integer;>;
           34  159     8           optPrintMargin  Ljoptsimple/OptionSpec<Ljava/lang/Integer;>;
           39  159     9           optMergeMargin  Ljoptsimple/OptionSpec<Ljava/lang/Integer;>;
           44  159    10                 optDelay  Ljoptsimple/OptionSpec<Ljava/lang/Integer;>;
           49  159    11                optLength  Ljoptsimple/OptionSpec<Ljava/lang/Integer;>;
           54  159    12               optSkipAsm  Ljoptsimple/OptionSpec<Ljava/lang/Boolean;>;
           59  159    13       optSkipInterpreter  Ljoptsimple/OptionSpec<Ljava/lang/Boolean;>;
           64  159    14           optSkipVMStubs  Ljoptsimple/OptionSpec<Ljava/lang/Boolean;>;
           69  159    15               optPerfOut  Ljoptsimple/OptionSpec<Ljava/lang/Boolean;>;
           74  159    16             optPerfOutTo  Ljoptsimple/OptionSpec<Ljava/lang/String;>;
           79  159    17         optPerfOutToFile  Ljoptsimple/OptionSpec<Ljava/lang/String;>;
           84  159    18               optPerfBin  Ljoptsimple/OptionSpec<Ljava/lang/Boolean;>;
           89  159    19             optPerfBinTo  Ljoptsimple/OptionSpec<Ljava/lang/String;>;
           94  159    20         optPerfBinToFile  Ljoptsimple/OptionSpec<Ljava/lang/String;>;
           99  159    21               optSaveLog  Ljoptsimple/OptionSpec<Ljava/lang/Boolean;>;
          104  159    22             optSaveLogTo  Ljoptsimple/OptionSpec<Ljava/lang/String;>;
          109  159    23         optSaveLogToFile  Ljoptsimple/OptionSpec<Ljava/lang/String;>;
          114  159    24  optPrintCompilationInfo  Ljoptsimple/OptionSpec<Ljava/lang/Boolean;>;
          119  159    25           optIntelSyntax  Ljoptsimple/OptionSpec<Ljava/lang/Boolean;>;
          124  159    26        optDrawIntraJumps  Ljoptsimple/OptionSpec<Ljava/lang/Boolean;>;
          129  159    27        optDrawInterJumps  Ljoptsimple/OptionSpec<Ljava/lang/Boolean;>;
          157  158    28                        e  Ljoptsimple/OptionException;
      Exception table:
        from    to  target  type
           1     4       5  Class java.io.IOException
         131   155     156  Class joptsimple.OptionException
    Exceptions:
      throws org.openjdk.jmh.profile.ProfilerException
    MethodParameters:
          Name  Flags
      initLine  
      events    

  protected abstract void addMyOptions(joptsimple.OptionParser);
    descriptor: (Ljoptsimple/OptionParser;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      parser  

  public java.util.Collection<java.lang.String> addJVMOptions(org.openjdk.jmh.infra.BenchmarkParams);
    descriptor: (Lorg/openjdk/jmh/infra/BenchmarkParams;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler this
        start local 1 // org.openjdk.jmh.infra.BenchmarkParams params
         0: .line 234
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.skipAssembly:Z
            ifne 23
         1: .line 235
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* opts */
        start local 2 // java.util.Collection opts
         2: .line 236
            aload 2 /* opts */
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
         3: .line 237
            ldc "-XX:+UnlockDiagnosticVMOptions"
            aastore
            dup
            iconst_1
         4: .line 238
            ldc "-XX:+LogCompilation"
            aastore
            dup
            iconst_2
         5: .line 239
            new java.lang.StringBuilder
            dup
            ldc "-XX:LogFile="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.hsLog:Lorg/openjdk/jmh/util/TempFile;
            invokevirtual org.openjdk.jmh.util.TempFile.getAbsolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_3
         6: .line 240
            ldc "-XX:+PrintAssembly"
            aastore
         7: .line 236
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
            pop
         8: .line 242
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.skipInterpreter:Z
            ifne 10
         9: .line 243
            aload 2 /* opts */
            ldc "-XX:+PrintInterpreter"
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        10: .line 245
      StackMap locals: java.util.Collection
      StackMap stack:
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.skipVMStubs:Z
            ifne 16
        11: .line 246
            aload 2 /* opts */
            ldc "-XX:+PrintNMethods"
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        12: .line 247
            aload 2 /* opts */
            ldc "-XX:+PrintNativeNMethods"
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        13: .line 248
            aload 2 /* opts */
            ldc "-XX:+PrintSignatureHandlers"
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        14: .line 249
            aload 2 /* opts */
            ldc "-XX:+PrintAdapterHandlers"
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        15: .line 250
            aload 2 /* opts */
            ldc "-XX:+PrintStubCode"
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        16: .line 252
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.printCompilationInfo:Z
            ifeq 20
        17: .line 253
            aload 2 /* opts */
            ldc "-XX:+PrintCompilation"
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        18: .line 254
            aload 2 /* opts */
            ldc "-XX:+PrintInlining"
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        19: .line 255
            aload 2 /* opts */
            ldc "-XX:+TraceClassLoading"
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        20: .line 257
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.intelSyntax:Z
            ifeq 22
        21: .line 258
            aload 2 /* opts */
            ldc "-XX:PrintAssemblyOptions=intel"
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        22: .line 260
      StackMap locals:
      StackMap stack:
            aload 2 /* opts */
            areturn
        end local 2 // java.util.Collection opts
        23: .line 262
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
        end local 1 // org.openjdk.jmh.infra.BenchmarkParams params
        end local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   24     0    this  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler;
            0   24     1  params  Lorg/openjdk/jmh/infra/BenchmarkParams;
            2   23     2    opts  Ljava/util/Collection<Ljava/lang/String;>;
    Signature: (Lorg/openjdk/jmh/infra/BenchmarkParams;)Ljava/util/Collection<Ljava/lang/String;>;
    MethodParameters:
        Name  Flags
      params  

  public void beforeTrial(org.openjdk.jmh.infra.BenchmarkParams);
    descriptor: (Lorg/openjdk/jmh/infra/BenchmarkParams;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler this
        start local 1 // org.openjdk.jmh.infra.BenchmarkParams params
         0: .line 269
            return
        end local 1 // org.openjdk.jmh.infra.BenchmarkParams params
        end local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler;
            0    1     1  params  Lorg/openjdk/jmh/infra/BenchmarkParams;
    MethodParameters:
        Name  Flags
      params  

  public java.util.Collection<? extends org.openjdk.jmh.results.Result> afterTrial(org.openjdk.jmh.results.BenchmarkResult, long, java.io.File, java.io.File);
    descriptor: (Lorg/openjdk/jmh/results/BenchmarkResult;JLjava/io/File;Ljava/io/File;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=5
        start local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler this
        start local 1 // org.openjdk.jmh.results.BenchmarkResult br
        start local 2 // long pid
        start local 4 // java.io.File stdOut
        start local 5 // java.io.File stdErr
         0: .line 273
            aload 0 /* this */
            aload 1 /* br */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler.processAssembly:(Lorg/openjdk/jmh/results/BenchmarkResult;)Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfResult;
            astore 6 /* result */
        start local 6 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfResult result
         1: .line 276
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.hsLog:Lorg/openjdk/jmh/util/TempFile;
            invokevirtual org.openjdk.jmh.util.TempFile.delete:()V
         2: .line 277
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.perfBinData:Lorg/openjdk/jmh/util/TempFile;
            invokevirtual org.openjdk.jmh.util.TempFile.delete:()V
         3: .line 278
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.perfParsedData:Lorg/openjdk/jmh/util/TempFile;
            invokevirtual org.openjdk.jmh.util.TempFile.delete:()V
         4: .line 280
            aload 6 /* result */
            invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
            areturn
        end local 6 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfResult result
        end local 5 // java.io.File stdErr
        end local 4 // java.io.File stdOut
        end local 2 // long pid
        end local 1 // org.openjdk.jmh.results.BenchmarkResult br
        end local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler;
            0    5     1      br  Lorg/openjdk/jmh/results/BenchmarkResult;
            0    5     2     pid  J
            0    5     4  stdOut  Ljava/io/File;
            0    5     5  stdErr  Ljava/io/File;
            1    5     6  result  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfResult;
    Signature: (Lorg/openjdk/jmh/results/BenchmarkResult;JLjava/io/File;Ljava/io/File;)Ljava/util/Collection<+Lorg/openjdk/jmh/results/Result;>;
    MethodParameters:
        Name  Flags
      br      
      pid     
      stdOut  
      stdErr  

  public boolean allowPrintOut();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler this
         0: .line 285
            iconst_0
            ireturn
        end local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler;

  public boolean allowPrintErr();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler this
         0: .line 290
            iconst_0
            ireturn
        end local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler;

  protected abstract void parseEvents();
    descriptor: ()V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected abstract org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents readEvents(double, double);
    descriptor: (DD)Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfEvents;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      skipMs  
      lenMs   

  protected abstract java.lang.String perfBinaryExtension();
    descriptor: ()Ljava/lang/String;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  private org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfResult processAssembly(org.openjdk.jmh.results.BenchmarkResult);
    descriptor: (Lorg/openjdk/jmh/results/BenchmarkResult;)Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=30, args_size=2
        start local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler this
        start local 1 // org.openjdk.jmh.results.BenchmarkResult br
         0: .line 319
            aload 0 /* this */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler.parseEvents:()V
         1: .line 321
            new java.io.StringWriter
            dup
            invokespecial java.io.StringWriter.<init>:()V
            astore 2 /* sw */
        start local 2 // java.io.StringWriter sw
         2: .line 322
            new java.io.PrintWriter
            dup
            aload 2 /* sw */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
            astore 3 /* pw */
        start local 3 // java.io.PrintWriter pw
         3: .line 328
            aload 0 /* this */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.hsLog:Lorg/openjdk/jmh/util/TempFile;
            invokevirtual org.openjdk.jmh.util.TempFile.file:()Ljava/io/File;
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler.readAssembly:(Ljava/io/File;)Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$Assembly;
            astore 4 /* assembly */
        start local 4 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly assembly
         4: .line 329
            aload 4 /* assembly */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly.size:()I
            ifle 7
         5: .line 330
            aload 3 /* pw */
            ldc "PrintAssembly processed: %d total address lines.%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* assembly */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly.size:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
         6: .line 331
            goto 19
      StackMap locals: java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly
      StackMap stack:
         7: aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.skipAssembly:Z
            ifeq 12
         8: .line 332
            aload 3 /* pw */
            invokevirtual java.io.PrintWriter.println:()V
         9: .line 333
            aload 3 /* pw */
            ldc "PrintAssembly skipped, Java methods are not resolved."
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        10: .line 334
            aload 3 /* pw */
            invokevirtual java.io.PrintWriter.println:()V
        11: .line 335
            goto 19
        12: .line 336
      StackMap locals:
      StackMap stack:
            aload 3 /* pw */
            invokevirtual java.io.PrintWriter.println:()V
        13: .line 337
            aload 3 /* pw */
            ldc "ERROR: No address lines detected in assembly capture. Make sure your JDK is properly configured to"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        14: .line 338
            aload 3 /* pw */
            ldc "print generated assembly. The most probable cause for this failure is that hsdis is not available,"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        15: .line 339
            aload 3 /* pw */
            ldc "or resides at the wrong path within the JDK. Try to run the same JDK with -XX:+PrintAssembly with"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        16: .line 340
            aload 3 /* pw */
            ldc "a simple non-JMH program and look for warning messages. For details, see the link below:"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        17: .line 341
            aload 3 /* pw */
            ldc "    https://wiki.openjdk.java.net/display/HotSpot/PrintAssembly"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        18: .line 342
            aload 3 /* pw */
            invokevirtual java.io.PrintWriter.println:()V
        19: .line 350
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.delayMsec:I
            iconst_m1
            if_icmpne 22
        20: .line 351
            aload 1 /* br */
            invokestatic org.openjdk.jmh.profile.ProfilerUtils.measurementDelayMs:(Lorg/openjdk/jmh/results/BenchmarkResult;)J
            lstore 5 /* skipMs */
        start local 5 // long skipMs
        21: .line 352
            goto 23
        end local 5 // long skipMs
        22: .line 353
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.delayMsec:I
            i2l
            lstore 5 /* skipMs */
        start local 5 // long skipMs
        23: .line 357
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.lengthMsec:I
            iconst_m1
            if_icmpne 26
        24: .line 358
            aload 1 /* br */
            invokestatic org.openjdk.jmh.profile.ProfilerUtils.measuredTimeMs:(Lorg/openjdk/jmh/results/BenchmarkResult;)J
            l2d
            dstore 7 /* lenMs */
        start local 7 // double lenMs
        25: .line 359
            goto 27
        end local 7 // double lenMs
        26: .line 360
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.lengthMsec:I
            i2d
            dstore 7 /* lenMs */
        start local 7 // double lenMs
        27: .line 363
      StackMap locals: double
      StackMap stack:
            aload 0 /* this */
            lload 5 /* skipMs */
            l2d
            dload 7 /* lenMs */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler.readEvents:(DD)Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfEvents;
            astore 9 /* events */
        start local 9 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents events
        28: .line 365
            aload 9 /* events */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents.isEmpty:()Z
            ifne 38
        29: .line 366
            aload 3 /* pw */
            ldc "Perf output processed (skipped %.3f seconds):%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            lload 5 /* skipMs */
            l2d
            ldc 1000.0
            ddiv
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        30: .line 367
            iconst_1
            istore 10 /* cnt */
        start local 10 // int cnt
        31: .line 368
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.events:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 12
            goto 35
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents int top java.util.Iterator
      StackMap stack:
        32: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 11 /* event */
        start local 11 // java.lang.String event
        33: .line 369
            aload 3 /* pw */
            ldc " Column %d: %s (%d events)%n"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            iload 10 /* cnt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 11 /* event */
            aastore
            dup
            iconst_2
            aload 9 /* events */
            aload 11 /* event */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents.get:(Ljava/lang/String;)Lorg/openjdk/jmh/util/Multiset;
            invokeinterface org.openjdk.jmh.util.Multiset.size:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        34: .line 370
            iinc 10 /* cnt */ 1
        end local 11 // java.lang.String event
        35: .line 368
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 32
        36: .line 372
            aload 3 /* pw */
            invokevirtual java.io.PrintWriter.println:()V
        end local 10 // int cnt
        37: .line 373
            goto 41
        38: .line 374
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents
      StackMap stack:
            aload 3 /* pw */
            invokevirtual java.io.PrintWriter.println:()V
        39: .line 375
            aload 3 /* pw */
            ldc "ERROR: No perf data, make sure \"perf stat echo 1\" is indeed working;\n or the collection delay is not running past the benchmark time."
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        40: .line 377
            aload 3 /* pw */
            invokevirtual java.io.PrintWriter.println:()V
        41: .line 384
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* assembly */
            aload 9 /* events */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler.makeRegions:(Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$Assembly;Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfEvents;)Ljava/util/List;
            astore 10 /* regions */
        start local 10 // java.util.List regions
        42: .line 391
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.events:Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 11 /* mainEvent */
        start local 11 // java.lang.String mainEvent
        43: .line 393
            aload 10 /* regions */
            new org.openjdk.jmh.profile.AbstractPerfAsmProfiler$1
            dup
            aload 0 /* this */
            aload 9 /* events */
            aload 11 /* mainEvent */
            invokespecial org.openjdk.jmh.profile.AbstractPerfAsmProfiler$1.<init>:(Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler;Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfEvents;Ljava/lang/String;)V
            invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
        44: .line 401
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.regionRateThreshold:D
            aload 9 /* events */
            aload 11 /* mainEvent */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents.getTotalEvents:(Ljava/lang/String;)Ljava/lang/Long;
            invokevirtual java.lang.Long.longValue:()J
            l2d
            dmul
            d2l
            lstore 12 /* threshold */
        start local 12 // long threshold
        45: .line 403
            iconst_0
            istore 14 /* headerPrinted */
        start local 14 // boolean headerPrinted
        46: .line 405
            iconst_1
            istore 15 /* cnt */
        start local 15 // int cnt
        47: .line 406
            aload 10 /* regions */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 17
            goto 64
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int top java.util.Iterator
      StackMap stack:
        48: aload 17
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region
            astore 16 /* r */
        start local 16 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region r
        49: .line 407
            aload 16 /* r */
            aload 9 /* events */
            aload 11 /* mainEvent */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region.getEventCount:(Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfEvents;Ljava/lang/String;)J
            lload 12 /* threshold */
            lcmp
            ifle 64
        50: .line 408
            iload 14 /* headerPrinted */
            ifne 53
        51: .line 409
            aload 3 /* pw */
            ldc "Hottest code regions (>%.2f%% \"%s\" events):%n%n"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.regionRateThreshold:D
            ldc 100.0
            dmul
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            dup
            iconst_1
            aload 11 /* mainEvent */
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        52: .line 410
            iconst_1
            istore 14 /* headerPrinted */
        53: .line 413
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 3 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "Hottest Region "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 15 /* cnt */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler.printDottedLine:(Ljava/io/PrintWriter;Ljava/lang/String;)V
        54: .line 414
            aload 3 /* pw */
            ldc "%s, %s (%d bytes) %n%n"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 16 /* r */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region.desc:()Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc.source:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 16 /* r */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region.desc:()Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc.name:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 16 /* r */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region.end:J
            aload 16 /* r */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region.begin:J
            lsub
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        55: .line 415
            aload 16 /* r */
            aload 3 /* pw */
            aload 9 /* events */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region.printCode:(Ljava/io/PrintWriter;Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfEvents;)V
        56: .line 417
            aload 0 /* this */
            aload 3 /* pw */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler.printDottedLine:(Ljava/io/PrintWriter;)V
        57: .line 418
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.events:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 19
            goto 60
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region java.util.Iterator top java.util.Iterator
      StackMap stack:
        58: aload 19
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 18 /* event */
        start local 18 // java.lang.String event
        59: .line 419
            aload 3 /* pw */
            aload 9 /* events */
            aload 18 /* event */
            aload 16 /* r */
            aload 9 /* events */
            aload 18 /* event */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region.getEventCount:(Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfEvents;Ljava/lang/String;)J
            invokestatic org.openjdk.jmh.profile.AbstractPerfAsmProfiler.printLine:(Ljava/io/PrintWriter;Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfEvents;Ljava/lang/String;J)V
        end local 18 // java.lang.String event
        60: .line 418
      StackMap locals:
      StackMap stack:
            aload 19
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 58
        61: .line 421
            aload 3 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "<total for region "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 15 /* cnt */
            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;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        62: .line 422
            aload 3 /* pw */
            invokevirtual java.io.PrintWriter.println:()V
        63: .line 423
            iinc 15 /* cnt */ 1
        end local 16 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region r
        64: .line 406
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int top java.util.Iterator
      StackMap stack:
            aload 17
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 48
        65: .line 427
            iload 14 /* headerPrinted */
            ifne 69
        66: .line 428
            aload 3 /* pw */
            ldc "WARNING: No hottest code region above the threshold (%.2f%%) for disassembly.%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.regionRateThreshold:D
            ldc 100.0
            dmul
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        67: .line 429
            aload 3 /* pw */
            ldc "Use \"hotThreshold\" profiler option to lower the filter threshold."
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        68: .line 430
            aload 3 /* pw */
            invokevirtual java.io.PrintWriter.println:()V
        69: .line 433
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int
      StackMap stack:
            iconst_0
            istore 16 /* lenSource */
        start local 16 // int lenSource
        70: .line 434
            aload 10 /* regions */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 18
            goto 73
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int top java.util.Iterator
      StackMap stack:
        71: aload 18
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region
            astore 17 /* r */
        start local 17 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region r
        72: .line 435
            iload 16 /* lenSource */
            aload 17 /* r */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region.desc:()Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc.source:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            invokestatic java.lang.Math.max:(II)I
            istore 16 /* lenSource */
        end local 17 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region r
        73: .line 434
      StackMap locals:
      StackMap stack:
            aload 18
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 71
        74: .line 442
            new org.openjdk.jmh.util.HashMultiset
            dup
            invokespecial org.openjdk.jmh.util.HashMultiset.<init>:()V
            astore 17 /* total */
        start local 17 // org.openjdk.jmh.util.Multiset total
        75: .line 443
            new org.openjdk.jmh.util.HashMultiset
            dup
            invokespecial org.openjdk.jmh.util.HashMultiset.<init>:()V
            astore 18 /* other */
        start local 18 // org.openjdk.jmh.util.Multiset other
        76: .line 445
            aload 0 /* this */
            aload 3 /* pw */
            ldc "Hottest Regions"
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler.printDottedLine:(Ljava/io/PrintWriter;Ljava/lang/String;)V
        77: .line 446
            iconst_0
            istore 19 /* shown */
        start local 19 // int shown
        78: .line 447
            aload 10 /* regions */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 21
            goto 95
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int org.openjdk.jmh.util.Multiset org.openjdk.jmh.util.Multiset int top java.util.Iterator
      StackMap stack:
        79: aload 21
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region
            astore 20 /* r */
        start local 20 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region r
        80: .line 448
            iload 19 /* shown */
            iinc 19 /* shown */ 1
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.regionShowTop:I
            if_icmpge 87
        81: .line 449
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.events:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 23
            goto 84
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int org.openjdk.jmh.util.Multiset org.openjdk.jmh.util.Multiset int org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region java.util.Iterator top java.util.Iterator
      StackMap stack:
        82: aload 23
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 22 /* event */
        start local 22 // java.lang.String event
        83: .line 450
            aload 3 /* pw */
            aload 9 /* events */
            aload 22 /* event */
            aload 20 /* r */
            aload 9 /* events */
            aload 22 /* event */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region.getEventCount:(Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfEvents;Ljava/lang/String;)J
            invokestatic org.openjdk.jmh.profile.AbstractPerfAsmProfiler.printLine:(Ljava/io/PrintWriter;Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfEvents;Ljava/lang/String;J)V
        end local 22 // java.lang.String event
        84: .line 449
      StackMap locals:
      StackMap stack:
            aload 23
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 82
        85: .line 452
            aload 3 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "%"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 16 /* lenSource */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "s  %s (%d bytes) %n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 20 /* r */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region.desc:()Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc.source:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 20 /* r */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region.desc:()Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc.name:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 20 /* r */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region.end:J
            aload 20 /* r */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region.begin:J
            lsub
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        86: .line 453
            goto 91
        87: .line 454
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int org.openjdk.jmh.util.Multiset org.openjdk.jmh.util.Multiset int org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.events:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 23
            goto 90
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int org.openjdk.jmh.util.Multiset org.openjdk.jmh.util.Multiset int org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region java.util.Iterator top java.util.Iterator
      StackMap stack:
        88: aload 23
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 22 /* event */
        start local 22 // java.lang.String event
        89: .line 455
            aload 18 /* other */
            aload 22 /* event */
            aload 20 /* r */
            aload 9 /* events */
            aload 22 /* event */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region.getEventCount:(Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfEvents;Ljava/lang/String;)J
            invokeinterface org.openjdk.jmh.util.Multiset.add:(Ljava/lang/Object;J)V
        end local 22 // java.lang.String event
        90: .line 454
      StackMap locals:
      StackMap stack:
            aload 23
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 88
        91: .line 458
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int org.openjdk.jmh.util.Multiset org.openjdk.jmh.util.Multiset int org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.events:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 23
            goto 94
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int org.openjdk.jmh.util.Multiset org.openjdk.jmh.util.Multiset int org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region java.util.Iterator top java.util.Iterator
      StackMap stack:
        92: aload 23
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 22 /* event */
        start local 22 // java.lang.String event
        93: .line 459
            aload 17 /* total */
            aload 22 /* event */
            aload 20 /* r */
            aload 9 /* events */
            aload 22 /* event */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region.getEventCount:(Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfEvents;Ljava/lang/String;)J
            invokeinterface org.openjdk.jmh.util.Multiset.add:(Ljava/lang/Object;J)V
        end local 22 // java.lang.String event
        94: .line 458
      StackMap locals:
      StackMap stack:
            aload 23
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 92
        end local 20 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region r
        95: .line 447
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int org.openjdk.jmh.util.Multiset org.openjdk.jmh.util.Multiset int top java.util.Iterator
      StackMap stack:
            aload 21
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 79
        96: .line 463
            aload 10 /* regions */
            invokeinterface java.util.List.size:()I
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.regionShowTop:I
            isub
            ifle 102
        97: .line 464
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.events:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 21
            goto 100
      StackMap locals:
      StackMap stack:
        98: aload 21
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 20 /* event */
        start local 20 // java.lang.String event
        99: .line 465
            aload 3 /* pw */
            aload 9 /* events */
            aload 20 /* event */
            aload 18 /* other */
            aload 20 /* event */
            invokeinterface org.openjdk.jmh.util.Multiset.count:(Ljava/lang/Object;)J
            invokestatic org.openjdk.jmh.profile.AbstractPerfAsmProfiler.printLine:(Ljava/io/PrintWriter;Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfEvents;Ljava/lang/String;J)V
        end local 20 // java.lang.String event
       100: .line 464
      StackMap locals:
      StackMap stack:
            aload 21
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 98
       101: .line 467
            aload 3 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "<...other "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* regions */
            invokeinterface java.util.List.size:()I
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.regionShowTop:I
            isub
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " warm regions...>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       102: .line 469
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int org.openjdk.jmh.util.Multiset org.openjdk.jmh.util.Multiset int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* pw */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler.printDottedLine:(Ljava/io/PrintWriter;)V
       103: .line 471
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.events:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 21
            goto 106
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int org.openjdk.jmh.util.Multiset org.openjdk.jmh.util.Multiset int top java.util.Iterator
      StackMap stack:
       104: aload 21
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 20 /* event */
        start local 20 // java.lang.String event
       105: .line 472
            aload 3 /* pw */
            aload 9 /* events */
            aload 20 /* event */
            aload 17 /* total */
            aload 20 /* event */
            invokeinterface org.openjdk.jmh.util.Multiset.count:(Ljava/lang/Object;)J
            invokestatic org.openjdk.jmh.profile.AbstractPerfAsmProfiler.printLine:(Ljava/io/PrintWriter;Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfEvents;Ljava/lang/String;J)V
        end local 20 // java.lang.String event
       106: .line 471
      StackMap locals:
      StackMap stack:
            aload 21
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 104
       107: .line 474
            aload 3 /* pw */
            ldc "<totals>"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       108: .line 475
            aload 3 /* pw */
            invokevirtual java.io.PrintWriter.println:()V
        end local 19 // int shown
        end local 18 // org.openjdk.jmh.util.Multiset other
        end local 17 // org.openjdk.jmh.util.Multiset total
       109: .line 478
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 17 /* methodsByType */
        start local 17 // java.util.Map methodsByType
       110: .line 479
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 18 /* methods */
        start local 18 // java.util.Map methods
       111: .line 481
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.events:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 20
            goto 115
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
       112: aload 20
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 19 /* event */
        start local 19 // java.lang.String event
       113: .line 482
            aload 17 /* methodsByType */
            aload 19 /* event */
            new org.openjdk.jmh.util.HashMultiset
            dup
            invokespecial org.openjdk.jmh.util.HashMultiset.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       114: .line 483
            aload 18 /* methods */
            aload 19 /* event */
            new org.openjdk.jmh.util.HashMultiset
            dup
            invokespecial org.openjdk.jmh.util.HashMultiset.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 19 // java.lang.String event
       115: .line 481
      StackMap locals:
      StackMap stack:
            aload 20
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 112
       116: .line 486
            aload 10 /* regions */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 20
            goto 124
      StackMap locals:
      StackMap stack:
       117: aload 20
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region
            astore 19 /* r */
        start local 19 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region r
       118: .line 487
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.events:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 22
            goto 123
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int java.util.Map java.util.Map org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region java.util.Iterator top java.util.Iterator
      StackMap stack:
       119: aload 22
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 21 /* event */
        start local 21 // java.lang.String event
       120: .line 488
            aload 19 /* r */
            aload 9 /* events */
            aload 21 /* event */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region.getEventCount:(Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfEvents;Ljava/lang/String;)J
            lstore 23 /* count */
        start local 23 // long count
       121: .line 489
            aload 18 /* methods */
            aload 21 /* event */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.openjdk.jmh.util.Multiset
            aload 19 /* r */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region.desc:()Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;
            lload 23 /* count */
            invokeinterface org.openjdk.jmh.util.Multiset.add:(Ljava/lang/Object;J)V
       122: .line 490
            aload 17 /* methodsByType */
            aload 21 /* event */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.openjdk.jmh.util.Multiset
            aload 19 /* r */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region.desc:()Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc.source:()Ljava/lang/String;
            lload 23 /* count */
            invokeinterface org.openjdk.jmh.util.Multiset.add:(Ljava/lang/Object;J)V
        end local 23 // long count
        end local 21 // java.lang.String event
       123: .line 487
      StackMap locals:
      StackMap stack:
            aload 22
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 119
        end local 19 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region r
       124: .line 486
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
            aload 20
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 117
       125: .line 498
            aload 0 /* this */
            aload 3 /* pw */
            ldc "Hottest Methods (after inlining)"
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler.printDottedLine:(Ljava/io/PrintWriter;Ljava/lang/String;)V
       126: .line 500
            new org.openjdk.jmh.util.HashMultiset
            dup
            invokespecial org.openjdk.jmh.util.HashMultiset.<init>:()V
            astore 19 /* total */
        start local 19 // org.openjdk.jmh.util.Multiset total
       127: .line 501
            new org.openjdk.jmh.util.HashMultiset
            dup
            invokespecial org.openjdk.jmh.util.HashMultiset.<init>:()V
            astore 20 /* other */
        start local 20 // org.openjdk.jmh.util.Multiset other
       128: .line 503
            iconst_0
            istore 21 /* shownMethods */
        start local 21 // int shownMethods
       129: .line 504
            aload 18 /* methods */
            aload 11 /* mainEvent */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.openjdk.jmh.util.Multiset
            invokestatic org.openjdk.jmh.util.Multisets.sortedDesc:(Lorg/openjdk/jmh/util/Multiset;)Ljava/util/List;
            astore 22 /* top */
        start local 22 // java.util.List top
       130: .line 505
            aload 22 /* top */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 24
            goto 147
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int java.util.Map java.util.Map org.openjdk.jmh.util.Multiset org.openjdk.jmh.util.Multiset int java.util.List top java.util.Iterator
      StackMap stack:
       131: aload 24
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc
            astore 23 /* m */
        start local 23 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc m
       132: .line 506
            iload 21 /* shownMethods */
            iinc 21 /* shownMethods */ 1
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.regionShowTop:I
            if_icmpge 139
       133: .line 507
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.events:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 26
            goto 136
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int java.util.Map java.util.Map org.openjdk.jmh.util.Multiset org.openjdk.jmh.util.Multiset int java.util.List org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc java.util.Iterator top java.util.Iterator
      StackMap stack:
       134: aload 26
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 25 /* event */
        start local 25 // java.lang.String event
       135: .line 508
            aload 3 /* pw */
            aload 9 /* events */
            aload 25 /* event */
            aload 18 /* methods */
            aload 25 /* event */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.openjdk.jmh.util.Multiset
            aload 23 /* m */
            invokeinterface org.openjdk.jmh.util.Multiset.count:(Ljava/lang/Object;)J
            invokestatic org.openjdk.jmh.profile.AbstractPerfAsmProfiler.printLine:(Ljava/io/PrintWriter;Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfEvents;Ljava/lang/String;J)V
        end local 25 // java.lang.String event
       136: .line 507
      StackMap locals:
      StackMap stack:
            aload 26
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 134
       137: .line 510
            aload 3 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "%"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 16 /* lenSource */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "s  %s %n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 23 /* m */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc.source:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 23 /* m */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc.name:()Ljava/lang/String;
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
       138: .line 511
            goto 143
       139: .line 512
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int java.util.Map java.util.Map org.openjdk.jmh.util.Multiset org.openjdk.jmh.util.Multiset int java.util.List org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.events:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 26
            goto 142
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int java.util.Map java.util.Map org.openjdk.jmh.util.Multiset org.openjdk.jmh.util.Multiset int java.util.List org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc java.util.Iterator top java.util.Iterator
      StackMap stack:
       140: aload 26
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 25 /* event */
        start local 25 // java.lang.String event
       141: .line 513
            aload 20 /* other */
            aload 25 /* event */
            aload 18 /* methods */
            aload 25 /* event */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.openjdk.jmh.util.Multiset
            aload 23 /* m */
            invokeinterface org.openjdk.jmh.util.Multiset.count:(Ljava/lang/Object;)J
            invokeinterface org.openjdk.jmh.util.Multiset.add:(Ljava/lang/Object;J)V
        end local 25 // java.lang.String event
       142: .line 512
      StackMap locals:
      StackMap stack:
            aload 26
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 140
       143: .line 516
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int java.util.Map java.util.Map org.openjdk.jmh.util.Multiset org.openjdk.jmh.util.Multiset int java.util.List org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.events:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 26
            goto 146
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int java.util.Map java.util.Map org.openjdk.jmh.util.Multiset org.openjdk.jmh.util.Multiset int java.util.List org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc java.util.Iterator top java.util.Iterator
      StackMap stack:
       144: aload 26
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 25 /* event */
        start local 25 // java.lang.String event
       145: .line 517
            aload 19 /* total */
            aload 25 /* event */
            aload 18 /* methods */
            aload 25 /* event */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.openjdk.jmh.util.Multiset
            aload 23 /* m */
            invokeinterface org.openjdk.jmh.util.Multiset.count:(Ljava/lang/Object;)J
            invokeinterface org.openjdk.jmh.util.Multiset.add:(Ljava/lang/Object;J)V
        end local 25 // java.lang.String event
       146: .line 516
      StackMap locals:
      StackMap stack:
            aload 26
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 144
        end local 23 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc m
       147: .line 505
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int java.util.Map java.util.Map org.openjdk.jmh.util.Multiset org.openjdk.jmh.util.Multiset int java.util.List top java.util.Iterator
      StackMap stack:
            aload 24
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 131
       148: .line 521
            aload 22 /* top */
            invokeinterface java.util.List.size:()I
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.regionShowTop:I
            isub
            ifle 154
       149: .line 522
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.events:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 24
            goto 152
      StackMap locals:
      StackMap stack:
       150: aload 24
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 23 /* event */
        start local 23 // java.lang.String event
       151: .line 523
            aload 3 /* pw */
            aload 9 /* events */
            aload 23 /* event */
            aload 20 /* other */
            aload 23 /* event */
            invokeinterface org.openjdk.jmh.util.Multiset.count:(Ljava/lang/Object;)J
            invokestatic org.openjdk.jmh.profile.AbstractPerfAsmProfiler.printLine:(Ljava/io/PrintWriter;Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfEvents;Ljava/lang/String;J)V
        end local 23 // java.lang.String event
       152: .line 522
      StackMap locals:
      StackMap stack:
            aload 24
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 150
       153: .line 525
            aload 3 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "<...other "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 22 /* top */
            invokeinterface java.util.List.size:()I
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.regionShowTop:I
            isub
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " warm methods...>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       154: .line 527
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int java.util.Map java.util.Map org.openjdk.jmh.util.Multiset org.openjdk.jmh.util.Multiset int java.util.List
      StackMap stack:
            aload 0 /* this */
            aload 3 /* pw */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler.printDottedLine:(Ljava/io/PrintWriter;)V
       155: .line 529
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.events:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 24
            goto 158
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int java.util.Map java.util.Map org.openjdk.jmh.util.Multiset org.openjdk.jmh.util.Multiset int java.util.List top java.util.Iterator
      StackMap stack:
       156: aload 24
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 23 /* event */
        start local 23 // java.lang.String event
       157: .line 530
            aload 3 /* pw */
            aload 9 /* events */
            aload 23 /* event */
            aload 19 /* total */
            aload 23 /* event */
            invokeinterface org.openjdk.jmh.util.Multiset.count:(Ljava/lang/Object;)J
            invokestatic org.openjdk.jmh.profile.AbstractPerfAsmProfiler.printLine:(Ljava/io/PrintWriter;Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfEvents;Ljava/lang/String;J)V
        end local 23 // java.lang.String event
       158: .line 529
      StackMap locals:
      StackMap stack:
            aload 24
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 156
       159: .line 532
            aload 3 /* pw */
            ldc "<totals>"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       160: .line 533
            aload 3 /* pw */
            invokevirtual java.io.PrintWriter.println:()V
        end local 22 // java.util.List top
        end local 21 // int shownMethods
        end local 20 // org.openjdk.jmh.util.Multiset other
        end local 19 // org.openjdk.jmh.util.Multiset total
       161: .line 540
            aload 0 /* this */
            aload 3 /* pw */
            ldc "Distribution by Source"
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler.printDottedLine:(Ljava/io/PrintWriter;Ljava/lang/String;)V
       162: .line 542
            aload 17 /* methodsByType */
            aload 11 /* mainEvent */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.openjdk.jmh.util.Multiset
            invokestatic org.openjdk.jmh.util.Multisets.sortedDesc:(Lorg/openjdk/jmh/util/Multiset;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 20
            goto 169
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
       163: aload 20
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 19 /* m */
        start local 19 // java.lang.String m
       164: .line 543
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.events:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 22
            goto 167
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int java.util.Map java.util.Map java.lang.String java.util.Iterator top java.util.Iterator
      StackMap stack:
       165: aload 22
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 21 /* event */
        start local 21 // java.lang.String event
       166: .line 544
            aload 3 /* pw */
            aload 9 /* events */
            aload 21 /* event */
            aload 17 /* methodsByType */
            aload 21 /* event */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.openjdk.jmh.util.Multiset
            aload 19 /* m */
            invokeinterface org.openjdk.jmh.util.Multiset.count:(Ljava/lang/Object;)J
            invokestatic org.openjdk.jmh.profile.AbstractPerfAsmProfiler.printLine:(Ljava/io/PrintWriter;Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfEvents;Ljava/lang/String;J)V
        end local 21 // java.lang.String event
       167: .line 543
      StackMap locals:
      StackMap stack:
            aload 22
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 165
       168: .line 546
            aload 3 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "%"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 16 /* lenSource */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "s%n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 19 /* m */
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        end local 19 // java.lang.String m
       169: .line 542
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
            aload 20
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 163
       170: .line 549
            aload 0 /* this */
            aload 3 /* pw */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler.printDottedLine:(Ljava/io/PrintWriter;)V
       171: .line 551
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.events:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 20
            goto 174
      StackMap locals:
      StackMap stack:
       172: aload 20
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 19 /* event */
        start local 19 // java.lang.String event
       173: .line 552
            aload 3 /* pw */
            aload 9 /* events */
            aload 19 /* event */
            aload 17 /* methodsByType */
            aload 19 /* event */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.openjdk.jmh.util.Multiset
            invokeinterface org.openjdk.jmh.util.Multiset.size:()J
            invokestatic org.openjdk.jmh.profile.AbstractPerfAsmProfiler.printLine:(Ljava/io/PrintWriter;Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfEvents;Ljava/lang/String;J)V
        end local 19 // java.lang.String event
       174: .line 551
      StackMap locals:
      StackMap stack:
            aload 20
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 172
       175: .line 555
            aload 3 /* pw */
            ldc "<totals>"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       176: .line 556
            aload 3 /* pw */
            invokevirtual java.io.PrintWriter.println:()V
       177: .line 565
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 19 /* addrHistory */
        start local 19 // java.util.Set addrHistory
       178: .line 566
            aload 4 /* assembly */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly.addressMap:Ljava/util/SortedMap;
            invokeinterface java.util.SortedMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 21
            goto 182
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int java.util.Map java.util.Map java.util.Set top java.util.Iterator
      StackMap stack:
       179: aload 21
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Long
            astore 20 /* addr */
        start local 20 // java.lang.Long addr
       180: .line 567
            aload 19 /* addrHistory */
            aload 20 /* addr */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifne 182
       181: .line 568
            aload 3 /* pw */
            ldc "WARNING: Duplicate instruction addresses detected. This is probably due to compiler reusing\n the code arena for the new generated code. We can not differentiate between methods sharing\nthe same addresses, and therefore the profile might be wrong. Increasing generated code\nstorage might help."
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 20 // java.lang.Long addr
       182: .line 566
      StackMap locals:
      StackMap stack:
            aload 21
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 179
        end local 19 // java.util.Set addrHistory
       183: .line 577
            iconst_0
            istore 19 /* sum */
        start local 19 // int sum
       184: .line 578
            aload 9 /* events */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents.totalCounts:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 21
            goto 187
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int java.util.Map java.util.Map int top java.util.Iterator
      StackMap stack:
       185: aload 21
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Long
            astore 20 /* v */
        start local 20 // java.lang.Long v
       186: .line 579
            iload 19 /* sum */
            i2l
            aload 20 /* v */
            invokevirtual java.lang.Long.longValue:()J
            ladd
            l2i
            istore 19 /* sum */
        end local 20 // java.lang.Long v
       187: .line 578
      StackMap locals:
      StackMap stack:
            aload 21
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 185
       188: .line 582
            iload 19 /* sum */
            sipush 1000
            if_icmpge 193
       189: .line 583
            aload 3 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "WARNING: The perf event count is suspiciously low ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 19 /* sum */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "). The performance data might be"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       190: .line 584
            aload 3 /* pw */
            ldc "inaccurate or misleading. Try to do the profiling again, or tune up the sampling frequency."
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       191: .line 585
            aload 3 /* pw */
            ldc "With some profilers on Mac OS X, System Integrity Protection (SIP) may prevent profiling."
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       192: .line 586
            aload 3 /* pw */
            ldc "In such case, temporarily disabling SIP with 'csrutil disable' might help."
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 19 // int sum
       193: .line 593
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int java.util.Map java.util.Map
      StackMap stack:
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.savePerfOutput:Z
            ifeq 203
       194: .line 594
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.savePerfOutputToFile:Ljava/lang/String;
            ifnonnull 196
       195: .line 595
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.savePerfOutputTo: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;
            aload 1 /* br */
            invokevirtual org.openjdk.jmh.results.BenchmarkResult.getParams:()Lorg/openjdk/jmh/infra/BenchmarkParams;
            invokevirtual org.openjdk.jmh.infra.BenchmarkParams.id:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".perf"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 197
       196: .line 596
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.savePerfOutputToFile:Ljava/lang/String;
       197: .line 594
      StackMap locals:
      StackMap stack: java.lang.String
            astore 19 /* target */
        start local 19 // java.lang.String target
       198: .line 598
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.perfParsedData:Lorg/openjdk/jmh/util/TempFile;
            invokevirtual org.openjdk.jmh.util.TempFile.getAbsolutePath:()Ljava/lang/String;
            aload 19 /* target */
            invokestatic org.openjdk.jmh.util.FileUtils.copy:(Ljava/lang/String;Ljava/lang/String;)V
       199: .line 599
            aload 3 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "Perf output saved to "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 19 /* target */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       200: .line 600
            goto 203
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int java.util.Map java.util.Map java.lang.String
      StackMap stack: java.io.IOException
       201: pop
       202: .line 601
            aload 3 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "Unable to save perf output to "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 19 /* target */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 19 // java.lang.String target
       203: .line 608
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.savePerfBin:Z
            ifeq 213
       204: .line 609
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.savePerfBinFile:Ljava/lang/String;
            ifnonnull 206
       205: .line 610
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.savePerfBinTo: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;
            aload 1 /* br */
            invokevirtual org.openjdk.jmh.results.BenchmarkResult.getParams:()Lorg/openjdk/jmh/infra/BenchmarkParams;
            invokevirtual org.openjdk.jmh.infra.BenchmarkParams.id:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler.perfBinaryExtension:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 207
       206: .line 611
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.savePerfBinFile:Ljava/lang/String;
       207: .line 609
      StackMap locals:
      StackMap stack: java.lang.String
            astore 19 /* target */
        start local 19 // java.lang.String target
       208: .line 613
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.perfBinData:Lorg/openjdk/jmh/util/TempFile;
            invokevirtual org.openjdk.jmh.util.TempFile.getAbsolutePath:()Ljava/lang/String;
            aload 19 /* target */
            invokestatic org.openjdk.jmh.util.FileUtils.copy:(Ljava/lang/String;Ljava/lang/String;)V
       209: .line 614
            aload 3 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "Perf binary output saved to "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 19 /* target */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       210: .line 615
            goto 213
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int java.util.Map java.util.Map java.lang.String
      StackMap stack: java.io.IOException
       211: pop
       212: .line 616
            aload 3 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "Unable to save perf binary output to "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 19 /* target */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 19 // java.lang.String target
       213: .line 623
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.saveLog:Z
            ifeq 246
       214: .line 624
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.saveLogToFile:Ljava/lang/String;
            ifnonnull 216
       215: .line 625
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.saveLogTo: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;
            aload 1 /* br */
            invokevirtual org.openjdk.jmh.results.BenchmarkResult.getParams:()Lorg/openjdk/jmh/infra/BenchmarkParams;
            invokevirtual org.openjdk.jmh.infra.BenchmarkParams.id:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".log"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 217
       216: .line 626
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.saveLogToFile:Ljava/lang/String;
       217: .line 624
      StackMap locals:
      StackMap stack: java.lang.String
            astore 19 /* target */
        start local 19 // java.lang.String target
       218: .line 627
            aconst_null
            astore 20
            aconst_null
            astore 21
       219: new java.io.FileOutputStream
            dup
            aload 19 /* target */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
            astore 22 /* asm */
        start local 22 // java.io.FileOutputStream asm
       220: .line 628
            new java.io.PrintWriter
            dup
            aload 22 /* asm */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
            astore 23 /* pwAsm */
        start local 23 // java.io.PrintWriter pwAsm
       221: .line 629
            aload 4 /* assembly */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly.lines:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 25
            goto 231
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int java.util.Map java.util.Map java.lang.String java.lang.Throwable java.lang.Throwable java.io.FileOutputStream java.io.PrintWriter top java.util.Iterator
      StackMap stack:
       222: aload 25
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine
            astore 24 /* line */
        start local 24 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine line
       223: .line 630
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.events:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 27
            goto 229
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int java.util.Map java.util.Map java.lang.String java.lang.Throwable java.lang.Throwable java.io.FileOutputStream java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine java.util.Iterator top java.util.Iterator
      StackMap stack:
       224: aload 27
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 26 /* event */
        start local 26 // java.lang.String event
       225: .line 631
            aload 24 /* line */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine.addr:Ljava/lang/Long;
            ifnull 226
            aload 9 /* events */
            aload 26 /* event */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents.get:(Ljava/lang/String;)Lorg/openjdk/jmh/util/Multiset;
            aload 24 /* line */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine.addr:Ljava/lang/Long;
            invokeinterface org.openjdk.jmh.util.Multiset.count:(Ljava/lang/Object;)J
            goto 227
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int java.util.Map java.util.Map java.lang.String java.lang.Throwable java.lang.Throwable java.io.FileOutputStream java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine java.util.Iterator java.lang.String java.util.Iterator
      StackMap stack:
       226: lconst_0
      StackMap locals:
      StackMap stack: long
       227: lstore 28 /* count */
        start local 28 // long count
       228: .line 632
            aload 23 /* pwAsm */
            aload 9 /* events */
            aload 26 /* event */
            lload 28 /* count */
            invokestatic org.openjdk.jmh.profile.AbstractPerfAsmProfiler.printLine:(Ljava/io/PrintWriter;Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfEvents;Ljava/lang/String;J)V
        end local 28 // long count
        end local 26 // java.lang.String event
       229: .line 630
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int java.util.Map java.util.Map java.lang.String java.lang.Throwable java.lang.Throwable java.io.FileOutputStream java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 27
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 224
       230: .line 634
            aload 23 /* pwAsm */
            aload 24 /* line */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine.code:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 24 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine line
       231: .line 629
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int java.util.Map java.util.Map java.lang.String java.lang.Throwable java.lang.Throwable java.io.FileOutputStream java.io.PrintWriter top java.util.Iterator
      StackMap stack:
            aload 25
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 222
       232: .line 636
            aload 3 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "Perf-annotated Hotspot log is saved to "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 19 /* target */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       233: .line 637
            aload 23 /* pwAsm */
            ifnull 236
            aload 23 /* pwAsm */
            invokevirtual java.io.PrintWriter.close:()V
            goto 236
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int java.util.Map java.util.Map java.lang.String java.lang.Throwable java.lang.Throwable java.io.FileOutputStream java.io.PrintWriter
      StackMap stack: java.lang.Throwable
       234: astore 20
            aload 23 /* pwAsm */
            ifnull 235
            aload 23 /* pwAsm */
            invokevirtual java.io.PrintWriter.close:()V
        end local 23 // java.io.PrintWriter pwAsm
      StackMap locals:
      StackMap stack:
       235: aload 20
            athrow
      StackMap locals:
      StackMap stack:
       236: aload 22 /* asm */
            ifnull 246
            aload 22 /* asm */
            invokevirtual java.io.FileOutputStream.close:()V
            goto 246
      StackMap locals:
      StackMap stack: java.lang.Throwable
       237: astore 21
            aload 20
            ifnonnull 238
            aload 21
            astore 20
            goto 239
      StackMap locals:
      StackMap stack:
       238: aload 20
            aload 21
            if_acmpeq 239
            aload 20
            aload 21
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       239: aload 22 /* asm */
            ifnull 240
            aload 22 /* asm */
            invokevirtual java.io.FileOutputStream.close:()V
        end local 22 // java.io.FileOutputStream asm
      StackMap locals:
      StackMap stack:
       240: aload 20
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       241: astore 21
            aload 20
            ifnonnull 242
            aload 21
            astore 20
            goto 243
      StackMap locals:
      StackMap stack:
       242: aload 20
            aload 21
            if_acmpeq 243
            aload 20
            aload 21
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       243: aload 20
            athrow
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.results.BenchmarkResult java.io.StringWriter java.io.PrintWriter org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly long double org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.lang.String long int int int java.util.Map java.util.Map java.lang.String
      StackMap stack: java.io.IOException
       244: pop
       245: .line 638
            aload 3 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "Unable to save Hotspot log to "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 19 /* target */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 19 // java.lang.String target
       246: .line 642
      StackMap locals:
      StackMap stack:
            aload 3 /* pw */
            invokevirtual java.io.PrintWriter.flush:()V
       247: .line 643
            aload 3 /* pw */
            invokevirtual java.io.PrintWriter.close:()V
       248: .line 645
            new org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfResult
            dup
            aload 2 /* sw */
            invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
            invokespecial org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfResult.<init>:(Ljava/lang/String;)V
            areturn
        end local 18 // java.util.Map methods
        end local 17 // java.util.Map methodsByType
        end local 16 // int lenSource
        end local 15 // int cnt
        end local 14 // boolean headerPrinted
        end local 12 // long threshold
        end local 11 // java.lang.String mainEvent
        end local 10 // java.util.List regions
        end local 9 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents events
        end local 7 // double lenMs
        end local 5 // long skipMs
        end local 4 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly assembly
        end local 3 // java.io.PrintWriter pw
        end local 2 // java.io.StringWriter sw
        end local 1 // org.openjdk.jmh.results.BenchmarkResult br
        end local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  249     0           this  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler;
            0  249     1             br  Lorg/openjdk/jmh/results/BenchmarkResult;
            2  249     2             sw  Ljava/io/StringWriter;
            3  249     3             pw  Ljava/io/PrintWriter;
            4  249     4       assembly  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$Assembly;
           21   22     5         skipMs  J
           23  249     5         skipMs  J
           25   26     7          lenMs  D
           27  249     7          lenMs  D
           28  249     9         events  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfEvents;
           31   37    10            cnt  I
           33   35    11          event  Ljava/lang/String;
           42  249    10        regions  Ljava/util/List<Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$Region;>;
           43  249    11      mainEvent  Ljava/lang/String;
           45  249    12      threshold  J
           46  249    14  headerPrinted  Z
           47  249    15            cnt  I
           49   64    16              r  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$Region;
           59   60    18          event  Ljava/lang/String;
           70  249    16      lenSource  I
           72   73    17              r  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$Region;
           75  109    17          total  Lorg/openjdk/jmh/util/Multiset<Ljava/lang/String;>;
           76  109    18          other  Lorg/openjdk/jmh/util/Multiset<Ljava/lang/String;>;
           78  109    19          shown  I
           80   95    20              r  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$Region;
           83   84    22          event  Ljava/lang/String;
           89   90    22          event  Ljava/lang/String;
           93   94    22          event  Ljava/lang/String;
           99  100    20          event  Ljava/lang/String;
          105  106    20          event  Ljava/lang/String;
          110  249    17  methodsByType  Ljava/util/Map<Ljava/lang/String;Lorg/openjdk/jmh/util/Multiset<Ljava/lang/String;>;>;
          111  249    18        methods  Ljava/util/Map<Ljava/lang/String;Lorg/openjdk/jmh/util/Multiset<Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;>;>;
          113  115    19          event  Ljava/lang/String;
          118  124    19              r  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$Region;
          120  123    21          event  Ljava/lang/String;
          121  123    23          count  J
          127  161    19          total  Lorg/openjdk/jmh/util/Multiset<Ljava/lang/String;>;
          128  161    20          other  Lorg/openjdk/jmh/util/Multiset<Ljava/lang/String;>;
          129  161    21   shownMethods  I
          130  161    22            top  Ljava/util/List<Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;>;
          132  147    23              m  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;
          135  136    25          event  Ljava/lang/String;
          141  142    25          event  Ljava/lang/String;
          145  146    25          event  Ljava/lang/String;
          151  152    23          event  Ljava/lang/String;
          157  158    23          event  Ljava/lang/String;
          164  169    19              m  Ljava/lang/String;
          166  167    21          event  Ljava/lang/String;
          173  174    19          event  Ljava/lang/String;
          178  183    19    addrHistory  Ljava/util/Set<Ljava/lang/Long;>;
          180  182    20           addr  Ljava/lang/Long;
          184  193    19            sum  I
          186  187    20              v  Ljava/lang/Long;
          198  203    19         target  Ljava/lang/String;
          208  213    19         target  Ljava/lang/String;
          218  246    19         target  Ljava/lang/String;
          220  240    22            asm  Ljava/io/FileOutputStream;
          221  235    23          pwAsm  Ljava/io/PrintWriter;
          223  231    24           line  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$ASMLine;
          225  229    26          event  Ljava/lang/String;
          228  229    28          count  J
      Exception table:
        from    to  target  type
         198   200     201  Class java.io.IOException
         208   210     211  Class java.io.IOException
         221   233     234  any
         220   236     237  any
         219   241     241  any
         218   244     244  Class java.io.IOException
    MethodParameters:
      Name  Flags
      br    

  private static void printLine(java.io.PrintWriter, org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents, java.lang.String, long);
    descriptor: (Ljava/io/PrintWriter;Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfEvents;Ljava/lang/String;J)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=9, locals=5, args_size=4
        start local 0 // java.io.PrintWriter pw
        start local 1 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents events
        start local 2 // java.lang.String event
        start local 3 // long count
         0: .line 649
            lload 3 /* count */
            lconst_0
            lcmp
            ifle 3
         1: .line 650
            aload 0 /* pw */
            ldc "%6.2f%%  "
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc 100.0
            lload 3 /* count */
            l2d
            dmul
            aload 1 /* events */
            aload 2 /* event */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents.getTotalEvents:(Ljava/lang/String;)Ljava/lang/Long;
            invokevirtual java.lang.Long.longValue:()J
            l2d
            ddiv
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
         2: .line 651
            goto 4
         3: .line 652
      StackMap locals:
      StackMap stack:
            aload 0 /* pw */
            ldc "%9s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc ""
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
         4: .line 654
      StackMap locals:
      StackMap stack:
            return
        end local 3 // long count
        end local 2 // java.lang.String event
        end local 1 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents events
        end local 0 // java.io.PrintWriter pw
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0      pw  Ljava/io/PrintWriter;
            0    5     1  events  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfEvents;
            0    5     2   event  Ljava/lang/String;
            0    5     3   count  J
    MethodParameters:
        Name  Flags
      pw      
      events  
      event   
      count   

  private void printDottedLine(java.io.PrintWriter);
    descriptor: (Ljava/io/PrintWriter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler this
        start local 1 // java.io.PrintWriter pw
         0: .line 657
            aload 0 /* this */
            aload 1 /* pw */
            aconst_null
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler.printDottedLine:(Ljava/io/PrintWriter;Ljava/lang/String;)V
         1: .line 658
            return
        end local 1 // java.io.PrintWriter pw
        end local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler;
            0    2     1    pw  Ljava/io/PrintWriter;
    MethodParameters:
      Name  Flags
      pw    

  private void printDottedLine(java.io.PrintWriter, java.lang.String);
    descriptor: (Ljava/io/PrintWriter;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler this
        start local 1 // java.io.PrintWriter pw
        start local 2 // java.lang.String header
         0: .line 663
            aload 1 /* pw */
            ldc "...."
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         1: .line 664
            aload 2 /* header */
            ifnull 5
         2: .line 665
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* header */
            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;
            astore 2 /* header */
         3: .line 666
            aload 1 /* pw */
            aload 2 /* header */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         4: .line 667
            goto 6
         5: .line 668
      StackMap locals:
      StackMap stack:
            ldc ""
            astore 2 /* header */
         6: .line 671
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* c */
        start local 3 // int c
         7: goto 10
         8: .line 672
      StackMap locals: int
      StackMap stack:
            aload 1 /* pw */
            ldc "."
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         9: .line 671
            iinc 3 /* c */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* c */
            bipush 96
            aload 2 /* header */
            invokevirtual java.lang.String.length:()I
            isub
            if_icmplt 8
        end local 3 // int c
        11: .line 674
            aload 1 /* pw */
            invokevirtual java.io.PrintWriter.println:()V
        12: .line 675
            return
        end local 2 // java.lang.String header
        end local 1 // java.io.PrintWriter pw
        end local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler;
            0   13     1      pw  Ljava/io/PrintWriter;
            0   13     2  header  Ljava/lang/String;
            7   11     3       c  I
    MethodParameters:
        Name  Flags
      pw      
      header  

  private java.util.List<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region> makeRegions(org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly, org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents);
    descriptor: (Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$Assembly;Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfEvents;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=15, locals=10, args_size=3
        start local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler this
        start local 1 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly asms
        start local 2 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents events
         0: .line 678
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* regions */
        start local 3 // java.util.List regions
         1: .line 680
            aload 2 /* events */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents.getAllAddresses:()Ljava/util/SortedSet;
            astore 4 /* allAddrs */
        start local 4 // java.util.SortedSet allAddrs
         2: .line 681
            aload 0 /* this */
            aload 4 /* allAddrs */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler.figureHotIntervals:(Ljava/util/SortedSet;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 18
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.util.SortedSet top java.util.Iterator
      StackMap stack:
         3: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.openjdk.jmh.util.Interval
            astore 5 /* intv */
        start local 5 // org.openjdk.jmh.util.Interval intv
         4: .line 682
            aload 4 /* allAddrs */
            aload 5 /* intv */
            getfield org.openjdk.jmh.util.Interval.src:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aload 5 /* intv */
            getfield org.openjdk.jmh.util.Interval.dst:J
            lconst_1
            ladd
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface java.util.SortedSet.subSet:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/SortedSet;
            astore 7 /* eventfulAddrs */
        start local 7 // java.util.SortedSet eventfulAddrs
         5: .line 684
            aload 1 /* asms */
            aload 5 /* intv */
            getfield org.openjdk.jmh.util.Interval.src:J
            aload 5 /* intv */
            getfield org.openjdk.jmh.util.Interval.dst:J
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.printMargin:I
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly.getLines:(JJI)Ljava/util/List;
            astore 8 /* regionLines */
        start local 8 // java.util.List regionLines
         6: .line 686
            aload 8 /* regionLines */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 14
         7: .line 690
            aload 1 /* asms */
            aload 5 /* intv */
            getfield org.openjdk.jmh.util.Interval.src:J
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly.getMethod:(J)Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;
            astore 9 /* desc */
        start local 9 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc desc
         8: .line 691
            aload 9 /* desc */
            ifnonnull 10
         9: .line 692
            invokestatic org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc.unknown:()Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;
            astore 9 /* desc */
        10: .line 695
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.util.SortedSet org.openjdk.jmh.util.Interval java.util.Iterator java.util.SortedSet java.util.List org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc
      StackMap stack:
            aload 3 /* regions */
            new org.openjdk.jmh.profile.AbstractPerfAsmProfiler$GeneratedRegion
            dup
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.events:Ljava/util/List;
            aload 1 /* asms */
            aload 9 /* desc */
            aload 5 /* intv */
            getfield org.openjdk.jmh.util.Interval.src:J
            aload 5 /* intv */
            getfield org.openjdk.jmh.util.Interval.dst:J
        11: .line 696
            aload 8 /* regionLines */
            aload 7 /* eventfulAddrs */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.regionTooBigThreshold:I
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.drawIntraJumps:Z
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.drawInterJumps:Z
            invokespecial org.openjdk.jmh.profile.AbstractPerfAsmProfiler$GeneratedRegion.<init>:(Ljava/util/Collection;Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$Assembly;Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;JJLjava/util/Collection;Ljava/util/Set;IZZ)V
        12: .line 695
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc desc
        13: .line 697
            goto 18
        14: .line 701
      StackMap locals:
      StackMap stack:
            aload 2 /* events */
            aload 5 /* intv */
            getfield org.openjdk.jmh.util.Interval.src:J
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents.getMethod:(J)Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;
            astore 9 /* desc */
        start local 9 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc desc
        15: .line 702
            aload 9 /* desc */
            ifnonnull 17
        16: .line 703
            invokestatic org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc.unknown:()Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;
            astore 9 /* desc */
        17: .line 706
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc
      StackMap stack:
            aload 3 /* regions */
            new org.openjdk.jmh.profile.AbstractPerfAsmProfiler$NativeRegion
            dup
            aload 9 /* desc */
            aload 5 /* intv */
            getfield org.openjdk.jmh.util.Interval.src:J
            aload 5 /* intv */
            getfield org.openjdk.jmh.util.Interval.dst:J
            aload 7 /* eventfulAddrs */
            invokespecial org.openjdk.jmh.profile.AbstractPerfAsmProfiler$NativeRegion.<init>:(Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;JJLjava/util/Set;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc desc
        end local 8 // java.util.List regionLines
        end local 7 // java.util.SortedSet eventfulAddrs
        end local 5 // org.openjdk.jmh.util.Interval intv
        18: .line 681
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents java.util.List java.util.SortedSet top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        19: .line 710
            aload 3 /* regions */
            areturn
        end local 4 // java.util.SortedSet allAddrs
        end local 3 // java.util.List regions
        end local 2 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents events
        end local 1 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly asms
        end local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0           this  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler;
            0   20     1           asms  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$Assembly;
            0   20     2         events  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfEvents;
            1   20     3        regions  Ljava/util/List<Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$Region;>;
            2   20     4       allAddrs  Ljava/util/SortedSet<Ljava/lang/Long;>;
            4   18     5           intv  Lorg/openjdk/jmh/util/Interval;
            5   18     7  eventfulAddrs  Ljava/util/SortedSet<Ljava/lang/Long;>;
            6   18     8    regionLines  Ljava/util/List<Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$ASMLine;>;
            8   13     9           desc  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;
           15   18     9           desc  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;
    Signature: (Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$Assembly;Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfEvents;)Ljava/util/List<Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$Region;>;
    MethodParameters:
        Name  Flags
      asms    
      events  

  private java.util.List<org.openjdk.jmh.util.Interval> figureHotIntervals(java.util.SortedSet<java.lang.Long>);
    descriptor: (Ljava/util/SortedSet;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=10, args_size=2
        start local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler this
        start local 1 // java.util.SortedSet addrs
         0: .line 715
            aload 1 /* addrs */
            invokeinterface java.util.SortedSet.isEmpty:()Z
            ifeq 2
         1: .line 716
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         2: .line 719
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* intervals */
        start local 2 // java.util.List intervals
         3: .line 720
            aload 1 /* addrs */
            invokeinterface java.util.SortedSet.first:()Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            lstore 3 /* begAddr */
        start local 3 // long begAddr
         4: .line 721
            aload 1 /* addrs */
            invokeinterface java.util.SortedSet.first:()Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            lstore 5 /* lastAddr */
        start local 5 // long lastAddr
         5: .line 722
            aload 1 /* addrs */
            invokeinterface java.util.SortedSet.iterator:()Ljava/util/Iterator;
            astore 9
            goto 11
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler java.util.SortedSet java.util.List long long top top java.util.Iterator
      StackMap stack:
         6: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            lstore 7 /* addr */
        start local 7 // long addr
         7: .line 723
            lload 7 /* addr */
            lload 5 /* lastAddr */
            lsub
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.mergeMargin:I
            i2l
            lcmp
            ifle 10
         8: .line 724
            aload 2 /* intervals */
            new org.openjdk.jmh.util.Interval
            dup
            lload 3 /* begAddr */
            lload 5 /* lastAddr */
            invokespecial org.openjdk.jmh.util.Interval.<init>:(JJ)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 725
            lload 7 /* addr */
            lstore 3 /* begAddr */
        10: .line 727
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler java.util.SortedSet java.util.List long long long java.util.Iterator
      StackMap stack:
            lload 7 /* addr */
            lstore 5 /* lastAddr */
        end local 7 // long addr
        11: .line 722
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler java.util.SortedSet java.util.List long long top top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        12: .line 730
            lload 3 /* begAddr */
            lload 5 /* lastAddr */
            lcmp
            ifeq 14
        13: .line 731
            aload 2 /* intervals */
            new org.openjdk.jmh.util.Interval
            dup
            lload 3 /* begAddr */
            lload 5 /* lastAddr */
            invokespecial org.openjdk.jmh.util.Interval.<init>:(JJ)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        14: .line 734
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler java.util.SortedSet java.util.List long long
      StackMap stack:
            aload 2 /* intervals */
            areturn
        end local 5 // long lastAddr
        end local 3 // long begAddr
        end local 2 // java.util.List intervals
        end local 1 // java.util.SortedSet addrs
        end local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler;
            0   15     1      addrs  Ljava/util/SortedSet<Ljava/lang/Long;>;
            3   15     2  intervals  Ljava/util/List<Lorg/openjdk/jmh/util/Interval;>;
            4   15     3    begAddr  J
            5   15     5   lastAddr  J
            7   11     7       addr  J
    Signature: (Ljava/util/SortedSet<Ljava/lang/Long;>;)Ljava/util/List<Lorg/openjdk/jmh/util/Interval;>;
    MethodParameters:
       Name  Flags
      addrs  

  private java.util.Collection<java.util.Collection<java.lang.String>> splitAssembly(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/util/Collection;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=14, args_size=2
        start local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler this
        start local 1 // java.io.File stdOut
         0: .line 738
            aconst_null
            astore 2
            aconst_null
            astore 3
         1: new java.io.FileReader
            dup
            aload 1 /* stdOut */
            invokespecial java.io.FileReader.<init>:(Ljava/io/File;)V
            astore 4 /* in */
        start local 4 // java.io.FileReader in
         2: .line 739
            new java.io.BufferedReader
            dup
            aload 4 /* in */
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 5 /* br */
        start local 5 // java.io.BufferedReader br
         3: .line 740
            new org.openjdk.jmh.util.HashMultimap
            dup
            invokespecial org.openjdk.jmh.util.HashMultimap.<init>:()V
            astore 6 /* writerToLines */
        start local 6 // org.openjdk.jmh.util.Multimap writerToLines
         4: .line 741
            ldc -1
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 7 /* writerId */
        start local 7 // java.lang.Long writerId
         5: .line 743
            ldc "(.*)<writer thread='(.*)'>(.*)"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            astore 8 /* pWriterThread */
        start local 8 // java.util.regex.Pattern pWriterThread
         6: .line 746
            goto 15
        start local 9 // java.lang.String line
         7: .line 749
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler java.io.File java.lang.Throwable java.lang.Throwable java.io.FileReader java.io.BufferedReader org.openjdk.jmh.util.Multimap java.lang.Long java.util.regex.Pattern java.lang.String
      StackMap stack:
            aload 9 /* line */
            ldc "<writer thread="
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 14
         8: .line 750
            aload 8 /* pWriterThread */
            aload 9 /* line */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 10 /* m */
        start local 10 // java.util.regex.Matcher m
         9: .line 751
            aload 10 /* m */
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifeq 15
        10: .line 753
            aload 10 /* m */
            iconst_2
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            invokestatic java.lang.Long.valueOf:(Ljava/lang/String;)Ljava/lang/Long;
            astore 7 /* writerId */
        11: .line 754
            goto 15
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler java.io.File java.lang.Throwable java.lang.Throwable java.io.FileReader java.io.BufferedReader org.openjdk.jmh.util.Multimap java.lang.Long java.util.regex.Pattern java.lang.String java.util.regex.Matcher
      StackMap stack: java.lang.NumberFormatException
        12: pop
        13: .line 758
            goto 15
        end local 10 // java.util.regex.Matcher m
        14: .line 760
      StackMap locals:
      StackMap stack:
            aload 6 /* writerToLines */
            aload 7 /* writerId */
            aload 9 /* line */
            invokeinterface org.openjdk.jmh.util.Multimap.put:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 9 // java.lang.String line
        15: .line 746
      StackMap locals:
      StackMap stack:
            aload 5 /* br */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            dup
            astore 9 /* line */
        start local 9 // java.lang.String line
        16: ifnonnull 7
        17: .line 763
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 10 /* r */
        start local 10 // java.util.Collection r
        18: .line 764
            aload 6 /* writerToLines */
            invokeinterface org.openjdk.jmh.util.Multimap.keys:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 13
            goto 21
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler java.io.File java.lang.Throwable java.lang.Throwable java.io.FileReader java.io.BufferedReader org.openjdk.jmh.util.Multimap java.lang.Long java.util.regex.Pattern java.lang.String java.util.Collection top top java.util.Iterator
      StackMap stack:
        19: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            lstore 11 /* id */
        start local 11 // long id
        20: .line 765
            aload 10 /* r */
            aload 6 /* writerToLines */
            lload 11 /* id */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface org.openjdk.jmh.util.Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // long id
        21: .line 764
      StackMap locals:
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        22: .line 767
            aload 10 /* r */
        23: .line 768
            aload 5 /* br */
            ifnull 24
            aload 5 /* br */
            invokevirtual java.io.BufferedReader.close:()V
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler java.io.File java.lang.Throwable java.lang.Throwable java.io.FileReader java.io.BufferedReader org.openjdk.jmh.util.Multimap java.lang.Long java.util.regex.Pattern java.lang.String java.util.Collection
      StackMap stack: java.util.Collection
        24: aload 4 /* in */
            ifnull 25
            aload 4 /* in */
            invokevirtual java.io.FileReader.close:()V
        25: .line 767
      StackMap locals:
      StackMap stack: java.util.Collection
            areturn
        end local 10 // java.util.Collection r
        end local 9 // java.lang.String line
        end local 8 // java.util.regex.Pattern pWriterThread
        end local 7 // java.lang.Long writerId
        end local 6 // org.openjdk.jmh.util.Multimap writerToLines
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler java.io.File java.lang.Throwable java.lang.Throwable java.io.FileReader java.io.BufferedReader
      StackMap stack: java.lang.Throwable
        26: astore 2
        27: .line 768
            aload 5 /* br */
            ifnull 28
            aload 5 /* br */
            invokevirtual java.io.BufferedReader.close:()V
        end local 5 // java.io.BufferedReader br
      StackMap locals:
      StackMap stack:
        28: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: astore 3
            aload 2
            ifnonnull 30
            aload 3
            astore 2
            goto 31
      StackMap locals:
      StackMap stack:
        30: aload 2
            aload 3
            if_acmpeq 31
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        31: aload 4 /* in */
            ifnull 32
            aload 4 /* in */
            invokevirtual java.io.FileReader.close:()V
        end local 4 // java.io.FileReader in
      StackMap locals:
      StackMap stack:
        32: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        33: astore 3
            aload 2
            ifnonnull 34
            aload 3
            astore 2
            goto 35
      StackMap locals:
      StackMap stack:
        34: aload 2
            aload 3
            if_acmpeq 35
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        35: aload 2
            athrow
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler java.io.File
      StackMap stack: java.io.IOException
        36: pop
        37: .line 769
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
        end local 1 // java.io.File stdOut
        end local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   38     0           this  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler;
            0   38     1         stdOut  Ljava/io/File;
            2   32     4             in  Ljava/io/FileReader;
            3   28     5             br  Ljava/io/BufferedReader;
            4   26     6  writerToLines  Lorg/openjdk/jmh/util/Multimap<Ljava/lang/Long;Ljava/lang/String;>;
            5   26     7       writerId  Ljava/lang/Long;
            6   26     8  pWriterThread  Ljava/util/regex/Pattern;
            7   15     9           line  Ljava/lang/String;
           16   26     9           line  Ljava/lang/String;
            9   14    10              m  Ljava/util/regex/Matcher;
           18   26    10              r  Ljava/util/Collection<Ljava/util/Collection<Ljava/lang/String;>;>;
           20   21    11             id  J
      Exception table:
        from    to  target  type
          10    11      12  Class java.lang.NumberFormatException
           3    23      26  any
           2    24      29  any
          26    29      29  any
           1    25      33  any
          26    33      33  any
           0    25      36  Class java.io.IOException
          26    36      36  Class java.io.IOException
    Signature: (Ljava/io/File;)Ljava/util/Collection<Ljava/util/Collection<Ljava/lang/String;>;>;
    MethodParameters:
        Name  Flags
      stdOut  

  private org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly readAssembly(java.io.File);
    descriptor: (Ljava/io/File;)Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$Assembly;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=24, args_size=2
        start local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler this
        start local 1 // java.io.File stdOut
         0: .line 774
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* lines */
        start local 2 // java.util.List lines
         1: .line 775
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            astore 3 /* addressMap */
        start local 3 // java.util.SortedMap addressMap
         2: .line 777
            new org.openjdk.jmh.util.IntervalMap
            dup
            invokespecial org.openjdk.jmh.util.IntervalMap.<init>:()V
            astore 4 /* stubs */
        start local 4 // org.openjdk.jmh.util.IntervalMap stubs
         3: .line 778
            new org.openjdk.jmh.util.IntervalMap
            dup
            invokespecial org.openjdk.jmh.util.IntervalMap.<init>:()V
            astore 5 /* javaMethods */
        start local 5 // org.openjdk.jmh.util.IntervalMap javaMethods
         4: .line 780
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 6 /* intervals */
        start local 6 // java.util.Set intervals
         5: .line 782
            aload 0 /* this */
            aload 1 /* stdOut */
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler.splitAssembly:(Ljava/io/File;)Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8
            goto 66
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler java.io.File java.util.List java.util.SortedMap org.openjdk.jmh.util.IntervalMap org.openjdk.jmh.util.IntervalMap java.util.Set top java.util.Iterator
      StackMap stack:
         6: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Collection
            astore 7 /* cs */
        start local 7 // java.util.Collection cs
         7: .line 783
            ldc ""
            astore 9 /* prevLine */
        start local 9 // java.lang.String prevLine
         8: .line 784
            aload 7 /* cs */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 11
            goto 65
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler java.io.File java.util.List java.util.SortedMap org.openjdk.jmh.util.IntervalMap org.openjdk.jmh.util.IntervalMap java.util.Set java.util.Collection java.util.Iterator java.lang.String top java.util.Iterator
      StackMap stack:
         9: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 10 /* line */
        start local 10 // java.lang.String line
        10: .line 785
            aload 10 /* line */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 12 /* trim */
        start local 12 // java.lang.String trim
        11: .line 787
            aload 12 /* trim */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 12
            goto 65
        12: .line 788
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler java.io.File java.util.List java.util.SortedMap org.openjdk.jmh.util.IntervalMap org.openjdk.jmh.util.IntervalMap java.util.Set java.util.Collection java.util.Iterator java.lang.String java.lang.String java.util.Iterator java.lang.String
      StackMap stack:
            aload 12 /* trim */
            ldc " "
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 13 /* elements */
        start local 13 // java.lang.String[] elements
        13: .line 790
            new org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine
            dup
            aload 10 /* line */
            invokespecial org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine.<init>:(Ljava/lang/String;)V
            astore 14 /* asmLine */
        start local 14 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine asmLine
        14: .line 793
            aload 12 /* trim */
            ldc "0x"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 31
        15: .line 796
            aload 0 /* this */
            aload 13 /* elements */
            iconst_0
            aaload
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler.parseAddress:(Ljava/lang/String;)Ljava/lang/Long;
            astore 15 /* addr */
        start local 15 // java.lang.Long addr
        16: .line 797
            aload 2 /* lines */
            invokeinterface java.util.List.size:()I
            istore 16 /* idx */
        start local 16 // int idx
        17: .line 798
            aload 3 /* addressMap */
            aload 15 /* addr */
            iload 16 /* idx */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.SortedMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 800
            new org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine
            dup
            aload 15 /* addr */
            aload 10 /* line */
            invokespecial org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine.<init>:(Ljava/lang/Long;Ljava/lang/String;)V
            astore 14 /* asmLine */
        19: .line 802
            aload 13 /* elements */
            arraylength
            iconst_1
            if_icmple 31
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.drawInterJumps:Z
            ifne 20
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler.drawIntraJumps:Z
            ifeq 31
        20: .line 803
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler java.io.File java.util.List java.util.SortedMap org.openjdk.jmh.util.IntervalMap org.openjdk.jmh.util.IntervalMap java.util.Set java.util.Collection java.util.Iterator java.lang.String java.lang.String java.util.Iterator java.lang.String java.lang.String[] org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine java.lang.Long int
      StackMap stack:
            iconst_1
            istore 17 /* c */
        start local 17 // int c
        21: goto 28
        22: .line 804
      StackMap locals: int
      StackMap stack:
            aload 13 /* elements */
            iload 17 /* c */
            aaload
            ldc "0x"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 27
        23: .line 806
            aload 0 /* this */
            aload 13 /* elements */
            iload 17 /* c */
            aaload
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler.parseAddress:(Ljava/lang/String;)Ljava/lang/Long;
            astore 18 /* target */
        start local 18 // java.lang.Long target
        24: .line 807
            aload 6 /* intervals */
            new org.openjdk.jmh.util.Interval
            dup
            aload 15 /* addr */
            invokevirtual java.lang.Long.longValue:()J
            aload 18 /* target */
            invokevirtual java.lang.Long.longValue:()J
            invokespecial org.openjdk.jmh.util.Interval.<init>:(JJ)V
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 18 // java.lang.Long target
        25: .line 808
            goto 27
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
        26: pop
        27: .line 803
      StackMap locals:
      StackMap stack:
            iinc 17 /* c */ 1
      StackMap locals:
      StackMap stack:
        28: iload 17 /* c */
            aload 13 /* elements */
            arraylength
            if_icmplt 22
        end local 17 // int c
        end local 16 // int idx
        end local 15 // java.lang.Long addr
        29: .line 814
            goto 31
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler java.io.File java.util.List java.util.SortedMap org.openjdk.jmh.util.IntervalMap org.openjdk.jmh.util.IntervalMap java.util.Set java.util.Collection java.util.Iterator java.lang.String java.lang.String java.util.Iterator java.lang.String java.lang.String[] org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine
      StackMap stack: java.lang.NumberFormatException
        30: pop
        31: .line 819
      StackMap locals:
      StackMap stack:
            aload 9 /* prevLine */
            ldc "--------"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 32
            aload 10 /* line */
            ldc "StubRoutines::"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 41
        32: .line 825
      StackMap locals:
      StackMap stack:
            ldc "(.+)( +)\\[(.+), (.+)[\\]\\[](.*)"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            astore 15 /* pattern */
        start local 15 // java.util.regex.Pattern pattern
        33: .line 826
            aload 15 /* pattern */
            aload 10 /* line */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 16 /* matcher */
        start local 16 // java.util.regex.Matcher matcher
        34: .line 828
            aload 16 /* matcher */
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifeq 41
        35: .line 829
            aload 0 /* this */
            aload 16 /* matcher */
            iconst_3
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler.parseAddress:(Ljava/lang/String;)Ljava/lang/Long;
            astore 17 /* startAddr */
        start local 17 // java.lang.Long startAddr
        36: .line 830
            aload 0 /* this */
            aload 16 /* matcher */
            iconst_4
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler.parseAddress:(Ljava/lang/String;)Ljava/lang/Long;
            astore 18 /* endAddr */
        start local 18 // java.lang.Long endAddr
        37: .line 832
            aload 10 /* line */
            ldc "StubRoutines::"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 40
        38: .line 833
            aload 4 /* stubs */
            aload 16 /* matcher */
            iconst_1
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            invokestatic org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc.runtimeStub:(Ljava/lang/String;)Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;
            aload 17 /* startAddr */
            invokevirtual java.lang.Long.longValue:()J
            aload 18 /* endAddr */
            invokevirtual java.lang.Long.longValue:()J
            invokevirtual org.openjdk.jmh.util.IntervalMap.add:(Ljava/lang/Object;JJ)V
        39: .line 834
            goto 41
        40: .line 835
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler java.io.File java.util.List java.util.SortedMap org.openjdk.jmh.util.IntervalMap org.openjdk.jmh.util.IntervalMap java.util.Set java.util.Collection java.util.Iterator java.lang.String java.lang.String java.util.Iterator java.lang.String java.lang.String[] org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine java.util.regex.Pattern java.util.regex.Matcher java.lang.Long java.lang.Long
      StackMap stack:
            aload 4 /* stubs */
            aload 16 /* matcher */
            iconst_1
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            invokestatic org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc.interpreter:(Ljava/lang/String;)Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;
            aload 17 /* startAddr */
            invokevirtual java.lang.Long.longValue:()J
            aload 18 /* endAddr */
            invokevirtual java.lang.Long.longValue:()J
            invokevirtual org.openjdk.jmh.util.IntervalMap.add:(Ljava/lang/Object;JJ)V
        end local 18 // java.lang.Long endAddr
        end local 17 // java.lang.Long startAddr
        end local 16 // java.util.regex.Matcher matcher
        end local 15 // java.util.regex.Pattern pattern
        41: .line 840
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler java.io.File java.util.List java.util.SortedMap org.openjdk.jmh.util.IntervalMap org.openjdk.jmh.util.IntervalMap java.util.Set java.util.Collection java.util.Iterator java.lang.String java.lang.String java.util.Iterator java.lang.String java.lang.String[] org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine
      StackMap stack:
            aload 10 /* line */
            ldc "<nmethod"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 63
        42: .line 847
            ldc "(.*?)<nmethod (.*?)/>(.*?)"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            aload 10 /* line */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 15 /* matcher */
        start local 15 // java.util.regex.Matcher matcher
        43: .line 848
            aload 15 /* matcher */
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifeq 63
        44: .line 849
            aload 15 /* matcher */
            iconst_2
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            astore 16 /* body */
        start local 16 // java.lang.String body
        45: .line 850
            aload 16 /* body */
            ldc "='"
            ldc "="
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 16 /* body */
        46: .line 851
            aload 16 /* body */
            ldc "' "
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 17 /* kvs */
        start local 17 // java.lang.String[] kvs
        47: .line 853
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 18 /* map */
        start local 18 // java.util.HashMap map
        48: .line 854
            aload 17 /* kvs */
            dup
            astore 22
            arraylength
            istore 21
            iconst_0
            istore 20
            goto 56
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler java.io.File java.util.List java.util.SortedMap org.openjdk.jmh.util.IntervalMap org.openjdk.jmh.util.IntervalMap java.util.Set java.util.Collection java.util.Iterator java.lang.String java.lang.String java.util.Iterator java.lang.String java.lang.String[] org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine java.util.regex.Matcher java.lang.String java.lang.String[] java.util.HashMap top int int java.lang.String[]
      StackMap stack:
        49: aload 22
            iload 20
            aaload
            astore 19 /* kv */
        start local 19 // java.lang.String kv
        50: .line 855
            aload 19 /* kv */
            ldc "="
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 23 /* pair */
        start local 23 // java.lang.String[] pair
        51: .line 858
            aload 23 /* pair */
            arraylength
            iconst_2
            if_icmpne 54
        52: .line 859
            aload 18 /* map */
            aload 23 /* pair */
            iconst_0
            aaload
            aload 23 /* pair */
            iconst_1
            aaload
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        53: .line 860
            goto 55
        54: .line 861
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler java.io.File java.util.List java.util.SortedMap org.openjdk.jmh.util.IntervalMap org.openjdk.jmh.util.IntervalMap java.util.Set java.util.Collection java.util.Iterator java.lang.String java.lang.String java.util.Iterator java.lang.String java.lang.String[] org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine java.util.regex.Matcher java.lang.String java.lang.String[] java.util.HashMap java.lang.String int int java.lang.String[] java.lang.String[]
      StackMap stack:
            aload 18 /* map */
            aload 23 /* pair */
            iconst_0
            aaload
            aconst_null
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 23 // java.lang.String[] pair
        end local 19 // java.lang.String kv
        55: .line 854
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler java.io.File java.util.List java.util.SortedMap org.openjdk.jmh.util.IntervalMap org.openjdk.jmh.util.IntervalMap java.util.Set java.util.Collection java.util.Iterator java.lang.String java.lang.String java.util.Iterator java.lang.String java.lang.String[] org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine java.util.regex.Matcher java.lang.String java.lang.String[] java.util.HashMap top int int java.lang.String[]
      StackMap stack:
            iinc 20 1
      StackMap locals:
      StackMap stack:
        56: iload 20
            iload 21
            if_icmplt 49
        57: .line 866
            aload 0 /* this */
            aload 18 /* map */
            ldc "entry"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual org.openjdk.jmh.profile.AbstractPerfAsmProfiler.parseAddress:(Ljava/lang/String;)Ljava/lang/Long;
            astore 19 /* addr */
        start local 19 // java.lang.Long addr
        58: .line 868
            aload 5 /* javaMethods */
        59: .line 869
            aload 18 /* map */
            ldc "method"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            aload 18 /* map */
            ldc "compiler"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            aload 18 /* map */
            ldc "level"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            aload 18 /* map */
            ldc "compile_id"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc.javaMethod:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;
        60: .line 870
            aload 19 /* addr */
            invokevirtual java.lang.Long.longValue:()J
        61: .line 871
            aload 19 /* addr */
            invokevirtual java.lang.Long.longValue:()J
            aload 18 /* map */
            ldc "size"
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic java.lang.Long.valueOf:(Ljava/lang/String;)Ljava/lang/Long;
            invokevirtual java.lang.Long.longValue:()J
            ladd
        62: .line 868
            invokevirtual org.openjdk.jmh.util.IntervalMap.add:(Ljava/lang/Object;JJ)V
        end local 19 // java.lang.Long addr
        end local 18 // java.util.HashMap map
        end local 17 // java.lang.String[] kvs
        end local 16 // java.lang.String body
        end local 15 // java.util.regex.Matcher matcher
        63: .line 876
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler java.io.File java.util.List java.util.SortedMap org.openjdk.jmh.util.IntervalMap org.openjdk.jmh.util.IntervalMap java.util.Set java.util.Collection java.util.Iterator java.lang.String java.lang.String java.util.Iterator java.lang.String java.lang.String[] org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine
      StackMap stack:
            aload 2 /* lines */
            aload 14 /* asmLine */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        64: .line 878
            aload 10 /* line */
            astore 9 /* prevLine */
        end local 14 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine asmLine
        end local 13 // java.lang.String[] elements
        end local 12 // java.lang.String trim
        end local 10 // java.lang.String line
        65: .line 784
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler java.io.File java.util.List java.util.SortedMap org.openjdk.jmh.util.IntervalMap org.openjdk.jmh.util.IntervalMap java.util.Set java.util.Collection java.util.Iterator java.lang.String top java.util.Iterator
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        end local 9 // java.lang.String prevLine
        end local 7 // java.util.Collection cs
        66: .line 782
      StackMap locals: org.openjdk.jmh.profile.AbstractPerfAsmProfiler java.io.File java.util.List java.util.SortedMap org.openjdk.jmh.util.IntervalMap org.openjdk.jmh.util.IntervalMap java.util.Set top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        67: .line 883
            new org.openjdk.jmh.util.IntervalMap
            dup
            invokespecial org.openjdk.jmh.util.IntervalMap.<init>:()V
            astore 7 /* methodMap */
        start local 7 // org.openjdk.jmh.util.IntervalMap methodMap
        68: .line 884
            aload 7 /* methodMap */
            aload 4 /* stubs */
            invokevirtual org.openjdk.jmh.util.IntervalMap.merge:(Lorg/openjdk/jmh/util/IntervalMap;)V
        69: .line 885
            aload 7 /* methodMap */
            aload 5 /* javaMethods */
            invokevirtual org.openjdk.jmh.util.IntervalMap.merge:(Lorg/openjdk/jmh/util/IntervalMap;)V
        70: .line 887
            new org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly
            dup
            aload 2 /* lines */
            aload 3 /* addressMap */
            aload 7 /* methodMap */
            aload 6 /* intervals */
            invokespecial org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly.<init>:(Ljava/util/List;Ljava/util/SortedMap;Lorg/openjdk/jmh/util/IntervalMap;Ljava/util/Set;)V
            areturn
        end local 7 // org.openjdk.jmh.util.IntervalMap methodMap
        end local 6 // java.util.Set intervals
        end local 5 // org.openjdk.jmh.util.IntervalMap javaMethods
        end local 4 // org.openjdk.jmh.util.IntervalMap stubs
        end local 3 // java.util.SortedMap addressMap
        end local 2 // java.util.List lines
        end local 1 // java.io.File stdOut
        end local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   71     0         this  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler;
            0   71     1       stdOut  Ljava/io/File;
            1   71     2        lines  Ljava/util/List<Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$ASMLine;>;
            2   71     3   addressMap  Ljava/util/SortedMap<Ljava/lang/Long;Ljava/lang/Integer;>;
            3   71     4        stubs  Lorg/openjdk/jmh/util/IntervalMap<Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;>;
            4   71     5  javaMethods  Lorg/openjdk/jmh/util/IntervalMap<Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;>;
            5   71     6    intervals  Ljava/util/Set<Lorg/openjdk/jmh/util/Interval;>;
            7   66     7           cs  Ljava/util/Collection<Ljava/lang/String;>;
            8   66     9     prevLine  Ljava/lang/String;
           10   65    10         line  Ljava/lang/String;
           11   65    12         trim  Ljava/lang/String;
           13   65    13     elements  [Ljava/lang/String;
           14   65    14      asmLine  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$ASMLine;
           16   29    15         addr  Ljava/lang/Long;
           17   29    16          idx  I
           21   29    17            c  I
           24   25    18       target  Ljava/lang/Long;
           33   41    15      pattern  Ljava/util/regex/Pattern;
           34   41    16      matcher  Ljava/util/regex/Matcher;
           36   41    17    startAddr  Ljava/lang/Long;
           37   41    18      endAddr  Ljava/lang/Long;
           43   63    15      matcher  Ljava/util/regex/Matcher;
           45   63    16         body  Ljava/lang/String;
           47   63    17          kvs  [Ljava/lang/String;
           48   63    18          map  Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;
           50   55    19           kv  Ljava/lang/String;
           51   55    23         pair  [Ljava/lang/String;
           58   63    19         addr  Ljava/lang/Long;
           68   71     7    methodMap  Lorg/openjdk/jmh/util/IntervalMap<Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;>;
      Exception table:
        from    to  target  type
          23    25      26  Class java.lang.NumberFormatException
          15    29      30  Class java.lang.NumberFormatException
    MethodParameters:
        Name  Flags
      stdOut  

  private java.lang.Long parseAddress(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Long;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler this
        start local 1 // java.lang.String address
         0: .line 891
            aload 1 /* address */
            ldc "0x"
            ldc ""
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            ldc ":"
            ldc ""
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            bipush 16
            invokestatic java.lang.Long.valueOf:(Ljava/lang/String;I)Ljava/lang/Long;
            areturn
        end local 1 // java.lang.String address
        end local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler;
            0    1     1  address  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      address  
}
SourceFile: "AbstractPerfAsmProfiler.java"
NestMembers:
  org.openjdk.jmh.profile.AbstractPerfAsmProfiler$1  org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine  org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly  org.openjdk.jmh.profile.AbstractPerfAsmProfiler$GeneratedRegion  org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc  org.openjdk.jmh.profile.AbstractPerfAsmProfiler$NativeRegion  org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents  org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfResult  org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfResultAggregator  org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region  org.openjdk.jmh.profile.AbstractPerfAsmProfiler$UnknownRegion
InnerClasses:
  org.openjdk.jmh.profile.AbstractPerfAsmProfiler$1
  ASMLine = org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine of org.openjdk.jmh.profile.AbstractPerfAsmProfiler
  Assembly = org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly of org.openjdk.jmh.profile.AbstractPerfAsmProfiler
  GeneratedRegion = org.openjdk.jmh.profile.AbstractPerfAsmProfiler$GeneratedRegion of org.openjdk.jmh.profile.AbstractPerfAsmProfiler
  MethodDesc = org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc of org.openjdk.jmh.profile.AbstractPerfAsmProfiler
  NativeRegion = org.openjdk.jmh.profile.AbstractPerfAsmProfiler$NativeRegion of org.openjdk.jmh.profile.AbstractPerfAsmProfiler
  protected PerfEvents = org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents of org.openjdk.jmh.profile.AbstractPerfAsmProfiler
  PerfResult = org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfResult of org.openjdk.jmh.profile.AbstractPerfAsmProfiler
  PerfResultAggregator = org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfResultAggregator of org.openjdk.jmh.profile.AbstractPerfAsmProfiler
  Region = org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Region of org.openjdk.jmh.profile.AbstractPerfAsmProfiler
  UnknownRegion = org.openjdk.jmh.profile.AbstractPerfAsmProfiler$UnknownRegion of org.openjdk.jmh.profile.AbstractPerfAsmProfiler