public class org.openjdk.jmh.profile.DTraceAsmProfiler extends org.openjdk.jmh.profile.AbstractPerfAsmProfiler
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.openjdk.jmh.profile.DTraceAsmProfiler
  super_class: org.openjdk.jmh.profile.AbstractPerfAsmProfiler
{
  private final long sampleFrequency;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private volatile java.lang.String pid;
    descriptor: Ljava/lang/String;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile java.lang.Process dtraceProcess;
    descriptor: Ljava/lang/Process;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private joptsimple.OptionSpec<java.lang.Long> optFrequency;
    descriptor: Ljoptsimple/OptionSpec;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljoptsimple/OptionSpec<Ljava/lang/Long;>;

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 56
            ldc Lorg/openjdk/jmh/profile/DTraceAsmProfiler;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.openjdk.jmh.profile.DTraceAsmProfiler.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.openjdk.jmh.profile.DTraceAsmProfiler this
        start local 1 // java.lang.String initLine
         0: .line 64
            aload 0 /* this */
            aload 1 /* initLine */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "sampled_pc"
            aastore
            invokespecial org.openjdk.jmh.profile.AbstractPerfAsmProfiler.<init>:(Ljava/lang/String;[Ljava/lang/String;)V
         1: .line 67
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "sudo"
            aastore
            dup
            iconst_1
            ldc "dtrace"
            aastore
            dup
            iconst_2
            ldc "-V"
            aastore
            invokestatic org.openjdk.jmh.util.Utils.tryWith:([Ljava/lang/String;)Ljava/util/Collection;
            astore 2 /* messages */
        start local 2 // java.util.Collection messages
         2: .line 68
            aload 2 /* messages */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifne 4
         3: .line 69
            new org.openjdk.jmh.profile.ProfilerException
            dup
            aload 2 /* messages */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokespecial org.openjdk.jmh.profile.ProfilerException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 73
      StackMap locals: org.openjdk.jmh.profile.DTraceAsmProfiler java.lang.String java.util.Collection
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.DTraceAsmProfiler.set:Ljoptsimple/OptionSet;
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.DTraceAsmProfiler.optFrequency:Ljoptsimple/OptionSpec;
            invokevirtual joptsimple.OptionSet.valueOf:(Ljoptsimple/OptionSpec;)Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            putfield org.openjdk.jmh.profile.DTraceAsmProfiler.sampleFrequency:J
         5: .line 74
            goto 8
      StackMap locals:
      StackMap stack: joptsimple.OptionException
         6: astore 3 /* e */
        start local 3 // joptsimple.OptionException e
         7: .line 75
            new org.openjdk.jmh.profile.ProfilerException
            dup
            aload 3 /* e */
            invokevirtual joptsimple.OptionException.getMessage:()Ljava/lang/String;
            invokespecial org.openjdk.jmh.profile.ProfilerException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // joptsimple.OptionException e
         8: .line 77
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.Collection messages
        end local 1 // java.lang.String initLine
        end local 0 // org.openjdk.jmh.profile.DTraceAsmProfiler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lorg/openjdk/jmh/profile/DTraceAsmProfiler;
            0    9     1  initLine  Ljava/lang/String;
            2    9     2  messages  Ljava/util/Collection<Ljava/lang/String;>;
            7    8     3         e  Ljoptsimple/OptionException;
      Exception table:
        from    to  target  type
           4     5       6  Class joptsimple.OptionException
    Exceptions:
      throws org.openjdk.jmh.profile.ProfilerException
    MethodParameters:
          Name  Flags
      initLine  

  public void beforeTrial(org.openjdk.jmh.infra.BenchmarkParams);
    descriptor: (Lorg/openjdk/jmh/infra/BenchmarkParams;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.openjdk.jmh.profile.DTraceAsmProfiler this
        start local 1 // org.openjdk.jmh.infra.BenchmarkParams params
         0: .line 81
            aload 0 /* this */
            aload 1 /* params */
            invokespecial org.openjdk.jmh.profile.AbstractPerfAsmProfiler.beforeTrial:(Lorg/openjdk/jmh/infra/BenchmarkParams;)V
         1: .line 82
            return
        end local 1 // org.openjdk.jmh.infra.BenchmarkParams params
        end local 0 // org.openjdk.jmh.profile.DTraceAsmProfiler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/openjdk/jmh/profile/DTraceAsmProfiler;
            0    2     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=6, locals=7, args_size=5
        start local 0 // org.openjdk.jmh.profile.DTraceAsmProfiler 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 86
            lload 2 /* pid */
            lconst_0
            lcmp
            ifne 2
         1: .line 87
            new java.lang.IllegalStateException
            dup
            ldc "DTrace needs the forked VM PID, but it is not initialized"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 90
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.DTraceAsmProfiler.dtraceProcess:Ljava/lang/Process;
            invokestatic org.openjdk.jmh.util.Utils.destroy:(Ljava/lang/Process;)Ljava/util/Collection;
            astore 6 /* messages */
        start local 6 // java.util.Collection messages
         3: .line 91
            aload 6 /* messages */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifne 5
         4: .line 92
            new java.lang.IllegalStateException
            dup
            aload 6 /* messages */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 95
      StackMap locals: java.util.Collection
      StackMap stack:
            aload 0 /* this */
            lload 2 /* pid */
            invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
            putfield org.openjdk.jmh.profile.DTraceAsmProfiler.pid:Ljava/lang/String;
         6: .line 96
            aload 0 /* this */
            aload 1 /* br */
            lload 2 /* pid */
            aload 4 /* stdOut */
            aload 5 /* stdErr */
            invokespecial org.openjdk.jmh.profile.AbstractPerfAsmProfiler.afterTrial:(Lorg/openjdk/jmh/results/BenchmarkResult;JLjava/io/File;Ljava/io/File;)Ljava/util/Collection;
            areturn
        end local 6 // java.util.Collection messages
        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.DTraceAsmProfiler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/openjdk/jmh/profile/DTraceAsmProfiler;
            0    7     1        br  Lorg/openjdk/jmh/results/BenchmarkResult;
            0    7     2       pid  J
            0    7     4    stdOut  Ljava/io/File;
            0    7     5    stdErr  Ljava/io/File;
            3    7     6  messages  Ljava/util/Collection<Ljava/lang/String;>;
    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 java.util.Collection<java.lang.String> addJVMInvokeOptions(org.openjdk.jmh.infra.BenchmarkParams);
    descriptor: (Lorg/openjdk/jmh/infra/BenchmarkParams;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // org.openjdk.jmh.profile.DTraceAsmProfiler this
        start local 1 // org.openjdk.jmh.infra.BenchmarkParams params
         0: .line 101
            aload 0 /* this */
            bipush 6
            anewarray java.lang.String
            dup
            iconst_0
            ldc "sudo"
            aastore
            dup
            iconst_1
            ldc "dtrace"
            aastore
            dup
            iconst_2
            ldc "-n"
            aastore
            dup
            iconst_3
            new java.lang.StringBuilder
            dup
            ldc "profile-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.DTraceAsmProfiler.sampleFrequency:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
         1: .line 102
            ldc " /arg1/ { printf(\"%d 0x%lx %d\", pid, arg1, timestamp); ufunc(arg1)}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_4
            ldc "-o"
            aastore
            dup
            iconst_5
         2: .line 103
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.DTraceAsmProfiler.perfBinData:Lorg/openjdk/jmh/util/TempFile;
            invokevirtual org.openjdk.jmh.util.TempFile.getAbsolutePath:()Ljava/lang/String;
            aastore
         3: .line 101
            invokestatic org.openjdk.jmh.util.Utils.runAsync:([Ljava/lang/String;)Ljava/lang/Process;
            putfield org.openjdk.jmh.profile.DTraceAsmProfiler.dtraceProcess:Ljava/lang/Process;
         4: .line 104
            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.DTraceAsmProfiler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/openjdk/jmh/profile/DTraceAsmProfiler;
            0    5     1  params  Lorg/openjdk/jmh/infra/BenchmarkParams;
    Signature: (Lorg/openjdk/jmh/infra/BenchmarkParams;)Ljava/util/Collection<Ljava/lang/String;>;
    MethodParameters:
        Name  Flags
      params  

  public java.lang.String getDescription();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.openjdk.jmh.profile.DTraceAsmProfiler this
         0: .line 109
            ldc "DTrace profile provider + PrintAssembly Profiler"
            areturn
        end local 0 // org.openjdk.jmh.profile.DTraceAsmProfiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/openjdk/jmh/profile/DTraceAsmProfiler;

  protected void addMyOptions(joptsimple.OptionParser);
    descriptor: (Ljoptsimple/OptionParser;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.openjdk.jmh.profile.DTraceAsmProfiler this
        start local 1 // joptsimple.OptionParser parser
         0: .line 114
            aload 0 /* this */
            aload 1 /* parser */
            ldc "frequency"
         1: .line 115
            ldc "Sampling frequency. This is synonymous to profile-#"
         2: .line 114
            invokevirtual joptsimple.OptionParser.accepts:(Ljava/lang/String;Ljava/lang/String;)Ljoptsimple/OptionSpecBuilder;
         3: .line 116
            invokevirtual joptsimple.OptionSpecBuilder.withRequiredArg:()Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc Ljava/lang/Long;
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.ofType:(Ljava/lang/Class;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc "freq"
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.describedAs:(Ljava/lang/String;)Ljoptsimple/ArgumentAcceptingOptionSpec;
            ldc 1001
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            iconst_0
            anewarray java.lang.Long
            invokevirtual joptsimple.ArgumentAcceptingOptionSpec.defaultsTo:(Ljava/lang/Object;[Ljava/lang/Object;)Ljoptsimple/ArgumentAcceptingOptionSpec;
         4: .line 114
            putfield org.openjdk.jmh.profile.DTraceAsmProfiler.optFrequency:Ljoptsimple/OptionSpec;
         5: .line 117
            return
        end local 1 // joptsimple.OptionParser parser
        end local 0 // org.openjdk.jmh.profile.DTraceAsmProfiler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/openjdk/jmh/profile/DTraceAsmProfiler;
            0    6     1  parser  Ljoptsimple/OptionParser;
    MethodParameters:
        Name  Flags
      parser  

  protected void parseEvents();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.openjdk.jmh.profile.DTraceAsmProfiler this
         0: .line 122
            return
        end local 0 // org.openjdk.jmh.profile.DTraceAsmProfiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/openjdk/jmh/profile/DTraceAsmProfiler;

  protected org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents readEvents(double, double);
    descriptor: (DD)Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$PerfEvents;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=33, args_size=3
        start local 0 // org.openjdk.jmh.profile.DTraceAsmProfiler this
        start local 1 // double skipMs
        start local 3 // double lenMs
         0: .line 126
            dload 1 /* skipMs */
            d2l
            lstore 5 /* start */
        start local 5 // long start
         1: .line 127
            dload 1 /* skipMs */
            dload 3 /* lenMs */
            dadd
            d2l
            lstore 7 /* end */
        start local 7 // long end
         2: .line 129
            aconst_null
            astore 9
            aconst_null
            astore 10
         3: new java.io.FileReader
            dup
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.DTraceAsmProfiler.perfBinData:Lorg/openjdk/jmh/util/TempFile;
            invokevirtual org.openjdk.jmh.util.TempFile.file:()Ljava/io/File;
            invokespecial java.io.FileReader.<init>:(Ljava/io/File;)V
            astore 11 /* fr */
        start local 11 // java.io.FileReader fr
         4: .line 130
            new java.io.BufferedReader
            dup
            aload 11 /* fr */
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 12 /* reader */
        start local 12 // java.io.BufferedReader reader
         5: .line 132
            new org.openjdk.jmh.util.Deduplicator
            dup
            invokespecial org.openjdk.jmh.util.Deduplicator.<init>:()V
            astore 13 /* dedup */
        start local 13 // org.openjdk.jmh.util.Deduplicator dedup
         6: .line 133
            new org.openjdk.jmh.util.HashMultimap
            dup
            invokespecial org.openjdk.jmh.util.HashMultimap.<init>:()V
            astore 14 /* methods */
        start local 14 // org.openjdk.jmh.util.Multimap methods
         7: .line 134
            new org.openjdk.jmh.util.TreeMultiset
            dup
            invokespecial org.openjdk.jmh.util.TreeMultiset.<init>:()V
            astore 15 /* events */
        start local 15 // org.openjdk.jmh.util.Multiset events
         8: .line 136
            lconst_0
            lstore 16 /* dtraceTimestampBase */
        start local 16 // long dtraceTimestampBase
         9: .line 138
            goto 41
        start local 18 // java.lang.String line
        10: .line 141
      StackMap locals: org.openjdk.jmh.profile.DTraceAsmProfiler double double long long java.lang.Throwable java.lang.Throwable java.io.FileReader java.io.BufferedReader org.openjdk.jmh.util.Deduplicator org.openjdk.jmh.util.Multimap org.openjdk.jmh.util.Multiset long java.lang.String
      StackMap stack:
            aload 18 /* line */
            ldc ":profile"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 12
        11: .line 142
            goto 41
        12: .line 145
      StackMap locals:
      StackMap stack:
            aload 18 /* line */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 18 /* line */
        13: .line 146
            aload 18 /* line */
            aload 18 /* line */
            ldc ":profile"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 18 /* line */
        14: .line 147
            aload 18 /* line */
            ldc " "
            iconst_5
            invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
            astore 19 /* splits */
        start local 19 // java.lang.String[] splits
        15: .line 148
            aload 19 /* splits */
            iconst_1
            aaload
            astore 20 /* sampledPid */
        start local 20 // java.lang.String sampledPid
        16: .line 150
            aload 20 /* sampledPid */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.DTraceAsmProfiler.pid:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 18
        17: .line 151
            goto 41
        18: .line 155
      StackMap locals: java.lang.String[] java.lang.String
      StackMap stack:
            aload 19 /* splits */
            arraylength
            iconst_4
            if_icmpge 20
        19: .line 156
            goto 41
        20: .line 159
      StackMap locals:
      StackMap stack:
            aload 19 /* splits */
            iconst_3
            aaload
            invokestatic java.lang.Long.valueOf:(Ljava/lang/String;)Ljava/lang/Long;
            invokevirtual java.lang.Long.longValue:()J
            lstore 21 /* timestamp */
        start local 21 // long timestamp
        21: .line 160
            lload 16 /* dtraceTimestampBase */
            lconst_0
            lcmp
            ifne 24
        22: .line 162
            lload 21 /* timestamp */
            lstore 16 /* dtraceTimestampBase */
        23: .line 163
            goto 41
        24: .line 166
      StackMap locals: long
      StackMap stack:
            lload 21 /* timestamp */
            lload 16 /* dtraceTimestampBase */
            lsub
            lstore 23 /* elapsed */
        start local 23 // long elapsed
        25: .line 167
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            lload 23 /* elapsed */
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            lstore 25 /* elapsedMs */
        start local 25 // long elapsedMs
        26: .line 169
            lload 25 /* elapsedMs */
            lload 5 /* start */
            lcmp
            iflt 41
            lload 25 /* elapsedMs */
            lload 7 /* end */
            lcmp
            ifle 28
        27: .line 170
            goto 41
        28: .line 173
      StackMap locals: long long
      StackMap stack:
            aload 19 /* splits */
            iconst_2
            aaload
            invokestatic java.lang.Long.decode:(Ljava/lang/String;)Ljava/lang/Long;
            invokevirtual java.lang.Long.longValue:()J
            lstore 27 /* address */
        start local 27 // long address
        29: .line 174
            aload 15 /* events */
            lload 27 /* address */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface org.openjdk.jmh.util.Multiset.add:(Ljava/lang/Object;)V
        30: .line 176
            aload 19 /* splits */
            iconst_4
            aaload
            astore 29 /* methodLine */
        start local 29 // java.lang.String methodLine
        31: .line 178
            aload 29 /* methodLine */
            ldc "0x"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 33
        32: .line 179
            goto 41
        33: .line 182
      StackMap locals: long java.lang.String
      StackMap stack:
            ldc "[unknown]"
            astore 30 /* symbol */
        start local 30 // java.lang.String symbol
        34: .line 183
            aload 29 /* methodLine */
            ldc "`"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 31 /* methodSplit */
        start local 31 // java.lang.String[] methodSplit
        35: .line 184
            aload 31 /* methodSplit */
            iconst_0
            aaload
            astore 32 /* library */
        start local 32 // java.lang.String library
        36: .line 185
            ldc ""
            aload 32 /* library */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 38
        37: .line 186
            ldc "[unknown]"
            astore 32 /* library */
        38: .line 189
      StackMap locals: java.lang.String java.lang.String[] java.lang.String
      StackMap stack:
            aload 31 /* methodSplit */
            arraylength
            iconst_2
            if_icmpne 40
        39: .line 190
            aload 31 /* methodSplit */
            iconst_1
            aaload
            astore 30 /* symbol */
        40: .line 193
      StackMap locals:
      StackMap stack:
            aload 14 /* methods */
            aload 13 /* dedup */
            aload 30 /* symbol */
            aload 32 /* library */
            invokestatic org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc.nativeMethod:(Ljava/lang/String;Ljava/lang/String;)Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;
            invokevirtual org.openjdk.jmh.util.Deduplicator.dedup:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc
            lload 27 /* address */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface org.openjdk.jmh.util.Multimap.put:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 32 // java.lang.String library
        end local 31 // java.lang.String[] methodSplit
        end local 30 // java.lang.String symbol
        end local 29 // java.lang.String methodLine
        end local 27 // long address
        end local 25 // long elapsedMs
        end local 23 // long elapsed
        end local 21 // long timestamp
        end local 20 // java.lang.String sampledPid
        end local 19 // java.lang.String[] splits
        end local 18 // java.lang.String line
        41: .line 138
      StackMap locals: org.openjdk.jmh.profile.DTraceAsmProfiler double double long long java.lang.Throwable java.lang.Throwable java.io.FileReader java.io.BufferedReader org.openjdk.jmh.util.Deduplicator org.openjdk.jmh.util.Multimap org.openjdk.jmh.util.Multiset long
      StackMap stack:
            aload 12 /* reader */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            dup
            astore 18 /* line */
        start local 18 // java.lang.String line
        42: ifnonnull 10
        43: .line 196
            new org.openjdk.jmh.util.IntervalMap
            dup
            invokespecial org.openjdk.jmh.util.IntervalMap.<init>:()V
            astore 19 /* methodMap */
        start local 19 // org.openjdk.jmh.util.IntervalMap methodMap
        44: .line 197
            aload 14 /* methods */
            invokeinterface org.openjdk.jmh.util.Multimap.keys:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 21
            goto 48
      StackMap locals: org.openjdk.jmh.profile.DTraceAsmProfiler double double long long java.lang.Throwable java.lang.Throwable java.io.FileReader java.io.BufferedReader org.openjdk.jmh.util.Deduplicator org.openjdk.jmh.util.Multimap org.openjdk.jmh.util.Multiset long java.lang.String org.openjdk.jmh.util.IntervalMap top java.util.Iterator
      StackMap stack:
        45: aload 21
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc
            astore 20 /* md */
        start local 20 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc md
        46: .line 198
            aload 14 /* methods */
            aload 20 /* md */
            invokeinterface org.openjdk.jmh.util.Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
            astore 22 /* longs */
        start local 22 // java.util.Collection longs
        47: .line 199
            aload 19 /* methodMap */
            aload 20 /* md */
            aload 22 /* longs */
            invokestatic org.openjdk.jmh.util.Utils.min:(Ljava/util/Collection;)Ljava/lang/Comparable;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            aload 22 /* longs */
            invokestatic org.openjdk.jmh.util.Utils.max:(Ljava/util/Collection;)Ljava/lang/Comparable;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            invokevirtual org.openjdk.jmh.util.IntervalMap.add:(Ljava/lang/Object;JJ)V
        end local 22 // java.util.Collection longs
        end local 20 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc md
        48: .line 197
      StackMap locals:
      StackMap stack:
            aload 21
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 45
        49: .line 202
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            astore 20 /* allEvents */
        start local 20 // java.util.Map allEvents
        50: .line 203
            getstatic org.openjdk.jmh.profile.DTraceAsmProfiler.$assertionsDisabled:Z
            ifne 51
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.DTraceAsmProfiler.events:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpeq 51
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        51: .line 204
      StackMap locals: org.openjdk.jmh.profile.DTraceAsmProfiler double double long long java.lang.Throwable java.lang.Throwable java.io.FileReader java.io.BufferedReader org.openjdk.jmh.util.Deduplicator org.openjdk.jmh.util.Multimap org.openjdk.jmh.util.Multiset long java.lang.String org.openjdk.jmh.util.IntervalMap java.util.Map
      StackMap stack:
            aload 20 /* allEvents */
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.DTraceAsmProfiler.events:Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            aload 15 /* events */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        52: .line 205
            new org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents
            dup
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.DTraceAsmProfiler.events:Ljava/util/List;
            aload 20 /* allEvents */
            aload 19 /* methodMap */
            invokespecial org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents.<init>:(Ljava/util/Collection;Ljava/util/Map;Lorg/openjdk/jmh/util/IntervalMap;)V
        53: .line 207
            aload 12 /* reader */
            ifnull 54
            aload 12 /* reader */
            invokevirtual java.io.BufferedReader.close:()V
      StackMap locals:
      StackMap stack: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents
        54: aload 11 /* fr */
            ifnull 55
            aload 11 /* fr */
            invokevirtual java.io.FileReader.close:()V
        55: .line 205
      StackMap locals:
      StackMap stack: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents
            areturn
        end local 20 // java.util.Map allEvents
        end local 19 // org.openjdk.jmh.util.IntervalMap methodMap
        end local 18 // java.lang.String line
        end local 16 // long dtraceTimestampBase
        end local 15 // org.openjdk.jmh.util.Multiset events
        end local 14 // org.openjdk.jmh.util.Multimap methods
        end local 13 // org.openjdk.jmh.util.Deduplicator dedup
      StackMap locals: org.openjdk.jmh.profile.DTraceAsmProfiler double double long long java.lang.Throwable java.lang.Throwable java.io.FileReader java.io.BufferedReader
      StackMap stack: java.lang.Throwable
        56: astore 9
        57: .line 207
            aload 12 /* reader */
            ifnull 58
            aload 12 /* reader */
            invokevirtual java.io.BufferedReader.close:()V
        end local 12 // java.io.BufferedReader reader
      StackMap locals:
      StackMap stack:
        58: aload 9
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        59: astore 10
            aload 9
            ifnonnull 60
            aload 10
            astore 9
            goto 61
      StackMap locals:
      StackMap stack:
        60: aload 9
            aload 10
            if_acmpeq 61
            aload 9
            aload 10
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        61: aload 11 /* fr */
            ifnull 62
            aload 11 /* fr */
            invokevirtual java.io.FileReader.close:()V
        end local 11 // java.io.FileReader fr
      StackMap locals:
      StackMap stack:
        62: aload 9
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        63: astore 10
            aload 9
            ifnonnull 64
            aload 10
            astore 9
            goto 65
      StackMap locals:
      StackMap stack:
        64: aload 9
            aload 10
            if_acmpeq 65
            aload 9
            aload 10
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        65: aload 9
            athrow
      StackMap locals: org.openjdk.jmh.profile.DTraceAsmProfiler double double long long
      StackMap stack: java.io.IOException
        66: pop
        67: .line 208
            new org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents
            dup
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.DTraceAsmProfiler.events:Ljava/util/List;
            invokespecial org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents.<init>:(Ljava/util/Collection;)V
            areturn
        end local 7 // long end
        end local 5 // long start
        end local 3 // double lenMs
        end local 1 // double skipMs
        end local 0 // org.openjdk.jmh.profile.DTraceAsmProfiler this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   68     0                 this  Lorg/openjdk/jmh/profile/DTraceAsmProfiler;
            0   68     1               skipMs  D
            0   68     3                lenMs  D
            1   68     5                start  J
            2   68     7                  end  J
            4   62    11                   fr  Ljava/io/FileReader;
            5   58    12               reader  Ljava/io/BufferedReader;
            6   56    13                dedup  Lorg/openjdk/jmh/util/Deduplicator<Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;>;
            7   56    14              methods  Lorg/openjdk/jmh/util/Multimap<Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;Ljava/lang/Long;>;
            8   56    15               events  Lorg/openjdk/jmh/util/Multiset<Ljava/lang/Long;>;
            9   56    16  dtraceTimestampBase  J
           10   41    18                 line  Ljava/lang/String;
           42   56    18                 line  Ljava/lang/String;
           15   41    19               splits  [Ljava/lang/String;
           16   41    20           sampledPid  Ljava/lang/String;
           21   41    21            timestamp  J
           25   41    23              elapsed  J
           26   41    25            elapsedMs  J
           29   41    27              address  J
           31   41    29           methodLine  Ljava/lang/String;
           34   41    30               symbol  Ljava/lang/String;
           35   41    31          methodSplit  [Ljava/lang/String;
           36   41    32              library  Ljava/lang/String;
           44   56    19            methodMap  Lorg/openjdk/jmh/util/IntervalMap<Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;>;
           46   48    20                   md  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;
           47   48    22                longs  Ljava/util/Collection<Ljava/lang/Long;>;
           50   56    20            allEvents  Ljava/util/Map<Ljava/lang/String;Lorg/openjdk/jmh/util/Multiset<Ljava/lang/Long;>;>;
      Exception table:
        from    to  target  type
           5    53      56  any
           4    54      59  any
          56    59      59  any
           3    55      63  any
          56    63      63  any
           2    55      66  Class java.io.IOException
          56    66      66  Class java.io.IOException
    MethodParameters:
        Name  Flags
      skipMs  
      lenMs   

  protected java.lang.String perfBinaryExtension();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.openjdk.jmh.profile.DTraceAsmProfiler this
         0: .line 216
            ldc ".txt"
            areturn
        end local 0 // org.openjdk.jmh.profile.DTraceAsmProfiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/openjdk/jmh/profile/DTraceAsmProfiler;
}
SourceFile: "DTraceAsmProfiler.java"
InnerClasses:
  MethodDesc = org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc of org.openjdk.jmh.profile.AbstractPerfAsmProfiler
  protected PerfEvents = org.openjdk.jmh.profile.AbstractPerfAsmProfiler$PerfEvents of org.openjdk.jmh.profile.AbstractPerfAsmProfiler