class org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly
  super_class: java.lang.Object
{
  final java.util.List<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine> lines;
    descriptor: Ljava/util/List;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/List<Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$ASMLine;>;

  final java.util.SortedMap<java.lang.Long, java.lang.Integer> addressMap;
    descriptor: Ljava/util/SortedMap;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/SortedMap<Ljava/lang/Long;Ljava/lang/Integer;>;

  final org.openjdk.jmh.util.IntervalMap<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc> methodMap;
    descriptor: Lorg/openjdk/jmh/util/IntervalMap;
    flags: (0x0010) ACC_FINAL
    Signature: Lorg/openjdk/jmh/util/IntervalMap<Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;>;

  final java.util.Set<org.openjdk.jmh.util.Interval> intervals;
    descriptor: Ljava/util/Set;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/Set<Lorg/openjdk/jmh/util/Interval;>;

  public void <init>(java.util.List<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine>, java.util.SortedMap<java.lang.Long, java.lang.Integer>, org.openjdk.jmh.util.IntervalMap<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc>, java.util.Set<org.openjdk.jmh.util.Interval>);
    descriptor: (Ljava/util/List;Ljava/util/SortedMap;Lorg/openjdk/jmh/util/IntervalMap;Ljava/util/Set;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly this
        start local 1 // java.util.List lines
        start local 2 // java.util.SortedMap addressMap
        start local 3 // org.openjdk.jmh.util.IntervalMap methodMap
        start local 4 // java.util.Set intervals
         0: .line 985
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 986
            aload 0 /* this */
            aload 1 /* lines */
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly.lines:Ljava/util/List;
         2: .line 987
            aload 0 /* this */
            aload 2 /* addressMap */
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly.addressMap:Ljava/util/SortedMap;
         3: .line 988
            aload 0 /* this */
            aload 3 /* methodMap */
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly.methodMap:Lorg/openjdk/jmh/util/IntervalMap;
         4: .line 989
            aload 0 /* this */
            aload 4 /* intervals */
            putfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly.intervals:Ljava/util/Set;
         5: .line 990
            return
        end local 4 // java.util.Set intervals
        end local 3 // org.openjdk.jmh.util.IntervalMap methodMap
        end local 2 // java.util.SortedMap addressMap
        end local 1 // java.util.List lines
        end local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$Assembly;
            0    6     1       lines  Ljava/util/List<Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$ASMLine;>;
            0    6     2  addressMap  Ljava/util/SortedMap<Ljava/lang/Long;Ljava/lang/Integer;>;
            0    6     3   methodMap  Lorg/openjdk/jmh/util/IntervalMap<Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;>;
            0    6     4   intervals  Ljava/util/Set<Lorg/openjdk/jmh/util/Interval;>;
    Signature: (Ljava/util/List<Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$ASMLine;>;Ljava/util/SortedMap<Ljava/lang/Long;Ljava/lang/Integer;>;Lorg/openjdk/jmh/util/IntervalMap<Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;>;Ljava/util/Set<Lorg/openjdk/jmh/util/Interval;>;)V
    MethodParameters:
            Name  Flags
      lines       
      addressMap  
      methodMap   
      intervals   

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly this
         0: .line 994
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly.addressMap:Ljava/util/SortedMap;
            invokeinterface java.util.SortedMap.size:()I
            ireturn
        end local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$Assembly;

  public java.util.List<org.openjdk.jmh.profile.AbstractPerfAsmProfiler$ASMLine> getLines(long, long, int);
    descriptor: (JJI)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=12, args_size=4
        start local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly this
        start local 1 // long begin
        start local 3 // long end
        start local 5 // int window
         0: .line 998
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly.addressMap:Ljava/util/SortedMap;
            lload 1 /* begin */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface java.util.SortedMap.tailMap:(Ljava/lang/Object;)Ljava/util/SortedMap;
            astore 6 /* tailMap */
        start local 6 // java.util.SortedMap tailMap
         1: .line 1002
            aload 6 /* tailMap */
            invokeinterface java.util.SortedMap.isEmpty:()Z
            ifne 5
         2: .line 1003
            aload 6 /* tailMap */
            invokeinterface java.util.SortedMap.firstKey:()Ljava/lang/Object;
            checkcast java.lang.Long
            astore 7 /* beginAddr */
        start local 7 // java.lang.Long beginAddr
         3: .line 1004
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly.addressMap:Ljava/util/SortedMap;
            aload 7 /* beginAddr */
            invokeinterface java.util.SortedMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 8 /* beginIdx */
        start local 8 // java.lang.Integer beginIdx
         4: .line 1005
            goto 6
        end local 8 // java.lang.Integer beginIdx
        end local 7 // java.lang.Long beginAddr
         5: .line 1006
      StackMap locals: java.util.SortedMap
      StackMap stack:
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
        start local 7 // java.lang.Long beginAddr
        start local 8 // java.lang.Integer beginIdx
         6: .line 1009
      StackMap locals: java.lang.Long java.lang.Integer
      StackMap stack:
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly.addressMap:Ljava/util/SortedMap;
            lload 3 /* end */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface java.util.SortedMap.headMap:(Ljava/lang/Object;)Ljava/util/SortedMap;
            astore 9 /* headMap */
        start local 9 // java.util.SortedMap headMap
         7: .line 1013
            aload 9 /* headMap */
            invokeinterface java.util.SortedMap.isEmpty:()Z
            ifne 11
         8: .line 1014
            aload 9 /* headMap */
            invokeinterface java.util.SortedMap.lastKey:()Ljava/lang/Object;
            checkcast java.lang.Long
            astore 10 /* endAddr */
        start local 10 // java.lang.Long endAddr
         9: .line 1015
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly.addressMap:Ljava/util/SortedMap;
            aload 10 /* endAddr */
            invokeinterface java.util.SortedMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 11 /* endIdx */
        start local 11 // java.lang.Integer endIdx
        10: .line 1016
            goto 12
        end local 11 // java.lang.Integer endIdx
        end local 10 // java.lang.Long endAddr
        11: .line 1017
      StackMap locals: java.util.SortedMap
      StackMap stack:
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
        start local 10 // java.lang.Long endAddr
        start local 11 // java.lang.Integer endIdx
        12: .line 1020
      StackMap locals: java.lang.Long java.lang.Integer
      StackMap stack:
            iconst_0
            aload 8 /* beginIdx */
            invokevirtual java.lang.Integer.intValue:()I
            iload 5 /* window */
            isub
            invokestatic java.lang.Math.max:(II)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 8 /* beginIdx */
        13: .line 1021
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly.lines:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            aload 11 /* endIdx */
            invokevirtual java.lang.Integer.intValue:()I
            iconst_2
            iadd
            iload 5 /* window */
            iadd
            invokestatic java.lang.Math.min:(II)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 11 /* endIdx */
        14: .line 1024
            aload 8 /* beginIdx */
            invokevirtual java.lang.Integer.intValue:()I
            aload 11 /* endIdx */
            invokevirtual java.lang.Integer.intValue:()I
            if_icmpge 16
        15: .line 1025
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly.lines:Ljava/util/List;
            aload 8 /* beginIdx */
            invokevirtual java.lang.Integer.intValue:()I
            aload 11 /* endIdx */
            invokevirtual java.lang.Integer.intValue:()I
            invokeinterface java.util.List.subList:(II)Ljava/util/List;
            areturn
        16: .line 1027
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
        end local 11 // java.lang.Integer endIdx
        end local 10 // java.lang.Long endAddr
        end local 9 // java.util.SortedMap headMap
        end local 8 // java.lang.Integer beginIdx
        end local 7 // java.lang.Long beginAddr
        end local 6 // java.util.SortedMap tailMap
        end local 5 // int window
        end local 3 // long end
        end local 1 // long begin
        end local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$Assembly;
            0   17     1      begin  J
            0   17     3        end  J
            0   17     5     window  I
            1   17     6    tailMap  Ljava/util/SortedMap<Ljava/lang/Long;Ljava/lang/Integer;>;
            3    5     7  beginAddr  Ljava/lang/Long;
            6   17     7  beginAddr  Ljava/lang/Long;
            4    5     8   beginIdx  Ljava/lang/Integer;
            6   17     8   beginIdx  Ljava/lang/Integer;
            7   17     9    headMap  Ljava/util/SortedMap<Ljava/lang/Long;Ljava/lang/Integer;>;
            9   11    10    endAddr  Ljava/lang/Long;
           12   17    10    endAddr  Ljava/lang/Long;
           10   11    11     endIdx  Ljava/lang/Integer;
           12   17    11     endIdx  Ljava/lang/Integer;
    Signature: (JJI)Ljava/util/List<Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$ASMLine;>;
    MethodParameters:
        Name  Flags
      begin   
      end     
      window  

  public org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc getMethod(long);
    descriptor: (J)Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$MethodDesc;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly this
        start local 1 // long addr
         0: .line 1032
            aload 0 /* this */
            getfield org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly.methodMap:Lorg/openjdk/jmh/util/IntervalMap;
            lload 1 /* addr */
            invokevirtual org.openjdk.jmh.util.IntervalMap.get:(J)Ljava/lang/Object;
            checkcast org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc
            areturn
        end local 1 // long addr
        end local 0 // org.openjdk.jmh.profile.AbstractPerfAsmProfiler$Assembly this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/openjdk/jmh/profile/AbstractPerfAsmProfiler$Assembly;
            0    1     1  addr  J
    MethodParameters:
      Name  Flags
      addr  
}
SourceFile: "AbstractPerfAsmProfiler.java"
NestHost: org.openjdk.jmh.profile.AbstractPerfAsmProfiler
InnerClasses:
  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
  MethodDesc = org.openjdk.jmh.profile.AbstractPerfAsmProfiler$MethodDesc of org.openjdk.jmh.profile.AbstractPerfAsmProfiler