final class com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram
  super_class: java.lang.Object
{
  private final java.lang.Class<?> nodeClass;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

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

  private final com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics nodeStat;
    descriptor: Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics[] specializationStat;
    descriptor: [Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<java.util.Map<com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination, com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics>> typeCombinationStat;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/util/Map<Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;>;>;

  private final java.util.Map<java.util.BitSet, com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics[]> specializationCombinationStat;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/util/BitSet;[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;>;

  private final java.util.Map<java.util.BitSet, com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics> specializationCombinationSumStat;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/util/BitSet;Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;>;

  void <init>(java.lang.Class<?>, java.lang.String[]);
    descriptor: (Ljava/lang/Class;[Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram this
        start local 1 // java.lang.Class nodeClass
        start local 2 // java.lang.String[] specializationNames
         0: .line 338
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 339
            aload 0 /* this */
            aload 1 /* nodeClass */
            putfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeClass:Ljava/lang/Class;
         2: .line 340
            aload 0 /* this */
            aload 2 /* specializationNames */
            putfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationNames:[Ljava/lang/String;
         3: .line 341
            aload 0 /* this */
            new java.util.ArrayList
            dup
            aload 2 /* specializationNames */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.typeCombinationStat:Ljava/util/List;
         4: .line 342
            aload 0 /* this */
            aload 2 /* specializationNames */
            arraylength
            anewarray com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics
            putfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationStat:[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
         5: .line 343
            aload 0 /* this */
            new com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics
            dup
            invokespecial com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.<init>:()V
            putfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeStat:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
         6: .line 344
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         7: goto 11
         8: .line 345
      StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram java.lang.Class java.lang.String[] int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.typeCombinationStat:Ljava/util/List;
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 346
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationStat:[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
            iload 3 /* i */
            new com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics
            dup
            invokespecial com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.<init>:()V
            aastore
        10: .line 344
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* i */
            aload 2 /* specializationNames */
            arraylength
            if_icmplt 8
        end local 3 // int i
        12: .line 348
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationCombinationStat:Ljava/util/Map;
        13: .line 349
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationCombinationSumStat:Ljava/util/Map;
        14: .line 350
            return
        end local 2 // java.lang.String[] specializationNames
        end local 1 // java.lang.Class nodeClass
        end local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   15     0                 this  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;
            0   15     1            nodeClass  Ljava/lang/Class<*>;
            0   15     2  specializationNames  [Ljava/lang/String;
            7   12     3                    i  I
    Signature: (Ljava/lang/Class<*>;[Ljava/lang/String;)V
    MethodParameters:
                     Name  Flags
      nodeClass            
      specializationNames  

  java.lang.Class<?> getNodeClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram this
         0: .line 353
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeClass:Ljava/lang/Class;
            areturn
        end local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;
    Signature: ()Ljava/lang/Class<*>;

  java.lang.String[] getSpecializationNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram this
         0: .line 357
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationNames:[Ljava/lang/String;
            areturn
        end local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;

  com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics getNodeStat();
    descriptor: ()Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram this
         0: .line 361
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeStat:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
            areturn
        end local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;

  void accept(com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics);
    descriptor: (Lcom/oracle/truffle/api/dsl/SpecializationStatistics$EnabledNodeStatistics;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=11, args_size=2
        start local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram this
        start local 1 // com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics statistics
         0: .line 365
            iconst_0
            istore 2 /* nodeSum */
        start local 2 // int nodeSum
         1: .line 366
            aload 1 /* statistics */
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            astore 3 /* sourceSection */
        start local 3 // com.oracle.truffle.api.source.SourceSection sourceSection
         2: .line 367
            new java.util.BitSet
            dup
            invokespecial java.util.BitSet.<init>:()V
            astore 4 /* enabledBitSet */
        start local 4 // java.util.BitSet enabledBitSet
         3: .line 369
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 19
         5: .line 370
      StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics int com.oracle.truffle.api.source.SourceSection java.util.BitSet int
      StackMap stack:
            aload 1 /* statistics */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics.specializations:[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;
            iload 5 /* i */
            aaload
            astore 6 /* combination */
        start local 6 // com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination combination
         6: .line 371
            iconst_0
            istore 7 /* specializationSum */
        start local 7 // int specializationSum
         7: .line 372
            goto 13
         8: .line 373
      StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination int
      StackMap stack:
            aload 6 /* combination */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination.executionCount:I
            istore 8 /* count */
        start local 8 // int count
         9: .line 374
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.typeCombinationStat:Ljava/util/List;
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.util.Map
            aload 6 /* combination */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram.lambda$0(Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;)Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics; (6)
                  (Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;)Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics
            astore 9 /* typeCombination */
        start local 9 // com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics typeCombination
        10: .line 375
            aload 9 /* typeCombination */
            iload 8 /* count */
            aload 3 /* sourceSection */
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.accept:(ILcom/oracle/truffle/api/source/SourceSection;)V
        11: .line 376
            aload 6 /* combination */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination.next:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;
            astore 6 /* combination */
        12: .line 377
            iload 7 /* specializationSum */
            iload 8 /* count */
            iadd
            istore 7 /* specializationSum */
        end local 9 // com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics typeCombination
        end local 8 // int count
        13: .line 372
      StackMap locals:
      StackMap stack:
            aload 6 /* combination */
            ifnonnull 8
        14: .line 379
            iload 2 /* nodeSum */
            iload 7 /* specializationSum */
            iadd
            istore 2 /* nodeSum */
        15: .line 380
            iload 7 /* specializationSum */
            ifeq 18
        16: .line 381
            aload 4 /* enabledBitSet */
            iload 5 /* i */
            invokevirtual java.util.BitSet.set:(I)V
        17: .line 382
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationStat:[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
            iload 5 /* i */
            aaload
            iload 7 /* specializationSum */
            aload 3 /* sourceSection */
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.accept:(ILcom/oracle/truffle/api/source/SourceSection;)V
        end local 7 // int specializationSum
        end local 6 // com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination combination
        18: .line 369
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 5 /* i */
            aload 1 /* statistics */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics.specializations:[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;
            arraylength
            if_icmplt 5
        end local 5 // int i
        20: .line 385
            iload 2 /* nodeSum */
            ifne 22
        21: .line 387
            return
        22: .line 389
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationCombinationSumStat:Ljava/util/Map;
            aload 4 /* enabledBitSet */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram.lambda$1(Ljava/util/BitSet;)Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics; (6)
                  (Ljava/util/BitSet;)Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics
            astore 5 /* combinationSumStat */
        start local 5 // com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics combinationSumStat
        23: .line 390
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationCombinationStat:Ljava/util/Map;
            aload 4 /* enabledBitSet */
            aload 0 /* this */
            invokedynamic apply(Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram.lambda$2(Ljava/util/BitSet;)[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics; (7)
                  (Ljava/util/BitSet;)[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics[]
            astore 6 /* combinationSpecializations */
        start local 6 // com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics[] combinationSpecializations
        24: .line 391
            iconst_0
            istore 7 /* combinationSum */
        start local 7 // int combinationSum
        25: .line 392
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        26: goto 39
        27: .line 393
      StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics int com.oracle.truffle.api.source.SourceSection java.util.BitSet com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics[] int int
      StackMap stack:
            aload 1 /* statistics */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics.specializations:[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;
            iload 8 /* i */
            aaload
            astore 9 /* combination */
        start local 9 // com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination combination
        28: .line 394
            iconst_0
            istore 10 /* specializationSum */
        start local 10 // int specializationSum
        29: .line 395
            goto 32
        30: .line 396
      StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination int
      StackMap stack:
            iload 10 /* specializationSum */
            aload 9 /* combination */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination.executionCount:I
            iadd
            istore 10 /* specializationSum */
        31: .line 397
            aload 9 /* combination */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination.next:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;
            astore 9 /* combination */
        32: .line 395
      StackMap locals:
      StackMap stack:
            aload 9 /* combination */
            ifnonnull 30
        33: .line 399
            iload 10 /* specializationSum */
            ifeq 38
        34: .line 400
            iload 7 /* combinationSum */
            iload 10 /* specializationSum */
            iadd
            istore 7 /* combinationSum */
        35: .line 401
            aload 6 /* combinationSpecializations */
            iload 8 /* i */
            aaload
            ifnonnull 37
        36: .line 402
            aload 6 /* combinationSpecializations */
            iload 8 /* i */
            new com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics
            dup
            invokespecial com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.<init>:()V
            aastore
        37: .line 404
      StackMap locals:
      StackMap stack:
            aload 6 /* combinationSpecializations */
            iload 8 /* i */
            aaload
            iload 10 /* specializationSum */
            aload 3 /* sourceSection */
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.accept:(ILcom/oracle/truffle/api/source/SourceSection;)V
        end local 10 // int specializationSum
        end local 9 // com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination combination
        38: .line 392
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        39: iload 8 /* i */
            aload 1 /* statistics */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics.specializations:[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;
            arraylength
            if_icmplt 27
        end local 8 // int i
        40: .line 407
            aload 5 /* combinationSumStat */
            iload 7 /* combinationSum */
            aload 3 /* sourceSection */
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.accept:(ILcom/oracle/truffle/api/source/SourceSection;)V
        41: .line 409
            iload 2 /* nodeSum */
            ifeq 43
        42: .line 410
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeStat:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
            iload 2 /* nodeSum */
            aload 3 /* sourceSection */
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.accept:(ILcom/oracle/truffle/api/source/SourceSection;)V
        43: .line 412
      StackMap locals:
      StackMap stack:
            return
        end local 7 // int combinationSum
        end local 6 // com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics[] combinationSpecializations
        end local 5 // com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics combinationSumStat
        end local 4 // java.util.BitSet enabledBitSet
        end local 3 // com.oracle.truffle.api.source.SourceSection sourceSection
        end local 2 // int nodeSum
        end local 1 // com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics statistics
        end local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   44     0                        this  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;
            0   44     1                  statistics  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$EnabledNodeStatistics;
            1   44     2                     nodeSum  I
            2   44     3               sourceSection  Lcom/oracle/truffle/api/source/SourceSection;
            3   44     4               enabledBitSet  Ljava/util/BitSet;
            4   20     5                           i  I
            6   18     6                 combination  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;
            7   18     7           specializationSum  I
            9   13     8                       count  I
           10   13     9             typeCombination  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
           23   44     5          combinationSumStat  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
           24   44     6  combinationSpecializations  [Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
           25   44     7              combinationSum  I
           26   40     8                           i  I
           28   38     9                 combination  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;
           29   38    10           specializationSum  I
    MethodParameters:
            Name  Flags
      statistics  

  void combine(com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram);
    descriptor: (Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram this
        start local 1 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram nodeClassStatistics
         0: .line 415
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 14
         2: .line 416
      StackMap locals: int
      StackMap stack:
            aload 1 /* nodeClassStatistics */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.typeCombinationStat:Ljava/util/List;
            iload 2 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.util.Map
            astore 3 /* statistics */
        start local 3 // java.util.Map statistics
         3: .line 417
            aload 3 /* statistics */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 6
      StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram int java.util.Map top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* executionStat */
        start local 4 // java.util.Map$Entry executionStat
         5: .line 418
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.typeCombinationStat:Ljava/util/List;
            iload 2 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.util.Map
            aload 4 /* executionStat */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram.lambda$3(Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;)Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics; (6)
                  (Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;)Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics
            aload 4 /* executionStat */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.combine:(Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;)V
        end local 4 // java.util.Map$Entry executionStat
         6: .line 417
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 420
            iconst_0
            istore 4 /* j */
        start local 4 // int j
         8: goto 11
         9: .line 421
      StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram int java.util.Map int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationStat:[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
            iload 4 /* j */
            aaload
            aload 1 /* nodeClassStatistics */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationStat:[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
            iload 2 /* i */
            aaload
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.combine:(Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;)V
        10: .line 420
            iinc 4 /* j */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* j */
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationStat:[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
            arraylength
            if_icmplt 9
        end local 4 // int j
        12: .line 423
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeStat:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
            aload 1 /* nodeClassStatistics */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeStat:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.combine:(Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;)V
        end local 3 // java.util.Map statistics
        13: .line 415
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 2 /* i */
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.typeCombinationStat:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 2
        end local 2 // int i
        15: .line 425
            return
        end local 1 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram nodeClassStatistics
        end local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   16     0                 this  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;
            0   16     1  nodeClassStatistics  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;
            1   15     2                    i  I
            3   13     3           statistics  Ljava/util/Map<Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;>;
            5    6     4        executionStat  Ljava/util/Map$Entry<Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;>;
            8   12     4                    j  I
    MethodParameters:
                     Name  Flags
      nodeClassStatistics  

  void print(java.io.PrintWriter, int, long, long);
    descriptor: (Ljava/io/PrintWriter;IJJ)V
    flags: (0x0000) 
    Code:
      stack=9, locals=18, args_size=5
        start local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram this
        start local 1 // java.io.PrintWriter stream
        start local 2 // int width
        start local 3 // long parentCount
        start local 5 // long parentSum
         0: .line 429
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeStat:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getCount:()J
            lconst_0
            lcmp
            ifne 2
         1: .line 430
            return
         2: .line 432
      StackMap locals:
      StackMap stack:
            aload 1 /* stream */
            new java.lang.StringBuilder
            dup
            ldc "| %-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* width */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "s         Instances          Executions     Executions per instance %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
            ldc "Name"
            aastore
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
         3: .line 433
            aload 1 /* stream */
            ldc " "
            iload 2 /* width */
            invokestatic com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.printLine:(Ljava/io/PrintWriter;Ljava/lang/String;I)V
         4: .line 435
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.getDisplayName:()Ljava/lang/String;
            astore 7 /* className */
        start local 7 // java.lang.String className
         5: .line 437
            aload 1 /* stream */
            ldc "| "
            aload 7 /* className */
            iload 2 /* width */
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeStat:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
            lload 3 /* parentCount */
            lload 5 /* parentSum */
            invokestatic com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.printStats:(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;ILcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;JJ)V
         6: .line 438
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         7: goto 19
         8: .line 439
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.typeCombinationStat:Ljava/util/List;
            iload 8 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.util.Map
            invokeinterface java.util.Map.size:()I
            istore 9 /* size */
        start local 9 // int size
         9: .line 440
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationNames:[Ljava/lang/String;
            iload 8 /* i */
            aaload
            astore 10 /* specializationLabel */
        start local 10 // java.lang.String specializationLabel
        10: .line 441
            iload 9 /* size */
            iconst_1
            if_icmpne 12
        11: .line 442
            new java.lang.StringBuilder
            dup
            aload 10 /* specializationLabel */
            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 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.typeCombinationStat:Ljava/util/List;
            iload 8 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.util.Map
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination.getDisplayName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* specializationLabel */
        12: .line 444
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 1 /* stream */
            ldc "|   "
            aload 10 /* specializationLabel */
            iload 2 /* width */
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationStat:[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
            iload 8 /* i */
            aaload
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeStat:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getCount:()J
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeStat:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getSum:()J
            invokestatic com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.printStats:(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;ILcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;JJ)V
        13: .line 445
            iload 9 /* size */
            iconst_1
            if_icmple 18
        14: .line 446
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.typeCombinationStat:Ljava/util/List;
            iload 8 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.util.Map
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 12
            goto 17
      StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram java.io.PrintWriter int long long java.lang.String int int java.lang.String top java.util.Iterator
      StackMap stack:
        15: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 11 /* entry */
        start local 11 // java.util.Map$Entry entry
        16: .line 447
            aload 1 /* stream */
            ldc "|     "
            aload 11 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination.getDisplayName:()Ljava/lang/String;
            iload 2 /* width */
            aload 11 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationStat:[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
            iload 8 /* i */
            aaload
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getCount:()J
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationStat:[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
            iload 8 /* i */
            aaload
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getSum:()J
            invokestatic com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.printStats:(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;ILcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;JJ)V
        end local 11 // java.util.Map$Entry entry
        17: .line 446
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        end local 10 // java.lang.String specializationLabel
        end local 9 // int size
        18: .line 438
      StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram java.io.PrintWriter int long long java.lang.String int
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 8 /* i */
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationNames:[Ljava/lang/String;
            arraylength
            if_icmplt 8
        end local 8 // int i
        20: .line 452
            aload 1 /* stream */
            ldc "|   "
            iload 2 /* width */
            invokestatic com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.printLine:(Ljava/io/PrintWriter;Ljava/lang/String;I)V
        21: .line 454
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 8 /* printedCombinations */
        start local 8 // java.util.Set printedCombinations
        22: .line 455
            iconst_0
            istore 9 /* specialization */
        start local 9 // int specialization
        23: goto 54
        24: .line 456
      StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram java.io.PrintWriter int long long java.lang.String java.util.Set int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationCombinationStat:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 11
            goto 52
      StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram java.io.PrintWriter int long long java.lang.String java.util.Set int top java.util.Iterator
      StackMap stack:
        25: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.BitSet
            astore 10 /* specializations */
        start local 10 // java.util.BitSet specializations
        26: .line 457
            aload 8 /* printedCombinations */
            aload 10 /* specializations */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 28
        27: .line 458
            goto 52
        28: .line 462
      StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram java.io.PrintWriter int long long java.lang.String java.util.Set int java.util.BitSet java.util.Iterator
      StackMap stack:
            aload 10 /* specializations */
            iload 9 /* specialization */
            invokevirtual java.util.BitSet.get:(I)Z
            ifne 30
        29: .line 463
            goto 52
        30: .line 465
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationCombinationSumStat:Ljava/util/Map;
            aload 10 /* specializations */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics
            astore 12 /* statistics */
        start local 12 // com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics statistics
        31: .line 466
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationCombinationStat:Ljava/util/Map;
            aload 10 /* specializations */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics[]
            astore 13 /* specializationStatistics */
        start local 13 // com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics[] specializationStatistics
        32: .line 467
            iconst_0
            istore 14 /* specializationIndex */
        start local 14 // int specializationIndex
        33: .line 468
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 15 /* label */
        start local 15 // java.lang.StringBuilder label
        34: .line 469
            ldc ""
            astore 16 /* sep */
        start local 16 // java.lang.String sep
        35: .line 470
            iconst_0
            istore 17 /* bits */
        start local 17 // int bits
        36: .line 471
            goto 42
        37: .line 472
      StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram java.io.PrintWriter int long long java.lang.String java.util.Set int java.util.BitSet java.util.Iterator com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics[] int java.lang.StringBuilder java.lang.String int
      StackMap stack:
            aload 15 /* label */
            aload 16 /* sep */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        38: .line 473
            aload 15 /* label */
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationNames:[Ljava/lang/String;
            iload 14 /* specializationIndex */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        39: .line 474
            ldc ", "
            astore 16 /* sep */
        40: .line 475
            iinc 14 /* specializationIndex */ 1
        41: .line 476
            iinc 17 /* bits */ 1
        42: .line 471
      StackMap locals:
      StackMap stack:
            aload 10 /* specializations */
            iload 14 /* specializationIndex */
            invokevirtual java.util.BitSet.nextSetBit:(I)I
            dup
            istore 14 /* specializationIndex */
            iconst_m1
            if_icmpne 37
        43: .line 478
            aload 15 /* label */
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        44: .line 479
            aload 1 /* stream */
            ldc "|   "
            aload 15 /* label */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iload 2 /* width */
            aload 12 /* statistics */
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeStat:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getCount:()J
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeStat:Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getSum:()J
            invokestatic com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.printStats:(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;ILcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;JJ)V
        45: .line 481
            iload 17 /* bits */
            iconst_1
            if_icmple 51
        46: .line 482
            iconst_0
            istore 14 /* specializationIndex */
        47: .line 483
            goto 50
        48: .line 484
      StackMap locals:
      StackMap stack:
            aload 1 /* stream */
            ldc "|     "
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationNames:[Ljava/lang/String;
            iload 14 /* specializationIndex */
            aaload
            iload 2 /* width */
            aload 13 /* specializationStatistics */
            iload 14 /* specializationIndex */
            aaload
            aload 12 /* statistics */
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getCount:()J
            aload 12 /* statistics */
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getSum:()J
            invokestatic com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.printStats:(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;ILcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;JJ)V
        49: .line 485
            iinc 14 /* specializationIndex */ 1
        50: .line 483
      StackMap locals:
      StackMap stack:
            aload 10 /* specializations */
            iload 14 /* specializationIndex */
            invokevirtual java.util.BitSet.nextSetBit:(I)I
            dup
            istore 14 /* specializationIndex */
            iconst_m1
            if_icmpne 48
        51: .line 489
      StackMap locals:
      StackMap stack:
            aload 8 /* printedCombinations */
            aload 10 /* specializations */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 17 // int bits
        end local 16 // java.lang.String sep
        end local 15 // java.lang.StringBuilder label
        end local 14 // int specializationIndex
        end local 13 // com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics[] specializationStatistics
        end local 12 // com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics statistics
        end local 10 // java.util.BitSet specializations
        52: .line 456
      StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram java.io.PrintWriter int long long java.lang.String java.util.Set int top java.util.Iterator
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 25
        53: .line 455
            iinc 9 /* specialization */ 1
      StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram java.io.PrintWriter int long long java.lang.String java.util.Set int
      StackMap stack:
        54: iload 9 /* specialization */
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationNames:[Ljava/lang/String;
            arraylength
            if_icmplt 24
        end local 9 // int specialization
        55: .line 493
            aload 1 /* stream */
            ldc " "
            iload 2 /* width */
            invokestatic com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.printLine:(Ljava/io/PrintWriter;Ljava/lang/String;I)V
        56: .line 494
            return
        end local 8 // java.util.Set printedCombinations
        end local 7 // java.lang.String className
        end local 5 // long parentSum
        end local 3 // long parentCount
        end local 2 // int width
        end local 1 // java.io.PrintWriter stream
        end local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   57     0                      this  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;
            0   57     1                    stream  Ljava/io/PrintWriter;
            0   57     2                     width  I
            0   57     3               parentCount  J
            0   57     5                 parentSum  J
            5   57     7                 className  Ljava/lang/String;
            7   20     8                         i  I
            9   18     9                      size  I
           10   18    10       specializationLabel  Ljava/lang/String;
           16   17    11                     entry  Ljava/util/Map$Entry<Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;>;
           22   57     8       printedCombinations  Ljava/util/Set<Ljava/util/BitSet;>;
           23   55     9            specialization  I
           26   52    10           specializations  Ljava/util/BitSet;
           31   52    12                statistics  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
           32   52    13  specializationStatistics  [Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
           33   52    14       specializationIndex  I
           34   52    15                     label  Ljava/lang/StringBuilder;
           35   52    16                       sep  Ljava/lang/String;
           36   52    17                      bits  I
    MethodParameters:
             Name  Flags
      stream       
      width        
      parentCount  
      parentSum    

  static void printLine(java.io.PrintWriter, java.lang.String, int);
    descriptor: (Ljava/io/PrintWriter;Ljava/lang/String;I)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.io.PrintWriter stream
        start local 1 // java.lang.String indent
        start local 2 // int width
         0: .line 497
            aload 0 /* stream */
            aload 1 /* indent */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         1: .line 498
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 499
      StackMap locals: int
      StackMap stack:
            aload 0 /* stream */
            bipush 45
            invokevirtual java.io.PrintWriter.print:(C)V
         4: .line 498
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            iload 2 /* width */
            bipush 100
            iadd
            aload 1 /* indent */
            invokevirtual java.lang.String.length:()I
            isub
            if_icmplt 3
        end local 3 // int i
         6: .line 501
            aload 0 /* stream */
            invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         7: .line 502
            return
        end local 2 // int width
        end local 1 // java.lang.String indent
        end local 0 // java.io.PrintWriter stream
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0  stream  Ljava/io/PrintWriter;
            0    8     1  indent  Ljava/lang/String;
            0    8     2   width  I
            2    6     3       i  I
    MethodParameters:
        Name  Flags
      stream  
      indent  
      width   

  private java.lang.String getDisplayName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram this
         0: .line 505
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            astore 1 /* className */
        start local 1 // java.lang.String className
         1: .line 506
            aload 1 /* className */
            ldc "Uncached"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         2: .line 507
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.nodeClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getEnclosingClass:()Ljava/lang/Class;
            astore 2 /* enclosing */
        start local 2 // java.lang.Class enclosing
         3: .line 508
            aload 2 /* enclosing */
            ifnull 5
         4: .line 509
            new java.lang.StringBuilder
            dup
            aload 2 /* enclosing */
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* className */
        end local 2 // java.lang.Class enclosing
         5: .line 512
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* className */
            areturn
        end local 1 // java.lang.String className
        end local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;
            1    6     1  className  Ljava/lang/String;
            3    5     2  enclosing  Ljava/lang/Class<*>;

  private int getLabelWidth();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram this
         0: .line 516
            iconst_0
            istore 1 /* width */
        start local 1 // int width
         1: .line 517
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.getDisplayName:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iload 1 /* width */
            invokestatic java.lang.Math.max:(II)I
            istore 1 /* width */
         2: .line 518
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationNames:[Ljava/lang/String;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 6
      StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram int top int int java.lang.String[]
      StackMap stack:
         3: aload 5
            iload 3
            aaload
            astore 2 /* name */
        start local 2 // java.lang.String name
         4: .line 519
            aload 2 /* name */
            invokevirtual java.lang.String.length:()I
            iload 1 /* width */
            invokestatic java.lang.Math.max:(II)I
            istore 1 /* width */
        end local 2 // java.lang.String name
         5: .line 518
            iinc 3 1
      StackMap locals:
      StackMap stack:
         6: iload 3
            iload 4
            if_icmplt 3
         7: .line 521
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.typeCombinationStat:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 13
      StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram int top java.util.Iterator
      StackMap stack:
         8: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map
            astore 2 /* executionStat */
        start local 2 // java.util.Map executionStat
         9: .line 522
            aload 2 /* executionStat */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 12
      StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram int java.util.Map java.util.Iterator top java.util.Iterator
      StackMap stack:
        10: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination
            astore 4 /* combination */
        start local 4 // com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination combination
        11: .line 523
            aload 4 /* combination */
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination.getDisplayName:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iload 1 /* width */
            invokestatic java.lang.Math.max:(II)I
            istore 1 /* width */
        end local 4 // com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination combination
        12: .line 522
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        end local 2 // java.util.Map executionStat
        13: .line 521
      StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram int top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        14: .line 526
            iload 1 /* width */
            ireturn
        end local 1 // int width
        end local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0           this  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;
            1   15     1          width  I
            4    5     2           name  Ljava/lang/String;
            9   13     2  executionStat  Ljava/util/Map<Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;>;
           11   12     4    combination  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;

  private static void printStats(java.io.PrintWriter, java.lang.String, java.lang.String, int, com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics, long, long);
    descriptor: (Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;ILcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;JJ)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=11, args_size=7
        start local 0 // java.io.PrintWriter stream
        start local 1 // java.lang.String indent
        start local 2 // java.lang.String label
        start local 3 // int labelWidth
        start local 4 // com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics nodeStats
        start local 5 // long parentCount
        start local 7 // long parentSum
         0: .line 530
            ldc "(%.0f%%)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* nodeStats */
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getCount:()J
            l2d
            lload 5 /* parentCount */
            l2d
            ddiv
            ldc 100.0
            dmul
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 9 /* countPercent */
        start local 9 // java.lang.String countPercent
         1: .line 531
            ldc "(%.0f%%)"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* nodeStats */
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getSum:()J
            l2d
            lload 7 /* parentSum */
            l2d
            ddiv
            ldc 100.0
            dmul
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 10 /* sumPercent */
        start local 10 // java.lang.String sumPercent
         2: .line 532
            aload 0 /* stream */
            new java.lang.StringBuilder
            dup
            ldc "%s%-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* labelWidth */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "s  %8d %-6s %12d %-6s       Min=%10d Avg=%12.2f Max= %10d  MaxNode= %s %n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            bipush 10
            anewarray java.lang.Object
            dup
            iconst_0
         3: .line 533
            aload 1 /* indent */
            aastore
            dup
            iconst_1
            aload 2 /* label */
            aastore
            dup
            iconst_2
         4: .line 534
            aload 4 /* nodeStats */
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getCount:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_3
            aload 9 /* countPercent */
            aastore
            dup
            iconst_4
         5: .line 535
            aload 4 /* nodeStats */
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getSum:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_5
            aload 10 /* sumPercent */
            aastore
            dup
            bipush 6
         6: .line 536
            aload 4 /* nodeStats */
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getMin:()I
            ldc 2147483647
            if_icmpne 7
            iconst_0
            goto 8
      StackMap locals: java.io.PrintWriter java.lang.String java.lang.String int com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics long long java.lang.String java.lang.String
      StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int
         7: aload 4 /* nodeStats */
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getMin:()I
      StackMap locals: java.io.PrintWriter java.lang.String java.lang.String int com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics long long java.lang.String java.lang.String
      StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int int
         8: invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            bipush 7
         9: .line 537
            aload 4 /* nodeStats */
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getAverage:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            dup
            bipush 8
            aload 4 /* nodeStats */
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getMax:()I
            ldc -2147483648
            if_icmpne 10
            iconst_0
            goto 11
      StackMap locals: java.io.PrintWriter java.lang.String java.lang.String int com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics long long java.lang.String java.lang.String
      StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int
        10: aload 4 /* nodeStats */
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getMax:()I
      StackMap locals: java.io.PrintWriter java.lang.String java.lang.String int com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics long long java.lang.String java.lang.String
      StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int int
        11: invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            bipush 9
        12: .line 538
            aload 4 /* nodeStats */
            aload 4 /* nodeStats */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.maxSourceSection:Lcom/oracle/truffle/api/source/SourceSection;
            invokestatic com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.formatSourceSection:(Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;Lcom/oracle/truffle/api/source/SourceSection;)Ljava/lang/String;
            aastore
        13: .line 532
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        14: .line 539
            return
        end local 10 // java.lang.String sumPercent
        end local 9 // java.lang.String countPercent
        end local 7 // long parentSum
        end local 5 // long parentCount
        end local 4 // com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics nodeStats
        end local 3 // int labelWidth
        end local 2 // java.lang.String label
        end local 1 // java.lang.String indent
        end local 0 // java.io.PrintWriter stream
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0        stream  Ljava/io/PrintWriter;
            0   15     1        indent  Ljava/lang/String;
            0   15     2         label  Ljava/lang/String;
            0   15     3    labelWidth  I
            0   15     4     nodeStats  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
            0   15     5   parentCount  J
            0   15     7     parentSum  J
            1   15     9  countPercent  Ljava/lang/String;
            2   15    10    sumPercent  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      stream       
      indent       
      label        
      labelWidth   
      nodeStats    
      parentCount  
      parentSum    

  private static java.lang.String formatSourceSection(com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics, com.oracle.truffle.api.source.SourceSection);
    descriptor: (Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;Lcom/oracle/truffle/api/source/SourceSection;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics stats
        start local 1 // com.oracle.truffle.api.source.SourceSection s
         0: .line 543
            aload 1 /* s */
            ifnonnull 4
         1: .line 544
            aload 0 /* stats */
            invokevirtual com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.getCount:()J
            lconst_0
            lcmp
            ifle 3
         2: .line 545
            ldc "N/A"
            areturn
         3: .line 547
      StackMap locals:
      StackMap stack:
            ldc " - "
            areturn
         4: .line 550
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* b */
        start local 2 // java.lang.StringBuilder b
         5: .line 551
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokevirtual com.oracle.truffle.api.source.Source.getPath:()Ljava/lang/String;
            ifnonnull 8
         6: .line 552
            aload 2 /* b */
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 553
            goto 15
         8: .line 554
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokevirtual com.oracle.truffle.api.source.Source.getPath:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 3 /* pathAbsolute */
        start local 3 // java.nio.file.Path pathAbsolute
         9: .line 555
            new java.io.File
            dup
            ldc ""
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.getAbsoluteFile:()Ljava/io/File;
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            astore 4 /* pathBase */
        start local 4 // java.nio.file.Path pathBase
        10: .line 557
            aload 4 /* pathBase */
            aload 3 /* pathAbsolute */
            invokeinterface java.nio.file.Path.relativize:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
            astore 5 /* pathRelative */
        start local 5 // java.nio.file.Path pathRelative
        11: .line 558
            aload 2 /* b */
            aload 5 /* pathRelative */
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        end local 5 // java.nio.file.Path pathRelative
        12: .line 559
            goto 15
      StackMap locals: com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics com.oracle.truffle.api.source.SourceSection java.lang.StringBuilder java.nio.file.Path java.nio.file.Path
      StackMap stack: java.lang.IllegalArgumentException
        13: pop
        14: .line 560
            aload 2 /* b */
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 4 // java.nio.file.Path pathBase
        end local 3 // java.nio.file.Path pathAbsolute
        15: .line 563
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            ldc "~"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 564
            aload 2 /* b */
            aload 1 /* s */
            invokestatic com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.formatIndices:(Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/source/SourceSection;)V
        17: .line 565
            aload 2 /* b */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder b
        end local 1 // com.oracle.truffle.api.source.SourceSection s
        end local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics stats
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   18     0         stats  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
            0   18     1             s  Lcom/oracle/truffle/api/source/SourceSection;
            5   18     2             b  Ljava/lang/StringBuilder;
            9   15     3  pathAbsolute  Ljava/nio/file/Path;
           10   15     4      pathBase  Ljava/nio/file/Path;
           11   12     5  pathRelative  Ljava/nio/file/Path;
      Exception table:
        from    to  target  type
          10    12      13  Class java.lang.IllegalArgumentException
    MethodParameters:
       Name  Flags
      stats  
      s      

  private static void formatIndices(java.lang.StringBuilder, com.oracle.truffle.api.source.SourceSection);
    descriptor: (Ljava/lang/StringBuilder;Lcom/oracle/truffle/api/source/SourceSection;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.StringBuilder b
        start local 1 // com.oracle.truffle.api.source.SourceSection s
         0: .line 569
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getEndLine:()I
            if_icmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* singleLine */
        start local 2 // boolean singleLine
         3: .line 570
            iload 2 /* singleLine */
            ifeq 6
         4: .line 571
            aload 0 /* b */
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
         5: .line 572
            goto 7
         6: .line 573
      StackMap locals: int
      StackMap stack:
            aload 0 /* b */
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getEndLine:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
         7: .line 575
      StackMap locals:
      StackMap stack:
            aload 0 /* b */
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 576
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getCharLength:()I
            iconst_1
            if_icmpgt 11
         9: .line 577
            aload 0 /* b */
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getCharIndex:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        10: .line 578
            goto 12
        11: .line 579
      StackMap locals:
      StackMap stack:
            aload 0 /* b */
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getCharIndex:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getCharIndex:()I
            aload 1 /* s */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getCharLength:()I
            iadd
            iconst_1
            isub
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        12: .line 581
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean singleLine
        end local 1 // com.oracle.truffle.api.source.SourceSection s
        end local 0 // java.lang.StringBuilder b
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0           b  Ljava/lang/StringBuilder;
            0   13     1           s  Lcom/oracle/truffle/api/source/SourceSection;
            3   13     2  singleLine  Z
    MethodParameters:
      Name  Flags
      b     
      s     

  private static com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics lambda$0(com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination);
    descriptor: (Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;)Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination c
         0: .line 374
            new com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics
            dup
            invokespecial com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.<init>:()V
            areturn
        end local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;

  private static com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics lambda$1(java.util.BitSet);
    descriptor: (Ljava/util/BitSet;)Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.BitSet b
         0: .line 389
            new com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics
            dup
            invokespecial com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.<init>:()V
            areturn
        end local 0 // java.util.BitSet b
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     b  Ljava/util/BitSet;

  private com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics[] lambda$2(java.util.BitSet);
    descriptor: (Ljava/util/BitSet;)[Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram this
        start local 1 // java.util.BitSet b
         0: .line 390
            aload 0 /* this */
            getfield com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram.specializationNames:[Ljava/lang/String;
            arraylength
            anewarray com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics
            areturn
        end local 1 // java.util.BitSet b
        end local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$NodeClassHistogram;
            0    1     1     b  Ljava/util/BitSet;

  private static com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics lambda$3(com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination);
    descriptor: (Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;)Lcom/oracle/truffle/api/dsl/SpecializationStatistics$IntStatistics;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination c
         0: .line 418
            new com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics
            dup
            invokespecial com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics.<init>:()V
            areturn
        end local 0 // com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Lcom/oracle/truffle/api/dsl/SpecializationStatistics$TypeCombination;
}
SourceFile: "SpecializationStatistics.java"
NestHost: com.oracle.truffle.api.dsl.SpecializationStatistics
InnerClasses:
  final EnabledNodeStatistics = com.oracle.truffle.api.dsl.SpecializationStatistics$EnabledNodeStatistics of com.oracle.truffle.api.dsl.SpecializationStatistics
  final IntStatistics = com.oracle.truffle.api.dsl.SpecializationStatistics$IntStatistics of com.oracle.truffle.api.dsl.SpecializationStatistics
  final NodeClassHistogram = com.oracle.truffle.api.dsl.SpecializationStatistics$NodeClassHistogram of com.oracle.truffle.api.dsl.SpecializationStatistics
  final TypeCombination = com.oracle.truffle.api.dsl.SpecializationStatistics$TypeCombination of com.oracle.truffle.api.dsl.SpecializationStatistics
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map