final class org.graalvm.compiler.truffle.compiler.ExpansionStatistics
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.truffle.compiler.ExpansionStatistics
  super_class: java.lang.Object
{
  private final java.util.Set<org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier> enabledStages;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;>;

  private volatile org.graalvm.compiler.truffle.common.CompilableTruffleAST previousCompilation;
    descriptor: Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private final java.util.Set<org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier> traceMethodExpansion;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;>;

  private final java.util.Set<org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier> traceNodeExpansion;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;>;

  private final java.util.Map<org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier, java.util.Map<jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats>> methodExpansionStatistics;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;Ljava/util/Map<Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;>;

  private final java.util.Map<org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier, java.util.Map<org.graalvm.compiler.truffle.compiler.ExpansionStatistics$NodeClassKey, org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats>> nodeExpansionStatistics;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;Ljava/util/Map<Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$NodeClassKey;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;>;

  private final java.util.Map<org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier, java.util.Map<org.graalvm.compiler.truffle.compiler.ExpansionStatistics$NodeSpecializationKey, org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats>> specializationExpansionStatistics;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;Ljava/util/Map<Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$NodeSpecializationKey;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;>;

  private final java.util.concurrent.ConcurrentHashMap<jdk.vm.ci.meta.ResolvedJavaMethod, java.lang.Boolean> isSpecializationMethodCache;
    descriptor: Ljava/util/concurrent/ConcurrentHashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Boolean;>;

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

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

  private void <init>(java.util.Set<org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier>, java.util.Set<org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier>, java.util.Set<org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier>, java.util.Set<org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier>);
    descriptor: (Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics this
        start local 1 // java.util.Set traceMethodExpansion
        start local 2 // java.util.Set traceNodeExpansion
        start local 3 // java.util.Set methodExpansionStatistics
        start local 4 // java.util.Set nodeExpansionStatistics
         0: .line 77
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 67
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics.enabledStages:Ljava/util/Set;
         2: .line 72
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics.methodExpansionStatistics:Ljava/util/Map;
         3: .line 73
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics.nodeExpansionStatistics:Ljava/util/Map;
         4: .line 74
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics.specializationExpansionStatistics:Ljava/util/Map;
         5: .line 75
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics.isSpecializationMethodCache:Ljava/util/concurrent/ConcurrentHashMap;
         6: .line 81
            aload 0 /* this */
            aload 1 /* traceMethodExpansion */
            putfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics.traceMethodExpansion:Ljava/util/Set;
         7: .line 82
            aload 0 /* this */
            aload 2 /* traceNodeExpansion */
            putfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics.traceNodeExpansion:Ljava/util/Set;
         8: .line 83
            aload 3 /* methodExpansionStatistics */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 11
      StackMap locals: org.graalvm.compiler.truffle.compiler.ExpansionStatistics java.util.Set java.util.Set java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
         9: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier
            astore 5 /* tier */
        start local 5 // org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier tier
        10: .line 84
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics.methodExpansionStatistics:Ljava/util/Map;
            aload 5 /* tier */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier tier
        11: .line 83
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        12: .line 86
            aload 4 /* nodeExpansionStatistics */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 15
      StackMap locals:
      StackMap stack:
        13: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier
            astore 5 /* tier */
        start local 5 // org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier tier
        14: .line 87
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics.nodeExpansionStatistics:Ljava/util/Map;
            aload 5 /* tier */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier tier
        15: .line 86
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        16: .line 89
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics.enabledStages:Ljava/util/Set;
            aload 1 /* traceMethodExpansion */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        17: .line 90
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics.enabledStages:Ljava/util/Set;
            aload 2 /* traceNodeExpansion */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        18: .line 91
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics.enabledStages:Ljava/util/Set;
            aload 3 /* methodExpansionStatistics */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        19: .line 92
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics.enabledStages:Ljava/util/Set;
            aload 4 /* nodeExpansionStatistics */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        20: .line 93
            return
        end local 4 // java.util.Set nodeExpansionStatistics
        end local 3 // java.util.Set methodExpansionStatistics
        end local 2 // java.util.Set traceNodeExpansion
        end local 1 // java.util.Set traceMethodExpansion
        end local 0 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   21     0                       this  Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics;
            0   21     1       traceMethodExpansion  Ljava/util/Set<Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;>;
            0   21     2         traceNodeExpansion  Ljava/util/Set<Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;>;
            0   21     3  methodExpansionStatistics  Ljava/util/Set<Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;>;
            0   21     4    nodeExpansionStatistics  Ljava/util/Set<Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;>;
           10   11     5                       tier  Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;
           14   15     5                       tier  Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;
    Signature: (Ljava/util/Set<Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;>;Ljava/util/Set<Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;>;Ljava/util/Set<Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;>;Ljava/util/Set<Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;>;)V
    MethodParameters:
                           Name  Flags
      traceMethodExpansion       
      traceNodeExpansion         
      methodExpansionStatistics  
      nodeExpansionStatistics    

  static org.graalvm.compiler.truffle.compiler.ExpansionStatistics create(org.graalvm.options.OptionValues);
    descriptor: (Lorg/graalvm/options/OptionValues;)Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // org.graalvm.options.OptionValues options
         0: .line 96
            aload 0 /* options */
            invokestatic org.graalvm.compiler.truffle.compiler.ExpansionStatistics.isEnabled:(Lorg/graalvm/options/OptionValues;)Z
            ifne 2
         1: .line 97
            aconst_null
            areturn
         2: .line 99
      StackMap locals:
      StackMap stack:
            aload 0 /* options */
            getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions.PrintExpansionHistogram:Lorg/graalvm/options/OptionKey;
            invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            istore 1 /* legacyExpansion */
        start local 1 // boolean legacyExpansion
         3: .line 100
            aload 0 /* options */
            getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions.TraceMethodExpansion:Lorg/graalvm/options/OptionKey;
            invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 2 /* traceMethodExpansion */
        start local 2 // java.util.Set traceMethodExpansion
         4: .line 101
            aload 0 /* options */
            getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions.TraceNodeExpansion:Lorg/graalvm/options/OptionKey;
            invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 3 /* traceNodeExpansion */
        start local 3 // java.util.Set traceNodeExpansion
         5: .line 102
            aload 0 /* options */
            getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions.MethodExpansionStatistics:Lorg/graalvm/options/OptionKey;
            invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 4 /* methodExpansionStatistics */
        start local 4 // java.util.Set methodExpansionStatistics
         6: .line 103
            aload 0 /* options */
            getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions.NodeExpansionStatistics:Lorg/graalvm/options/OptionKey;
            invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 5 /* nodeExpansionStatistics */
        start local 5 // java.util.Set nodeExpansionStatistics
         7: .line 104
            iload 1 /* legacyExpansion */
            ifeq 10
         8: .line 107
            new java.util.HashSet
            dup
            aload 2 /* traceMethodExpansion */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 2 /* traceMethodExpansion */
         9: .line 108
            aload 2 /* traceMethodExpansion */
            getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier.truffleTier:Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        10: .line 110
      StackMap locals: org.graalvm.options.OptionValues int java.util.Set java.util.Set java.util.Set java.util.Set
      StackMap stack:
            new org.graalvm.compiler.truffle.compiler.ExpansionStatistics
            dup
            aload 2 /* traceMethodExpansion */
            aload 3 /* traceNodeExpansion */
            aload 4 /* methodExpansionStatistics */
            aload 5 /* nodeExpansionStatistics */
            invokespecial org.graalvm.compiler.truffle.compiler.ExpansionStatistics.<init>:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;)V
            areturn
        end local 5 // java.util.Set nodeExpansionStatistics
        end local 4 // java.util.Set methodExpansionStatistics
        end local 3 // java.util.Set traceNodeExpansion
        end local 2 // java.util.Set traceMethodExpansion
        end local 1 // boolean legacyExpansion
        end local 0 // org.graalvm.options.OptionValues options
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   11     0                    options  Lorg/graalvm/options/OptionValues;
            3   11     1            legacyExpansion  Z
            4   11     2       traceMethodExpansion  Ljava/util/Set<Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;>;
            5   11     3         traceNodeExpansion  Ljava/util/Set<Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;>;
            6   11     4  methodExpansionStatistics  Ljava/util/Set<Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;>;
            7   11     5    nodeExpansionStatistics  Ljava/util/Set<Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;>;
    MethodParameters:
         Name  Flags
      options  

  static boolean isEnabled(org.graalvm.options.OptionValues);
    descriptor: (Lorg/graalvm/options/OptionValues;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.options.OptionValues options
         0: .line 114
            aload 0 /* options */
            getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions.PrintExpansionHistogram:Lorg/graalvm/options/OptionKey;
            invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 5
         1: .line 115
            aload 0 /* options */
            getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions.TraceMethodExpansion:Lorg/graalvm/options/OptionKey;
            invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
            checkcast java.util.Set
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 5
         2: .line 116
            aload 0 /* options */
            getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions.TraceNodeExpansion:Lorg/graalvm/options/OptionKey;
            invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
            checkcast java.util.Set
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 5
         3: .line 117
            aload 0 /* options */
            getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions.MethodExpansionStatistics:Lorg/graalvm/options/OptionKey;
            invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
            checkcast java.util.Set
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 5
         4: .line 118
            aload 0 /* options */
            getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions.NodeExpansionStatistics:Lorg/graalvm/options/OptionKey;
            invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
            checkcast java.util.Set
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 6
         5: .line 119
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         6: .line 121
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.graalvm.options.OptionValues options
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0  options  Lorg/graalvm/options/OptionValues;
    MethodParameters:
         Name  Flags
      options  

  void afterPartialEvaluation(org.graalvm.compiler.truffle.common.CompilableTruffleAST, org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics this
        start local 1 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 125
            aload 0 /* this */
            aload 1 /* compilable */
            putfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics.previousCompilation:Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
         1: .line 126
            aload 0 /* this */
            aload 1 /* compilable */
            aload 2 /* graph */
            getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier.peTier:Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;
            invokevirtual org.graalvm.compiler.truffle.compiler.ExpansionStatistics.handleStage:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;)V
         2: .line 127
            return
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        end local 0 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics;
            0    3     1  compilable  Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            0    3     2       graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
    MethodParameters:
            Name  Flags
      compilable  
      graph       

  void afterTruffleTier(org.graalvm.compiler.truffle.common.CompilableTruffleAST, org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics this
        start local 1 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 130
            aload 0 /* this */
            aload 1 /* compilable */
            aload 2 /* graph */
            getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier.truffleTier:Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;
            invokevirtual org.graalvm.compiler.truffle.compiler.ExpansionStatistics.handleStage:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;)V
         1: .line 131
            return
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        end local 0 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics;
            0    2     1  compilable  Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            0    2     2       graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
    MethodParameters:
            Name  Flags
      compilable  
      graph       

  void afterLowTier(org.graalvm.compiler.truffle.common.CompilableTruffleAST, org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics this
        start local 1 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 134
            aload 0 /* this */
            aload 1 /* compilable */
            aload 2 /* graph */
            getstatic org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier.lowTier:Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;
            invokevirtual org.graalvm.compiler.truffle.compiler.ExpansionStatistics.handleStage:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;)V
         1: .line 135
            return
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        end local 0 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics;
            0    2     1  compilable  Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            0    2     2       graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
    MethodParameters:
            Name  Flags
      compilable  
      graph       

  private void handleStage(org.graalvm.compiler.truffle.common.CompilableTruffleAST, org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier);
    descriptor: (Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=12, args_size=4
        start local 0 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics this
        start local 1 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 3 // org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier tier
         0: .line 138
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics.traceMethodExpansion:Ljava/util/Set;
            aload 3 /* tier */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            istore 4 /* methodExpansion */
        start local 4 // boolean methodExpansion
         1: .line 139
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics.traceNodeExpansion:Ljava/util/Set;
            aload 3 /* tier */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            istore 5 /* nodeExpansion */
        start local 5 // boolean nodeExpansion
         2: .line 140
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics.methodExpansionStatistics:Ljava/util/Map;
            aload 3 /* tier */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            istore 6 /* methodExpansionStat */
        start local 6 // boolean methodExpansionStat
         3: .line 141
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics.nodeExpansionStatistics:Ljava/util/Map;
            aload 3 /* tier */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            istore 7 /* nodeExpansionStat */
        start local 7 // boolean nodeExpansionStat
         4: .line 143
            aconst_null
            astore 8 /* methodTree */
        start local 8 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode methodTree
         5: .line 144
            aconst_null
            astore 9 /* nodeTree */
        start local 9 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode nodeTree
         6: .line 145
            iload 4 /* methodExpansion */
            ifeq 10
         7: .line 146
            aload 8 /* methodTree */
            ifnonnull 9
         8: .line 147
            aload 2 /* graph */
            invokestatic org.graalvm.compiler.truffle.compiler.ExpansionStatistics.buildMethodTree:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;
            astore 8 /* methodTree */
         9: .line 149
      StackMap locals: org.graalvm.compiler.truffle.compiler.ExpansionStatistics org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier int int int int org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode
      StackMap stack:
            aload 1 /* compilable */
            aload 8 /* methodTree */
            aload 3 /* tier */
            invokestatic org.graalvm.compiler.truffle.compiler.ExpansionStatistics.printExpansionTree:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;)V
        10: .line 152
      StackMap locals:
      StackMap stack:
            iload 5 /* nodeExpansion */
            ifeq 15
        11: .line 153
            aload 8 /* methodTree */
            ifnonnull 13
        12: .line 154
            aload 2 /* graph */
            invokestatic org.graalvm.compiler.truffle.compiler.ExpansionStatistics.buildMethodTree:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;
            astore 8 /* methodTree */
        13: .line 156
      StackMap locals:
      StackMap stack:
            aload 8 /* methodTree */
            invokevirtual org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode.groupByNode:()Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;
            astore 9 /* nodeTree */
        14: .line 157
            aload 1 /* compilable */
            aload 9 /* nodeTree */
            aload 3 /* tier */
            invokestatic org.graalvm.compiler.truffle.compiler.ExpansionStatistics.printExpansionTree:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;)V
        15: .line 160
      StackMap locals:
      StackMap stack:
            iload 6 /* methodExpansionStat */
            ifeq 21
        16: .line 161
            aload 8 /* methodTree */
            ifnonnull 18
        17: .line 162
            aload 2 /* graph */
            invokestatic org.graalvm.compiler.truffle.compiler.ExpansionStatistics.buildMethodTree:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;
            astore 8 /* methodTree */
        18: .line 165
      StackMap locals:
      StackMap stack:
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 10 /* sums */
        start local 10 // java.util.Map sums
        19: .line 166
            aload 8 /* methodTree */
            aload 10 /* sums */
            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;
                  org/graalvm/compiler/truffle/compiler/ExpansionStatistics.lambda$0(Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;)Ljdk/vm/ci/meta/ResolvedJavaMethod; (6)
                  (Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            aload 1 /* compilable */
            invokeinterface org.graalvm.compiler.truffle.common.CompilableTruffleAST.getName:()Ljava/lang/String;
            invokevirtual org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode.acceptStats:(Ljava/util/Map;Ljava/util/function/Function;Ljava/lang/String;)V
        20: .line 168
            aload 0 /* this */
            aload 3 /* tier */
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics.methodExpansionStatistics:Ljava/util/Map;
            aload 10 /* sums */
            invokevirtual org.graalvm.compiler.truffle.compiler.ExpansionStatistics.combineExpansionStatistics:(Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;Ljava/util/Map;Ljava/util/Map;)V
        end local 10 // java.util.Map sums
        21: .line 171
      StackMap locals:
      StackMap stack:
            iload 7 /* nodeExpansionStat */
            ifeq 32
        22: .line 172
            aload 8 /* methodTree */
            ifnonnull 24
        23: .line 173
            aload 2 /* graph */
            invokestatic org.graalvm.compiler.truffle.compiler.ExpansionStatistics.buildMethodTree:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;
            astore 8 /* methodTree */
        24: .line 175
      StackMap locals:
      StackMap stack:
            aload 9 /* nodeTree */
            ifnonnull 26
        25: .line 176
            aload 8 /* methodTree */
            invokevirtual org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode.groupByNode:()Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;
            astore 9 /* nodeTree */
        26: .line 179
      StackMap locals:
      StackMap stack:
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 10 /* classSums */
        start local 10 // java.util.Map classSums
        27: .line 180
            aload 9 /* nodeTree */
            aload 10 /* classSums */
            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;
                  org/graalvm/compiler/truffle/compiler/ExpansionStatistics.lambda$1(Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;)Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$NodeClassKey; (6)
                  (Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;)Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$NodeClassKey;
            aload 1 /* compilable */
            invokeinterface org.graalvm.compiler.truffle.common.CompilableTruffleAST.getName:()Ljava/lang/String;
            invokevirtual org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode.acceptStats:(Ljava/util/Map;Ljava/util/function/Function;Ljava/lang/String;)V
        28: .line 182
            aload 0 /* this */
            aload 3 /* tier */
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics.nodeExpansionStatistics:Ljava/util/Map;
            aload 10 /* classSums */
            invokevirtual org.graalvm.compiler.truffle.compiler.ExpansionStatistics.combineExpansionStatistics:(Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;Ljava/util/Map;Ljava/util/Map;)V
        29: .line 184
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 11 /* specializationSums */
        start local 11 // java.util.Map specializationSums
        30: .line 185
            aload 9 /* nodeTree */
            aload 11 /* specializationSums */
            aload 0 /* this */
            invokedynamic apply(Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics;)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;
                  org/graalvm/compiler/truffle/compiler/ExpansionStatistics.lambda$2(Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;)Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$NodeSpecializationKey; (7)
                  (Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;)Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$NodeSpecializationKey;
            aload 1 /* compilable */
            invokeinterface org.graalvm.compiler.truffle.common.CompilableTruffleAST.getName:()Ljava/lang/String;
            invokevirtual org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode.acceptStats:(Ljava/util/Map;Ljava/util/function/Function;Ljava/lang/String;)V
        31: .line 187
            aload 0 /* this */
            aload 3 /* tier */
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics.specializationExpansionStatistics:Ljava/util/Map;
            aload 11 /* specializationSums */
            invokevirtual org.graalvm.compiler.truffle.compiler.ExpansionStatistics.combineExpansionStatistics:(Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;Ljava/util/Map;Ljava/util/Map;)V
        end local 11 // java.util.Map specializationSums
        end local 10 // java.util.Map classSums
        32: .line 189
      StackMap locals:
      StackMap stack:
            return
        end local 9 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode nodeTree
        end local 8 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode methodTree
        end local 7 // boolean nodeExpansionStat
        end local 6 // boolean methodExpansionStat
        end local 5 // boolean nodeExpansion
        end local 4 // boolean methodExpansion
        end local 3 // org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier tier
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        end local 0 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   33     0                 this  Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics;
            0   33     1           compilable  Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            0   33     2                graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   33     3                 tier  Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;
            1   33     4      methodExpansion  Z
            2   33     5        nodeExpansion  Z
            3   33     6  methodExpansionStat  Z
            4   33     7    nodeExpansionStat  Z
            5   33     8           methodTree  Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;
            6   33     9             nodeTree  Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;
           19   21    10                 sums  Ljava/util/Map<Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;
           27   32    10            classSums  Ljava/util/Map<Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$NodeClassKey;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;
           30   32    11   specializationSums  Ljava/util/Map<Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$NodeSpecializationKey;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;
    MethodParameters:
            Name  Flags
      compilable  
      graph       
      tier        

  void onShutdown();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=8, locals=4, args_size=1
        start local 0 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics this
         0: .line 192
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics.previousCompilation:Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            astore 1 /* ast */
        start local 1 // org.graalvm.compiler.truffle.common.CompilableTruffleAST ast
         1: .line 193
            aload 1 /* ast */
            ifnonnull 3
         2: .line 195
            return
         3: .line 197
      StackMap locals: org.graalvm.compiler.truffle.common.CompilableTruffleAST
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics.methodExpansionStatistics:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: org.graalvm.compiler.truffle.compiler.ExpansionStatistics org.graalvm.compiler.truffle.common.CompilableTruffleAST top java.util.Iterator
      StackMap stack:
         4: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* statsEntry */
        start local 2 // java.util.Map$Entry statsEntry
         5: .line 198
            aload 1 /* ast */
            aload 2 /* statsEntry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier
            aload 2 /* statsEntry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Map
            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;
                  org/graalvm/compiler/truffle/compiler/ExpansionStatistics.formatQualifiedMethod(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/String; (6)
                  (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/String;
            aconst_null
            aconst_null
            aconst_null
            ldc "Method"
            invokestatic org.graalvm.compiler.truffle.compiler.ExpansionStatistics.printHistogram:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;Ljava/util/Map;Ljava/util/function/Function;Ljava/util/Map;Ljava/util/function/Function;Ljava/util/function/Function;Ljava/lang/String;)V
        end local 2 // java.util.Map$Entry statsEntry
         6: .line 197
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 200
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics.nodeExpansionStatistics:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 14
      StackMap locals:
      StackMap stack:
         8: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* statsEntry */
        start local 2 // java.util.Map$Entry statsEntry
         9: .line 201
            aload 1 /* ast */
            aload 2 /* statsEntry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier
            aload 2 /* statsEntry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Map
            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;
                  org/graalvm/compiler/truffle/compiler/ExpansionStatistics.lambda$4(Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$NodeClassKey;)Ljava/lang/String; (6)
                  (Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$NodeClassKey;)Ljava/lang/String;
        10: .line 202
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics.specializationExpansionStatistics:Ljava/util/Map;
            aload 2 /* statsEntry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
        11: .line 203
            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;
                  org/graalvm/compiler/truffle/compiler/ExpansionStatistics.lambda$5(Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$NodeSpecializationKey;)Ljava/lang/String; (6)
                  (Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$NodeSpecializationKey;)Ljava/lang/String;
        12: .line 204
            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;
                  org/graalvm/compiler/truffle/compiler/ExpansionStatistics.lambda$6(Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$NodeSpecializationKey;)Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$NodeClassKey; (6)
                  (Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$NodeSpecializationKey;)Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$NodeClassKey;
            ldc "Node"
        13: .line 201
            invokestatic org.graalvm.compiler.truffle.compiler.ExpansionStatistics.printHistogram:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;Ljava/util/Map;Ljava/util/function/Function;Ljava/util/Map;Ljava/util/function/Function;Ljava/util/function/Function;Ljava/lang/String;)V
        end local 2 // java.util.Map$Entry statsEntry
        14: .line 200
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        15: .line 206
            return
        end local 1 // org.graalvm.compiler.truffle.common.CompilableTruffleAST ast
        end local 0 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics;
            1   16     1         ast  Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            5    6     2  statsEntry  Ljava/util/Map$Entry<Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;Ljava/util/Map<Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;>;
            9   14     2  statsEntry  Ljava/util/Map$Entry<Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;Ljava/util/Map<Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$NodeClassKey;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;>;

  private static <T, S> void printHistogram(org.graalvm.compiler.truffle.common.CompilableTruffleAST, org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier, java.util.Map<T, org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats>, java.util.function.Function<T, java.lang.String>, java.util.Map<S, org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats>, java.util.function.Function<S, java.lang.String>, java.util.function.Function<S, T>, java.lang.String);
    descriptor: (Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;Ljava/util/Map;Ljava/util/function/Function;Ljava/util/Map;Ljava/util/function/Function;Ljava/util/function/Function;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=24, args_size=8
        start local 0 // org.graalvm.compiler.truffle.common.CompilableTruffleAST ast
        start local 1 // org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier tier
        start local 2 // java.util.Map statsMap
        start local 3 // java.util.function.Function labelFunction
        start local 4 // java.util.Map subGroupMap
        start local 5 // java.util.function.Function subGroupLabelFunction
        start local 6 // java.util.function.Function subGroupToGroup
        start local 7 // java.lang.String kind
         0: .line 212
            new java.io.StringWriter
            dup
            invokespecial java.io.StringWriter.<init>:()V
            astore 8 /* writer */
        start local 8 // java.io.StringWriter writer
         1: .line 213
            aconst_null
            astore 9
            aconst_null
            astore 10
         2: new java.io.PrintWriter
            dup
            aload 8 /* writer */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
            astore 11 /* w */
        start local 11 // java.io.PrintWriter w
         3: .line 214
            aload 2 /* statsMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            invokedynamic compare()Ljava/util/Comparator;
              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;)I
                  org/graalvm/compiler/truffle/compiler/ExpansionStatistics.orderBySumDesc(Ljava/util/Map$Entry;Ljava/util/Map$Entry;)I (6)
                  (Ljava/util/Map$Entry;Ljava/util/Map$Entry;)I
            invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
            astore 12 /* entries */
        start local 12 // java.util.List entries
         4: .line 215
            aconst_null
            astore 13 /* subGroups */
        start local 13 // java.util.Map subGroups
         5: .line 216
            aload 4 /* subGroupMap */
            ifnull 13
         6: .line 217
            aload 4 /* subGroupMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            invokedynamic compare()Ljava/util/Comparator;
              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;)I
                  org/graalvm/compiler/truffle/compiler/ExpansionStatistics.orderBySumDesc(Ljava/util/Map$Entry;Ljava/util/Map$Entry;)I (6)
                  (Ljava/util/Map$Entry;Ljava/util/Map$Entry;)I
            invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
            astore 14 /* subEntries */
        start local 14 // java.util.List subEntries
         7: .line 218
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 13 /* subGroups */
         8: .line 219
            aload 14 /* subEntries */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 16
            goto 12
      StackMap locals: org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier java.util.Map java.util.function.Function java.util.Map java.util.function.Function java.util.function.Function java.lang.String java.io.StringWriter java.lang.Throwable java.lang.Throwable java.io.PrintWriter java.util.List java.util.Map java.util.List top java.util.Iterator
      StackMap stack:
         9: aload 16
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 15 /* entry */
        start local 15 // java.util.Map$Entry entry
        10: .line 220
            aload 13 /* subGroups */
            aload 6 /* subGroupToGroup */
            aload 15 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            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;
                  org/graalvm/compiler/truffle/compiler/ExpansionStatistics.lambda$9(Ljava/lang/Object;)Ljava/util/List; (6)
                  (Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.List
            astore 17 /* subGroup */
        start local 17 // java.util.List subGroup
        11: .line 221
            aload 17 /* subGroup */
            aload 15 /* entry */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 17 // java.util.List subGroup
        end local 15 // java.util.Map$Entry entry
        12: .line 219
      StackMap locals:
      StackMap stack:
            aload 16
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        end local 14 // java.util.List subEntries
        13: .line 225
      StackMap locals: org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier java.util.Map java.util.function.Function java.util.Map java.util.function.Function java.util.function.Function java.lang.String java.io.StringWriter java.lang.Throwable java.lang.Throwable java.io.PrintWriter java.util.List java.util.Map
      StackMap stack:
            ldc "  "
            astore 14 /* indent */
        start local 14 // java.lang.String indent
        14: .line 226
            bipush 50
            istore 15 /* maxLabelLength */
        start local 15 // int maxLabelLength
        15: .line 227
            aload 12 /* entries */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 17
            goto 26
      StackMap locals: org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier java.util.Map java.util.function.Function java.util.Map java.util.function.Function java.util.function.Function java.lang.String java.io.StringWriter java.lang.Throwable java.lang.Throwable java.io.PrintWriter java.util.List java.util.Map java.lang.String int top java.util.Iterator
      StackMap stack:
        16: aload 17
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 16 /* entry */
        start local 16 // java.util.Map$Entry entry
        17: .line 228
            aload 3 /* labelFunction */
            aload 16 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 18 /* label */
        start local 18 // java.lang.String label
        18: .line 229
            aload 18 /* label */
            invokevirtual java.lang.String.length:()I
            istore 19 /* labelLength */
        start local 19 // int labelLength
        19: .line 230
            aload 13 /* subGroups */
            ifnull 25
        20: .line 231
            aload 13 /* subGroups */
            aload 16 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 20 /* subGroup */
        start local 20 // java.util.List subGroup
        21: .line 232
            aload 20 /* subGroup */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 22
            goto 24
      StackMap locals: org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier java.util.Map java.util.function.Function java.util.Map java.util.function.Function java.util.function.Function java.lang.String java.io.StringWriter java.lang.Throwable java.lang.Throwable java.io.PrintWriter java.util.List java.util.Map java.lang.String int java.util.Map$Entry java.util.Iterator java.lang.String int java.util.List top java.util.Iterator
      StackMap stack:
        22: aload 22
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 21 /* sub */
        start local 21 // java.util.Map$Entry sub
        23: .line 233
            aload 5 /* subGroupLabelFunction */
            aload 21 /* sub */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            iload 15 /* maxLabelLength */
            invokestatic java.lang.Math.max:(II)I
            istore 15 /* maxLabelLength */
        end local 21 // java.util.Map$Entry sub
        24: .line 232
      StackMap locals:
      StackMap stack:
            aload 22
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        end local 20 // java.util.List subGroup
        25: .line 236
      StackMap locals: org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier java.util.Map java.util.function.Function java.util.Map java.util.function.Function java.util.function.Function java.lang.String java.io.StringWriter java.lang.Throwable java.lang.Throwable java.io.PrintWriter java.util.List java.util.Map java.lang.String int java.util.Map$Entry java.util.Iterator java.lang.String int
      StackMap stack:
            iload 19 /* labelLength */
            iload 15 /* maxLabelLength */
            invokestatic java.lang.Math.max:(II)I
            istore 15 /* maxLabelLength */
        end local 19 // int labelLength
        end local 18 // java.lang.String label
        end local 16 // java.util.Map$Entry entry
        26: .line 227
      StackMap locals: org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier java.util.Map java.util.function.Function java.util.Map java.util.function.Function java.util.function.Function java.lang.String java.io.StringWriter java.lang.Throwable java.lang.Throwable java.io.PrintWriter java.util.List java.util.Map java.lang.String int top java.util.Iterator
      StackMap stack:
            aload 17
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        27: .line 238
            iload 15 /* maxLabelLength */
            aload 14 /* indent */
            invokevirtual java.lang.String.length:()I
            iadd
            istore 15 /* maxLabelLength */
        28: .line 240
            aload 11 /* w */
            new java.lang.StringBuilder
            dup
            ldc "%-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 15 /* maxLabelLength */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        29: .line 241
            ldc "s    Count IR Nodes (min avg max)        Size (min avg max)      Cycles (min avg max)       Ifs  Loops Invokes Allocs | Max IRNode ASTNode Unit:Lang:File:Line:Chars%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
        30: .line 242
            ldc "Name"
            aastore
        31: .line 240
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        32: .line 244
            aload 12 /* entries */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 17
            goto 47
      StackMap locals:
      StackMap stack:
        33: aload 17
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 16 /* entry */
        start local 16 // java.util.Map$Entry entry
        34: .line 245
            aload 3 /* labelFunction */
            aload 16 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 18 /* label */
        start local 18 // java.lang.String label
        35: .line 246
            aload 16 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats
            astore 19 /* stats */
        start local 19 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats stats
        36: .line 248
            aload 11 /* w */
            aload 14 /* indent */
            iload 15 /* maxLabelLength */
            aload 18 /* label */
            aload 19 /* stats */
            invokestatic org.graalvm.compiler.truffle.compiler.ExpansionStatistics.printHistogramStats:(Ljava/io/PrintWriter;Ljava/lang/String;ILjava/lang/String;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;)V
        37: .line 250
            aload 13 /* subGroups */
            ifnull 47
        38: .line 251
            aload 13 /* subGroups */
            aload 16 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 20 /* subGroup */
        start local 20 // java.util.List subGroup
        39: .line 252
            aload 20 /* subGroup */
            ifnull 47
            aload 20 /* subGroup */
            invokeinterface java.util.List.size:()I
            ifle 47
        40: .line 253
            aload 20 /* subGroup */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 22
            goto 46
      StackMap locals: org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier java.util.Map java.util.function.Function java.util.Map java.util.function.Function java.util.function.Function java.lang.String java.io.StringWriter java.lang.Throwable java.lang.Throwable java.io.PrintWriter java.util.List java.util.Map java.lang.String int java.util.Map$Entry java.util.Iterator java.lang.String org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats java.util.List top java.util.Iterator
      StackMap stack:
        41: aload 22
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 21 /* subEntry */
        start local 21 // java.util.Map$Entry subEntry
        42: .line 254
            aload 5 /* subGroupLabelFunction */
            aload 21 /* subEntry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 23 /* subLabel */
        start local 23 // java.lang.String subLabel
        43: .line 255
            aload 20 /* subGroup */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 45
            aload 23 /* subLabel */
            ldc "<unknown>"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 45
        44: .line 257
            goto 47
        45: .line 259
      StackMap locals: org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier java.util.Map java.util.function.Function java.util.Map java.util.function.Function java.util.function.Function java.lang.String java.io.StringWriter java.lang.Throwable java.lang.Throwable java.io.PrintWriter java.util.List java.util.Map java.lang.String int java.util.Map$Entry java.util.Iterator java.lang.String org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats java.util.List java.util.Map$Entry java.util.Iterator java.lang.String
      StackMap stack:
            aload 11 /* w */
            new java.lang.StringBuilder
            dup
            aload 14 /* indent */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "  "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iload 15 /* maxLabelLength */
            aload 23 /* subLabel */
            aload 21 /* subEntry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats
            invokestatic org.graalvm.compiler.truffle.compiler.ExpansionStatistics.printHistogramStats:(Ljava/io/PrintWriter;Ljava/lang/String;ILjava/lang/String;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;)V
        end local 23 // java.lang.String subLabel
        end local 21 // java.util.Map$Entry subEntry
        46: .line 253
      StackMap locals: org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier java.util.Map java.util.function.Function java.util.Map java.util.function.Function java.util.function.Function java.lang.String java.io.StringWriter java.lang.Throwable java.lang.Throwable java.io.PrintWriter java.util.List java.util.Map java.lang.String int java.util.Map$Entry java.util.Iterator java.lang.String org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats java.util.List top java.util.Iterator
      StackMap stack:
            aload 22
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 41
        end local 20 // java.util.List subGroup
        end local 19 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats stats
        end local 18 // java.lang.String label
        end local 16 // java.util.Map$Entry entry
        47: .line 244
      StackMap locals: org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier java.util.Map java.util.function.Function java.util.Map java.util.function.Function java.util.function.Function java.lang.String java.io.StringWriter java.lang.Throwable java.lang.Throwable java.io.PrintWriter java.util.List java.util.Map java.lang.String int top java.util.Iterator
      StackMap stack:
            aload 17
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 33
        end local 15 // int maxLabelLength
        end local 14 // java.lang.String indent
        end local 13 // java.util.Map subGroups
        end local 12 // java.util.List entries
        48: .line 265
            aload 11 /* w */
            ifnull 54
            aload 11 /* w */
            invokevirtual java.io.PrintWriter.close:()V
            goto 54
      StackMap locals: org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier java.util.Map java.util.function.Function java.util.Map java.util.function.Function java.util.function.Function java.lang.String java.io.StringWriter java.lang.Throwable java.lang.Throwable java.io.PrintWriter
      StackMap stack: java.lang.Throwable
        49: astore 9
            aload 11 /* w */
            ifnull 50
            aload 11 /* w */
            invokevirtual java.io.PrintWriter.close:()V
        end local 11 // java.io.PrintWriter w
      StackMap locals:
      StackMap stack:
        50: aload 9
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        51: astore 10
            aload 9
            ifnonnull 52
            aload 10
            astore 9
            goto 53
      StackMap locals:
      StackMap stack:
        52: aload 9
            aload 10
            if_acmpeq 53
            aload 9
            aload 10
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        53: aload 9
            athrow
        54: .line 266
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.truffle.common.TruffleCompilerRuntime.getRuntime:()Lorg/graalvm/compiler/truffle/common/TruffleCompilerRuntime;
            aload 0 /* ast */
            ldc "%s expansion statistics after %s:%n%s"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* kind */
            aastore
            dup
            iconst_1
            aload 1 /* tier */
            invokevirtual org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 8 /* writer */
            invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.graalvm.compiler.truffle.common.TruffleCompilerRuntime.log:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Ljava/lang/String;)V
        55: .line 267
            return
        end local 8 // java.io.StringWriter writer
        end local 7 // java.lang.String kind
        end local 6 // java.util.function.Function subGroupToGroup
        end local 5 // java.util.function.Function subGroupLabelFunction
        end local 4 // java.util.Map subGroupMap
        end local 3 // java.util.function.Function labelFunction
        end local 2 // java.util.Map statsMap
        end local 1 // org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier tier
        end local 0 // org.graalvm.compiler.truffle.common.CompilableTruffleAST ast
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   56     0                    ast  Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            0   56     1                   tier  Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;
            0   56     2               statsMap  Ljava/util/Map<TT;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;
            0   56     3          labelFunction  Ljava/util/function/Function<TT;Ljava/lang/String;>;
            0   56     4            subGroupMap  Ljava/util/Map<TS;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;
            0   56     5  subGroupLabelFunction  Ljava/util/function/Function<TS;Ljava/lang/String;>;
            0   56     6        subGroupToGroup  Ljava/util/function/Function<TS;TT;>;
            0   56     7                   kind  Ljava/lang/String;
            1   56     8                 writer  Ljava/io/StringWriter;
            3   50    11                      w  Ljava/io/PrintWriter;
            4   48    12                entries  Ljava/util/List<Ljava/util/Map$Entry<TT;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;>;
            5   48    13              subGroups  Ljava/util/Map<TT;Ljava/util/List<Ljava/util/Map$Entry<TS;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;>;>;
            7   13    14             subEntries  Ljava/util/List<Ljava/util/Map$Entry<TS;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;>;
           10   12    15                  entry  Ljava/util/Map$Entry<TS;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;
           11   12    17               subGroup  Ljava/util/List<Ljava/util/Map$Entry<TS;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;>;
           14   48    14                 indent  Ljava/lang/String;
           15   48    15         maxLabelLength  I
           17   26    16                  entry  Ljava/util/Map$Entry<TT;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;
           18   26    18                  label  Ljava/lang/String;
           19   26    19            labelLength  I
           21   25    20               subGroup  Ljava/util/List<Ljava/util/Map$Entry<TS;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;>;
           23   24    21                    sub  Ljava/util/Map$Entry<TS;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;
           34   47    16                  entry  Ljava/util/Map$Entry<TT;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;
           35   47    18                  label  Ljava/lang/String;
           36   47    19                  stats  Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;
           39   47    20               subGroup  Ljava/util/List<Ljava/util/Map$Entry<TS;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;>;
           42   46    21               subEntry  Ljava/util/Map$Entry<TS;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;
           43   46    23               subLabel  Ljava/lang/String;
      Exception table:
        from    to  target  type
           3    48      49  any
           2    51      51  any
    Signature: <T:Ljava/lang/Object;S:Ljava/lang/Object;>(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;Ljava/util/Map<TT;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;Ljava/util/function/Function<TT;Ljava/lang/String;>;Ljava/util/Map<TS;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;Ljava/util/function/Function<TS;Ljava/lang/String;>;Ljava/util/function/Function<TS;TT;>;Ljava/lang/String;)V
    MethodParameters:
                       Name  Flags
      ast                    
      tier                   
      statsMap               
      labelFunction          
      subGroupMap            
      subGroupLabelFunction  
      subGroupToGroup        
      kind                   

  private static void printHistogramStats(java.io.PrintWriter, java.lang.String, int, java.lang.String, org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats);
    descriptor: (Ljava/io/PrintWriter;Ljava/lang/String;ILjava/lang/String;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=11, locals=7, args_size=5
        start local 0 // java.io.PrintWriter w
        start local 1 // java.lang.String indent
        start local 2 // int maxLabelLength
        start local 3 // java.lang.String label
        start local 4 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats stats
         0: .line 270
            aload 4 /* stats */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats.maxCompilation:Ljava/lang/String;
            aload 4 /* stats */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats.maxSourcePosition:Lorg/graalvm/compiler/graph/NodeSourcePosition;
            invokestatic org.graalvm.compiler.truffle.compiler.ExpansionStatistics.formatSourceAndCompilation:(Ljava/lang/String;Lorg/graalvm/compiler/graph/NodeSourcePosition;)Ljava/lang/String;
            astore 5 /* sourceString */
        start local 5 // java.lang.String sourceString
         1: .line 271
            iload 2 /* maxLabelLength */
            aload 1 /* indent */
            invokevirtual java.lang.String.length:()I
            isub
            bipush 10
            invokestatic java.lang.Math.max:(II)I
            istore 6 /* useWidth */
        start local 6 // int useWidth
         2: .line 272
            aload 0 /* w */
            new java.lang.StringBuilder
            dup
            ldc "%s%-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 6 /* useWidth */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "s %8d %8d %-16s %8d %-16s %8d %-16s %6d %6d %7d %6d | %10s %7s %s%n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            bipush 16
            anewarray java.lang.Object
            dup
            iconst_0
         3: .line 273
            aload 1 /* indent */
            aastore
            dup
            iconst_1
         4: .line 274
            aload 3 /* label */
            aastore
            dup
            iconst_2
         5: .line 275
            aload 4 /* stats */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats.count:Ljava/util/IntSummaryStatistics;
            invokevirtual java.util.IntSummaryStatistics.getCount:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_3
         6: .line 276
            aload 4 /* stats */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats.count:Ljava/util/IntSummaryStatistics;
            invokevirtual java.util.IntSummaryStatistics.getSum:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_4
         7: .line 277
            ldc "(%d %.1f %d)"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* stats */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats.count:Ljava/util/IntSummaryStatistics;
            invokevirtual java.util.IntSummaryStatistics.getMin:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 4 /* stats */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats.count:Ljava/util/IntSummaryStatistics;
            invokevirtual java.util.IntSummaryStatistics.getAverage:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            dup
            iconst_2
            aload 4 /* stats */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats.count:Ljava/util/IntSummaryStatistics;
            invokevirtual java.util.IntSummaryStatistics.getMax:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aastore
            dup
            iconst_5
         8: .line 278
            aload 4 /* stats */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats.size:Ljava/util/IntSummaryStatistics;
            invokevirtual java.util.IntSummaryStatistics.getSum:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            bipush 6
         9: .line 279
            ldc "(%d %.1f %d)"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* stats */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats.size:Ljava/util/IntSummaryStatistics;
            invokevirtual java.util.IntSummaryStatistics.getMin:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 4 /* stats */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats.size:Ljava/util/IntSummaryStatistics;
            invokevirtual java.util.IntSummaryStatistics.getAverage:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            dup
            iconst_2
            aload 4 /* stats */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats.size:Ljava/util/IntSummaryStatistics;
            invokevirtual java.util.IntSummaryStatistics.getMax:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aastore
            dup
            bipush 7
        10: .line 280
            aload 4 /* stats */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats.cycles:Ljava/util/IntSummaryStatistics;
            invokevirtual java.util.IntSummaryStatistics.getSum:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            bipush 8
        11: .line 281
            ldc "(%d %.1f %d)"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* stats */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats.cycles:Ljava/util/IntSummaryStatistics;
            invokevirtual java.util.IntSummaryStatistics.getMin:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 4 /* stats */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats.cycles:Ljava/util/IntSummaryStatistics;
            invokevirtual java.util.IntSummaryStatistics.getAverage:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            dup
            iconst_2
            aload 4 /* stats */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats.cycles:Ljava/util/IntSummaryStatistics;
            invokevirtual java.util.IntSummaryStatistics.getMax:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aastore
            dup
            bipush 9
        12: .line 282
            aload 4 /* stats */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats.conditions:Ljava/util/IntSummaryStatistics;
            invokevirtual java.util.IntSummaryStatistics.getSum:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            bipush 10
        13: .line 283
            aload 4 /* stats */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats.loops:Ljava/util/IntSummaryStatistics;
            invokevirtual java.util.IntSummaryStatistics.getSum:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            bipush 11
        14: .line 284
            aload 4 /* stats */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats.invokes:Ljava/util/IntSummaryStatistics;
            invokevirtual java.util.IntSummaryStatistics.getSum:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            bipush 12
        15: .line 285
            aload 4 /* stats */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats.allocs:Ljava/util/IntSummaryStatistics;
            invokevirtual java.util.IntSummaryStatistics.getSum:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            bipush 13
        16: .line 286
            aload 4 /* stats */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats.maxGraalNodeId:I
            iconst_m1
            if_icmpne 17
            ldc ""
            goto 18
      StackMap locals: java.io.PrintWriter java.lang.String int java.lang.String org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats java.lang.String int
      StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int
        17: aload 4 /* stats */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats.maxGraalNodeId:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
      StackMap locals: java.io.PrintWriter java.lang.String int java.lang.String org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats java.lang.String int
      StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int java.io.Serializable
        18: aastore
            dup
            bipush 14
        19: .line 287
            aload 4 /* stats */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats.maxSourcePosition:Lorg/graalvm/compiler/graph/NodeSourcePosition;
            invokestatic org.graalvm.compiler.truffle.compiler.ExpansionStatistics.getTruffleNodeId:(Lorg/graalvm/compiler/graph/NodeSourcePosition;)I
            iconst_m1
            if_icmpne 20
            ldc ""
            goto 21
      StackMap locals: java.io.PrintWriter java.lang.String int java.lang.String org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats java.lang.String int
      StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int
        20: aload 4 /* stats */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats.maxSourcePosition:Lorg/graalvm/compiler/graph/NodeSourcePosition;
            invokestatic org.graalvm.compiler.truffle.compiler.ExpansionStatistics.getTruffleNodeId:(Lorg/graalvm/compiler/graph/NodeSourcePosition;)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
      StackMap locals: java.io.PrintWriter java.lang.String int java.lang.String org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats java.lang.String int
      StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int java.io.Serializable
        21: aastore
            dup
            bipush 15
        22: .line 288
            aload 5 /* sourceString */
            aastore
        23: .line 272
            invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
            pop
        24: .line 289
            return
        end local 6 // int useWidth
        end local 5 // java.lang.String sourceString
        end local 4 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats stats
        end local 3 // java.lang.String label
        end local 2 // int maxLabelLength
        end local 1 // java.lang.String indent
        end local 0 // java.io.PrintWriter w
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   25     0               w  Ljava/io/PrintWriter;
            0   25     1          indent  Ljava/lang/String;
            0   25     2  maxLabelLength  I
            0   25     3           label  Ljava/lang/String;
            0   25     4           stats  Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;
            1   25     5    sourceString  Ljava/lang/String;
            2   25     6        useWidth  I
    MethodParameters:
                Name  Flags
      w               
      indent          
      maxLabelLength  
      label           
      stats           

  private static <T> int orderBySumDesc(java.util.Map$Entry<T, org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats>, java.util.Map$Entry<T, org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats>);
    descriptor: (Ljava/util/Map$Entry;Ljava/util/Map$Entry;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.Map$Entry e0
        start local 1 // java.util.Map$Entry e1
         0: .line 292
            aload 1 /* e1 */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats.count:Ljava/util/IntSummaryStatistics;
            invokevirtual java.util.IntSummaryStatistics.getSum:()J
            aload 0 /* e0 */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats.count:Ljava/util/IntSummaryStatistics;
            invokevirtual java.util.IntSummaryStatistics.getSum:()J
            invokestatic java.lang.Long.compare:(JJ)I
            ireturn
        end local 1 // java.util.Map$Entry e1
        end local 0 // java.util.Map$Entry e0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    e0  Ljava/util/Map$Entry<TT;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;
            0    1     1    e1  Ljava/util/Map$Entry<TT;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Map$Entry<TT;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;Ljava/util/Map$Entry<TT;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;)I
    MethodParameters:
      Name  Flags
      e0    
      e1    

  private static org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode buildMethodTree(org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=11, args_size=1
        start local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 296
            new org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode
            dup
            aconst_null
            aconst_null
            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;
                  org/graalvm/compiler/truffle/compiler/ExpansionStatistics.buildMethodTreeLabel(Lorg/graalvm/compiler/graph/NodeSourcePosition;)Ljava/lang/String; (6)
                  (Lorg/graalvm/compiler/graph/NodeSourcePosition;)Ljava/lang/String;
            invokespecial org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode.<init>:(Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;Lorg/graalvm/compiler/graph/NodeSourcePosition;Ljava/util/function/Function;)V
            astore 1 /* root */
        start local 1 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode root
         1: .line 297
            new org.graalvm.compiler.phases.schedule.SchedulePhase
            dup
            getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$SchedulingStrategy.LATEST_OUT_OF_LOOPS:Lorg/graalvm/compiler/phases/schedule/SchedulePhase$SchedulingStrategy;
            iconst_1
            invokespecial org.graalvm.compiler.phases.schedule.SchedulePhase.<init>:(Lorg/graalvm/compiler/phases/schedule/SchedulePhase$SchedulingStrategy;Z)V
            astore 2 /* schedule */
        start local 2 // org.graalvm.compiler.phases.schedule.SchedulePhase schedule
         2: .line 298
            aload 2 /* schedule */
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.phases.schedule.SchedulePhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
         3: .line 299
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getLastSchedule:()Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult.getCFG:()Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            astore 3 /* cfg */
        start local 3 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph cfg
         4: .line 300
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 15
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode org.graalvm.compiler.phases.schedule.SchedulePhase org.graalvm.compiler.nodes.cfg.ControlFlowGraph top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 4 /* node */
        start local 4 // org.graalvm.compiler.graph.Node node
         6: .line 301
            aload 4 /* node */
            invokevirtual org.graalvm.compiler.graph.Node.getNodeSourcePosition:()Lorg/graalvm/compiler/graph/NodeSourcePosition;
            astore 6 /* nodeSourcePosition */
        start local 6 // org.graalvm.compiler.graph.NodeSourcePosition nodeSourcePosition
         7: .line 302
            aload 1 /* root */
            aload 6 /* nodeSourcePosition */
            invokestatic org.graalvm.compiler.truffle.compiler.ExpansionStatistics.resolveMethodTree:(Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;Lorg/graalvm/compiler/graph/NodeSourcePosition;)Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;
            astore 7 /* tree */
        start local 7 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode tree
         8: .line 303
            aload 3 /* cfg */
            aload 4 /* node */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.blockFor:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/nodes/cfg/Block;
            astore 8 /* block */
        start local 8 // org.graalvm.compiler.nodes.cfg.Block block
         9: .line 305
            aload 8 /* block */
            ifnull 12
        10: .line 306
            aload 8 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getRelativeFrequency:()D
            dstore 9 /* frequency */
        start local 9 // double frequency
        11: .line 307
            getstatic org.graalvm.compiler.truffle.compiler.ExpansionStatistics.$assertionsDisabled:Z
            ifne 13
            dload 9 /* frequency */
            ldc -0.0
            dcmpl
            ifne 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 9 // double frequency
        12: .line 309
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode org.graalvm.compiler.phases.schedule.SchedulePhase org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.graph.NodeSourcePosition org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode org.graalvm.compiler.nodes.cfg.Block
      StackMap stack:
            ldc -0.0
            dstore 9 /* frequency */
        start local 9 // double frequency
        13: .line 312
      StackMap locals: double
      StackMap stack:
            aload 7 /* tree */
            aload 7 /* tree */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode.frequency:D
            dload 9 /* frequency */
            invokestatic java.lang.Math.max:(DD)D
            putfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode.frequency:D
        14: .line 313
            aload 7 /* tree */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode.graalNodes:Ljava/util/List;
            aload 4 /* node */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // double frequency
        end local 8 // org.graalvm.compiler.nodes.cfg.Block block
        end local 7 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode tree
        end local 6 // org.graalvm.compiler.graph.NodeSourcePosition nodeSourcePosition
        end local 4 // org.graalvm.compiler.graph.Node node
        15: .line 300
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode org.graalvm.compiler.phases.schedule.SchedulePhase org.graalvm.compiler.nodes.cfg.ControlFlowGraph top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        16: .line 316
            aload 1 /* root */
            areturn
        end local 3 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph cfg
        end local 2 // org.graalvm.compiler.phases.schedule.SchedulePhase schedule
        end local 1 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode root
        end local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   17     0               graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            1   17     1                root  Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;
            2   17     2            schedule  Lorg/graalvm/compiler/phases/schedule/SchedulePhase;
            4   17     3                 cfg  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            6   15     4                node  Lorg/graalvm/compiler/graph/Node;
            7   15     6  nodeSourcePosition  Lorg/graalvm/compiler/graph/NodeSourcePosition;
            8   15     7                tree  Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;
            9   15     8               block  Lorg/graalvm/compiler/nodes/cfg/Block;
           11   12     9           frequency  D
           13   15     9           frequency  D
    MethodParameters:
       Name  Flags
      graph  

  private static java.lang.String buildMethodTreeLabel(org.graalvm.compiler.graph.NodeSourcePosition);
    descriptor: (Lorg/graalvm/compiler/graph/NodeSourcePosition;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.graph.NodeSourcePosition pos
         0: .line 320
            aload 0 /* pos */
            ifnull 1
            aload 0 /* pos */
            invokevirtual org.graalvm.compiler.graph.NodeSourcePosition.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            ifnonnull 2
         1: .line 321
      StackMap locals:
      StackMap stack:
            ldc "<root>"
            areturn
         2: .line 323
      StackMap locals:
      StackMap stack:
            aload 0 /* pos */
            invokevirtual org.graalvm.compiler.graph.NodeSourcePosition.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokestatic org.graalvm.compiler.truffle.compiler.ExpansionStatistics.formatQualifiedMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.compiler.graph.NodeSourcePosition pos
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   pos  Lorg/graalvm/compiler/graph/NodeSourcePosition;
    MethodParameters:
      Name  Flags
      pos   

  private static org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode resolveMethodTree(org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode, org.graalvm.compiler.graph.NodeSourcePosition);
    descriptor: (Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;Lorg/graalvm/compiler/graph/NodeSourcePosition;)Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode root
        start local 1 // org.graalvm.compiler.graph.NodeSourcePosition pos
         0: .line 327
            aload 1 /* pos */
            ifnonnull 2
         1: .line 328
            aload 0 /* root */
            areturn
         2: .line 330
      StackMap locals:
      StackMap stack:
            aload 0 /* root */
            aload 1 /* pos */
            invokevirtual org.graalvm.compiler.graph.NodeSourcePosition.getCaller:()Lorg/graalvm/compiler/graph/NodeSourcePosition;
            invokestatic org.graalvm.compiler.truffle.compiler.ExpansionStatistics.resolveMethodTree:(Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;Lorg/graalvm/compiler/graph/NodeSourcePosition;)Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;
            astore 2 /* parent */
        start local 2 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode parent
         3: .line 331
            aload 2 /* parent */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode.children:Ljava/util/Map;
            new org.graalvm.compiler.truffle.compiler.ExpansionStatistics$MethodKey
            dup
            aload 1 /* pos */
            invokespecial org.graalvm.compiler.truffle.compiler.ExpansionStatistics$MethodKey.<init>:(Lorg/graalvm/compiler/graph/NodeSourcePosition;)V
            aload 2 /* parent */
            aload 1 /* pos */
            aload 0 /* root */
            invokedynamic apply(Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;Lorg/graalvm/compiler/graph/NodeSourcePosition;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;)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;
                  org/graalvm/compiler/truffle/compiler/ExpansionStatistics.lambda$11(Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;Lorg/graalvm/compiler/graph/NodeSourcePosition;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$MethodKey;)Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode; (6)
                  (Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$MethodKey;)Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode
            areturn
        end local 2 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode parent
        end local 1 // org.graalvm.compiler.graph.NodeSourcePosition pos
        end local 0 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode root
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    root  Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;
            0    4     1     pos  Lorg/graalvm/compiler/graph/NodeSourcePosition;
            3    4     2  parent  Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;
    MethodParameters:
      Name  Flags
      root  
      pos   

  private synchronized <T> void combineExpansionStatistics(org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier, java.util.Map<org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier, java.util.Map<T, org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats>>, java.util.Map<T, org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats>);
    descriptor: (Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;Ljava/util/Map;Ljava/util/Map;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=8, args_size=4
        start local 0 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics this
        start local 1 // org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier tier
        start local 2 // java.util.Map stats
        start local 3 // java.util.Map newStats
         0: .line 337
            aload 2 /* stats */
            aload 1 /* tier */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 4 /* methodStats */
        start local 4 // java.util.Map methodStats
         1: .line 338
            aload 4 /* methodStats */
            ifnonnull 4
         2: .line 339
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* methodStats */
         3: .line 340
            aload 2 /* stats */
            aload 1 /* tier */
            aload 4 /* methodStats */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 342
      StackMap locals: java.util.Map
      StackMap stack:
            aload 3 /* newStats */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 8
      StackMap locals: org.graalvm.compiler.truffle.compiler.ExpansionStatistics org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier java.util.Map java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* entry */
        start local 5 // java.util.Map$Entry entry
         6: .line 343
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats
            astore 7 /* s */
        start local 7 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats s
         7: .line 344
            aload 4 /* methodStats */
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            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;
                  org/graalvm/compiler/truffle/compiler/ExpansionStatistics.lambda$12(Ljava/lang/Object;)Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats; (6)
                  (Ljava/lang/Object;)Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats
            aload 7 /* s */
            invokevirtual org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats.combine:(Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;)V
        end local 7 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats s
        end local 5 // java.util.Map$Entry entry
         8: .line 342
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         9: .line 346
            return
        end local 4 // java.util.Map methodStats
        end local 3 // java.util.Map newStats
        end local 2 // java.util.Map stats
        end local 1 // org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier tier
        end local 0 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics;
            0   10     1         tier  Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;
            0   10     2        stats  Ljava/util/Map<Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;Ljava/util/Map<TT;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;>;
            0   10     3     newStats  Ljava/util/Map<TT;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;
            1   10     4  methodStats  Ljava/util/Map<TT;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;
            6    8     5        entry  Ljava/util/Map$Entry<TT;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;
            7    8     7            s  Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;
    Signature: <T:Ljava/lang/Object;>(Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;Ljava/util/Map<Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;Ljava/util/Map<TT;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;>;Ljava/util/Map<TT;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;>;)V
    MethodParameters:
          Name  Flags
      tier      
      stats     
      newStats  

  private static void printExpansionTree(org.graalvm.compiler.truffle.common.CompilableTruffleAST, org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode, org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier);
    descriptor: (Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
        start local 1 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode tree
        start local 2 // org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier tier
         0: .line 349
            new java.io.StringWriter
            dup
            invokespecial java.io.StringWriter.<init>:()V
            astore 3 /* writer */
        start local 3 // java.io.StringWriter writer
         1: .line 350
            aconst_null
            astore 4
            aconst_null
            astore 5
         2: new java.io.PrintWriter
            dup
            aload 3 /* writer */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
            astore 6 /* w */
        start local 6 // java.io.PrintWriter w
         3: .line 351
            aload 1 /* tree */
            aload 6 /* w */
            invokevirtual org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode.print:(Ljava/io/PrintWriter;)V
         4: .line 352
            aload 6 /* w */
            ifnull 10
            aload 6 /* w */
            invokevirtual java.io.PrintWriter.close:()V
            goto 10
      StackMap locals: org.graalvm.compiler.truffle.common.CompilableTruffleAST org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier java.io.StringWriter java.lang.Throwable java.lang.Throwable java.io.PrintWriter
      StackMap stack: java.lang.Throwable
         5: astore 4
            aload 6 /* w */
            ifnull 6
            aload 6 /* w */
            invokevirtual java.io.PrintWriter.close:()V
        end local 6 // java.io.PrintWriter w
      StackMap locals:
      StackMap stack:
         6: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 5
            aload 4
            ifnonnull 8
            aload 5
            astore 4
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 4
            aload 5
            if_acmpeq 9
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         9: aload 4
            athrow
        10: .line 353
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.truffle.common.TruffleCompilerRuntime.getRuntime:()Lorg/graalvm/compiler/truffle/common/TruffleCompilerRuntime;
            aload 0 /* compilable */
            ldc "Expansion tree for %s after %s:%n%s"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* compilable */
            invokeinterface org.graalvm.compiler.truffle.common.CompilableTruffleAST.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 2 /* tier */
            invokevirtual org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 3 /* writer */
            invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.graalvm.compiler.truffle.common.TruffleCompilerRuntime.log:(Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;Ljava/lang/String;)V
        11: .line 354
            return
        end local 3 // java.io.StringWriter writer
        end local 2 // org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier tier
        end local 1 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode tree
        end local 0 // org.graalvm.compiler.truffle.common.CompilableTruffleAST compilable
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0  compilable  Lorg/graalvm/compiler/truffle/common/CompilableTruffleAST;
            0   12     1        tree  Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;
            0   12     2        tier  Lorg/graalvm/compiler/truffle/options/PolyglotCompilerOptions$CompilationTier;
            1   12     3      writer  Ljava/io/StringWriter;
            3    6     6           w  Ljava/io/PrintWriter;
      Exception table:
        from    to  target  type
           3     4       5  any
           2     7       7  any
    MethodParameters:
            Name  Flags
      compilable  
      tree        
      tier        

  private static java.lang.String formatQualifiedMethod(jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
         0: .line 357
            aload 0 /* method */
            ifnonnull 2
         1: .line 358
            ldc "<no-source-position>"
            areturn
         2: .line 360
      StackMap locals:
      StackMap stack:
            aload 0 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getUnqualifiedName:()Ljava/lang/String;
            astore 1 /* className */
        start local 1 // java.lang.String className
         3: .line 361
            new java.lang.StringBuilder
            dup
            aload 1 /* className */
            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 /* method */
            bipush 60
            invokestatic org.graalvm.compiler.truffle.compiler.ExpansionStatistics.formatMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String className
        end local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0     method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            3    4     1  className  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      method  

  private static java.lang.String formatMethod(jdk.vm.ci.meta.ResolvedJavaMethod, int);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;I)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 1 // int maxSignature
         0: .line 365
            aload 0 /* method */
            ifnonnull 2
         1: .line 366
            ldc "<no-source-position>"
            areturn
         2: .line 368
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* signatureBuilder */
        start local 2 // java.lang.StringBuilder signatureBuilder
         3: .line 369
            aload 0 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 3 /* declaringType */
        start local 3 // jdk.vm.ci.meta.ResolvedJavaType declaringType
         4: .line 370
            aload 0 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            astore 4 /* signature */
        start local 4 // jdk.vm.ci.meta.Signature signature
         5: .line 371
            ldc ""
            astore 5 /* sep */
        start local 5 // java.lang.String sep
         6: .line 372
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: goto 13
         8: .line 373
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod int java.lang.StringBuilder jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.Signature java.lang.String int
      StackMap stack:
            aload 4 /* signature */
            iload 6 /* i */
            aload 3 /* declaringType */
            invokeinterface jdk.vm.ci.meta.Signature.getParameterType:(ILjdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
            astore 7 /* type */
        start local 7 // jdk.vm.ci.meta.JavaType type
         9: .line 374
            aload 2 /* signatureBuilder */
            aload 5 /* sep */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 375
            aload 2 /* signatureBuilder */
            aload 7 /* type */
            invokeinterface jdk.vm.ci.meta.JavaType.getUnqualifiedName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 376
            ldc ", "
            astore 5 /* sep */
        end local 7 // jdk.vm.ci.meta.JavaType type
        12: .line 372
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 6 /* i */
            aload 4 /* signature */
            iconst_0
            invokeinterface jdk.vm.ci.meta.Signature.getParameterCount:(Z)I
            if_icmplt 8
        end local 6 // int i
        14: .line 379
            aload 0 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            aload 2 /* signatureBuilder */
            invokevirtual java.lang.StringBuilder.length:()I
            iadd
            iload 1 /* maxSignature */
            if_icmple 16
        15: .line 380
            new java.lang.StringBuilder
            dup
            aload 0 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()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 4 /* signature */
            iconst_0
            invokeinterface jdk.vm.ci.meta.Signature.getParameterCount:(Z)I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        16: .line 382
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()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 2 /* signatureBuilder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // java.lang.String sep
        end local 4 // jdk.vm.ci.meta.Signature signature
        end local 3 // jdk.vm.ci.meta.ResolvedJavaType declaringType
        end local 2 // java.lang.StringBuilder signatureBuilder
        end local 1 // int maxSignature
        end local 0 // jdk.vm.ci.meta.ResolvedJavaMethod method
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   17     0            method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   17     1      maxSignature  I
            3   17     2  signatureBuilder  Ljava/lang/StringBuilder;
            4   17     3     declaringType  Ljdk/vm/ci/meta/ResolvedJavaType;
            5   17     4         signature  Ljdk/vm/ci/meta/Signature;
            6   17     5               sep  Ljava/lang/String;
            7   14     6                 i  I
            9   12     7              type  Ljdk/vm/ci/meta/JavaType;
    MethodParameters:
              Name  Flags
      method        
      maxSignature  

  private static int getTruffleNodeId(org.graalvm.compiler.graph.NodeSourcePosition);
    descriptor: (Lorg/graalvm/compiler/graph/NodeSourcePosition;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.graph.NodeSourcePosition position
         0: .line 387
            aload 0 /* position */
            ifnull 1
            aload 0 /* position */
            invokevirtual org.graalvm.compiler.graph.NodeSourcePosition.getSourceLanguage:()Lorg/graalvm/compiler/graph/SourceLanguagePosition;
            ifnull 1
            aload 0 /* position */
            invokevirtual org.graalvm.compiler.graph.NodeSourcePosition.getSourceLanguage:()Lorg/graalvm/compiler/graph/SourceLanguagePosition;
            invokeinterface org.graalvm.compiler.graph.SourceLanguagePosition.getNodeId:()I
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_m1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.graalvm.compiler.graph.NodeSourcePosition position
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  position  Lorg/graalvm/compiler/graph/NodeSourcePosition;
    MethodParameters:
          Name  Flags
      position  

  private static java.lang.String formatSourceAndCompilation(java.lang.String, org.graalvm.compiler.graph.NodeSourcePosition);
    descriptor: (Ljava/lang/String;Lorg/graalvm/compiler/graph/NodeSourcePosition;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String compilation
        start local 1 // org.graalvm.compiler.graph.NodeSourcePosition pos
         0: .line 391
            aload 1 /* pos */
            ifnull 1
            aload 1 /* pos */
            invokevirtual org.graalvm.compiler.graph.NodeSourcePosition.getSourceLanguage:()Lorg/graalvm/compiler/graph/SourceLanguagePosition;
            ifnonnull 2
         1: .line 392
      StackMap locals:
      StackMap stack:
            aload 0 /* compilation */
            areturn
         2: .line 394
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* compilation */
            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 /* pos */
            invokestatic org.graalvm.compiler.truffle.compiler.ExpansionStatistics.formatSource:(Lorg/graalvm/compiler/graph/NodeSourcePosition;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // org.graalvm.compiler.graph.NodeSourcePosition pos
        end local 0 // java.lang.String compilation
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0  compilation  Ljava/lang/String;
            0    3     1          pos  Lorg/graalvm/compiler/graph/NodeSourcePosition;
    MethodParameters:
             Name  Flags
      compilation  
      pos          

  private static java.lang.String formatSource(org.graalvm.compiler.graph.NodeSourcePosition);
    descriptor: (Lorg/graalvm/compiler/graph/NodeSourcePosition;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // org.graalvm.compiler.graph.NodeSourcePosition pos
         0: .line 398
            aload 0 /* pos */
            ifnonnull 2
         1: .line 399
            ldc ""
            areturn
         2: .line 401
      StackMap locals:
      StackMap stack:
            aload 0 /* pos */
            invokevirtual org.graalvm.compiler.graph.NodeSourcePosition.getSourceLanguage:()Lorg/graalvm/compiler/graph/SourceLanguagePosition;
            astore 1 /* source */
        start local 1 // org.graalvm.compiler.graph.SourceLanguagePosition source
         3: .line 402
            aload 1 /* source */
            ifnonnull 5
         4: .line 403
            ldc ""
            areturn
         5: .line 407
      StackMap locals: org.graalvm.compiler.graph.SourceLanguagePosition
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* b */
        start local 3 // java.lang.StringBuilder b
         6: .line 408
            aload 3 /* b */
            aload 1 /* source */
            invokeinterface org.graalvm.compiler.graph.SourceLanguagePosition.getLanguage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 411
            aload 1 /* source */
            invokeinterface org.graalvm.compiler.graph.SourceLanguagePosition.getURI:()Ljava/net/URI;
            ifnull 8
            aload 1 /* source */
            invokeinterface org.graalvm.compiler.graph.SourceLanguagePosition.getURI:()Ljava/net/URI;
            invokevirtual java.net.URI.getPath:()Ljava/lang/String;
            goto 9
      StackMap locals: org.graalvm.compiler.graph.NodeSourcePosition org.graalvm.compiler.graph.SourceLanguagePosition top java.lang.StringBuilder
      StackMap stack:
         8: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
         9: astore 4 /* p */
        start local 4 // java.lang.String p
        10: .line 412
            aload 4 /* p */
            ifnull 15
        11: .line 413
            aload 4 /* p */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 5 /* lastIndex */
        start local 5 // int lastIndex
        12: .line 414
            iload 5 /* lastIndex */
            iconst_m1
            if_icmpeq 14
        13: .line 415
            aload 4 /* p */
            iload 5 /* lastIndex */
            iconst_1
            iadd
            aload 4 /* p */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* p */
        14: .line 417
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 3 /* b */
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* p */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 5 // int lastIndex
        15: .line 419
      StackMap locals:
      StackMap stack:
            aload 3 /* b */
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* source */
            invokeinterface org.graalvm.compiler.graph.SourceLanguagePosition.getLineNumber:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        16: .line 420
            aload 3 /* b */
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* source */
            invokeinterface org.graalvm.compiler.graph.SourceLanguagePosition.getOffsetStart:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        17: .line 421
            aload 3 /* b */
            ldc "-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* source */
            invokeinterface org.graalvm.compiler.graph.SourceLanguagePosition.getOffsetEnd:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        18: .line 422
            aload 3 /* b */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* sourceString */
        start local 2 // java.lang.String sourceString
        19: .line 423
            aload 2 /* sourceString */
            areturn
        end local 4 // java.lang.String p
        end local 3 // java.lang.StringBuilder b
        end local 2 // java.lang.String sourceString
        end local 1 // org.graalvm.compiler.graph.SourceLanguagePosition source
        end local 0 // org.graalvm.compiler.graph.NodeSourcePosition pos
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   20     0           pos  Lorg/graalvm/compiler/graph/NodeSourcePosition;
            3   20     1        source  Lorg/graalvm/compiler/graph/SourceLanguagePosition;
           19   20     2  sourceString  Ljava/lang/String;
            6   20     3             b  Ljava/lang/StringBuilder;
           10   20     4             p  Ljava/lang/String;
           12   15     5     lastIndex  I
    MethodParameters:
      Name  Flags
      pos   

  private static java.lang.String formatClassName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // java.lang.String qualifiedName
         0: .line 427
            aload 0 /* qualifiedName */
            ldc "\\."
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 1 /* chunks */
        start local 1 // java.lang.String[] chunks
         1: .line 428
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* b */
        start local 2 // java.lang.StringBuilder b
         2: .line 429
            ldc ""
            astore 3 /* sep */
        start local 3 // java.lang.String sep
         3: .line 430
            aload 1 /* chunks */
            arraylength
            iconst_1
            isub
            istore 4 /* i */
        start local 4 // int i
         4: goto 13
         5: .line 431
      StackMap locals: java.lang.String java.lang.String[] java.lang.StringBuilder java.lang.String int
      StackMap stack:
            aload 1 /* chunks */
            iload 4 /* i */
            aaload
            astore 5 /* chunk */
        start local 5 // java.lang.String chunk
         6: .line 432
            aload 5 /* chunk */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 8
         7: .line 433
            goto 14
         8: .line 435
      StackMap locals: java.lang.String
      StackMap stack:
            aload 5 /* chunk */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isUpperCase:(C)Z
            ifeq 14
         9: .line 436
            aload 2 /* b */
            aload 3 /* sep */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 437
            aload 2 /* b */
            aload 5 /* chunk */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 438
            ldc "."
            astore 3 /* sep */
        end local 5 // java.lang.String chunk
        12: .line 430
            iinc 4 /* i */ -1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            ifge 5
        end local 4 // int i
        14: .line 443
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            invokevirtual java.lang.StringBuilder.length:()I
            ifne 16
        15: .line 444
            aload 0 /* qualifiedName */
            areturn
        16: .line 446
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.String sep
        end local 2 // java.lang.StringBuilder b
        end local 1 // java.lang.String[] chunks
        end local 0 // java.lang.String qualifiedName
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0  qualifiedName  Ljava/lang/String;
            1   17     1         chunks  [Ljava/lang/String;
            2   17     2              b  Ljava/lang/StringBuilder;
            3   17     3            sep  Ljava/lang/String;
            4   14     4              i  I
            6   12     5          chunk  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      qualifiedName  

  private static jdk.vm.ci.meta.ResolvedJavaMethod lambda$0(org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode);
    descriptor: (Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode tree
         0: .line 166
            aload 0 /* tree */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode.position:Lorg/graalvm/compiler/graph/NodeSourcePosition;
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* tree */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode.position:Lorg/graalvm/compiler/graph/NodeSourcePosition;
            invokevirtual org.graalvm.compiler.graph.NodeSourcePosition.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
      StackMap locals:
      StackMap stack: jdk.vm.ci.meta.ResolvedJavaMethod
         2: areturn
        end local 0 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode tree
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  tree  Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;

  private static org.graalvm.compiler.truffle.compiler.ExpansionStatistics$NodeClassKey lambda$1(org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode);
    descriptor: (Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;)Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$NodeClassKey;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode tree
         0: .line 180
            new org.graalvm.compiler.truffle.compiler.ExpansionStatistics$NodeClassKey
            dup
            aload 0 /* tree */
            invokespecial org.graalvm.compiler.truffle.compiler.ExpansionStatistics$NodeClassKey.<init>:(Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;)V
            areturn
        end local 0 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode tree
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  tree  Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;

  private org.graalvm.compiler.truffle.compiler.ExpansionStatistics$NodeSpecializationKey lambda$2(org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode);
    descriptor: (Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;)Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$NodeSpecializationKey;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics this
        start local 1 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode tree
         0: .line 185
            new org.graalvm.compiler.truffle.compiler.ExpansionStatistics$NodeSpecializationKey
            dup
            aload 1 /* tree */
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics.isSpecializationMethodCache:Ljava/util/concurrent/ConcurrentHashMap;
            invokespecial org.graalvm.compiler.truffle.compiler.ExpansionStatistics$NodeSpecializationKey.<init>:(Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;Ljava/util/concurrent/ConcurrentHashMap;)V
            areturn
        end local 1 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode tree
        end local 0 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics;
            0    1     1  tree  Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;

  private static java.lang.String lambda$4(org.graalvm.compiler.truffle.compiler.ExpansionStatistics$NodeClassKey);
    descriptor: (Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$NodeClassKey;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$NodeClassKey info
         0: .line 201
            aload 0 /* info */
            ifnonnull 1
            ldc "no info"
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* info */
            invokevirtual org.graalvm.compiler.truffle.compiler.ExpansionStatistics$NodeClassKey.getLabel:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$NodeClassKey info
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  info  Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$NodeClassKey;

  private static java.lang.String lambda$5(org.graalvm.compiler.truffle.compiler.ExpansionStatistics$NodeSpecializationKey);
    descriptor: (Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$NodeSpecializationKey;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$NodeSpecializationKey s
         0: .line 203
            aload 0 /* s */
            invokevirtual org.graalvm.compiler.truffle.compiler.ExpansionStatistics$NodeSpecializationKey.getLabel:()Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$NodeSpecializationKey s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$NodeSpecializationKey;

  private static org.graalvm.compiler.truffle.compiler.ExpansionStatistics$NodeClassKey lambda$6(org.graalvm.compiler.truffle.compiler.ExpansionStatistics$NodeSpecializationKey);
    descriptor: (Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$NodeSpecializationKey;)Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$NodeClassKey;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$NodeSpecializationKey s
         0: .line 204
            aload 0 /* s */
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$NodeSpecializationKey.classKey:Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$NodeClassKey;
            areturn
        end local 0 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$NodeSpecializationKey s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$NodeSpecializationKey;

  private static java.util.List lambda$9(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/util/List;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object k
         0: .line 220
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            areturn
        end local 0 // java.lang.Object k
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     k  TT;

  private static org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode lambda$11(org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode, org.graalvm.compiler.graph.NodeSourcePosition, org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode, org.graalvm.compiler.truffle.compiler.ExpansionStatistics$MethodKey);
    descriptor: (Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;Lorg/graalvm/compiler/graph/NodeSourcePosition;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$MethodKey;)Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=4, args_size=4
        start local 3 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$MethodKey p
         0: .line 331
            new org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode
            dup
            aload 0
            aload 1
            aload 2
            getfield org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode.label:Ljava/util/function/Function;
            invokespecial org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode.<init>:(Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$TreeNode;Lorg/graalvm/compiler/graph/NodeSourcePosition;Ljava/util/function/Function;)V
            areturn
        end local 3 // org.graalvm.compiler.truffle.compiler.ExpansionStatistics$MethodKey p
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     3     p  Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$MethodKey;

  private static org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats lambda$12(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/graalvm/compiler/truffle/compiler/ExpansionStatistics$Stats;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object m
         0: .line 344
            new org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats
            dup
            invokespecial org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats.<init>:()V
            areturn
        end local 0 // java.lang.Object m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     m  TT;
}
SourceFile: "ExpansionStatistics.java"
NestMembers:
  org.graalvm.compiler.truffle.compiler.ExpansionStatistics$MethodKey  org.graalvm.compiler.truffle.compiler.ExpansionStatistics$NodeClassKey  org.graalvm.compiler.truffle.compiler.ExpansionStatistics$NodeSpecializationKey  org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats  org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Sums  org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public ScheduleResult = org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult of org.graalvm.compiler.nodes.StructuredGraph
  public final SchedulingStrategy = org.graalvm.compiler.phases.schedule.SchedulePhase$SchedulingStrategy of org.graalvm.compiler.phases.schedule.SchedulePhase
  private MethodKey = org.graalvm.compiler.truffle.compiler.ExpansionStatistics$MethodKey of org.graalvm.compiler.truffle.compiler.ExpansionStatistics
  private NodeClassKey = org.graalvm.compiler.truffle.compiler.ExpansionStatistics$NodeClassKey of org.graalvm.compiler.truffle.compiler.ExpansionStatistics
  private NodeSpecializationKey = org.graalvm.compiler.truffle.compiler.ExpansionStatistics$NodeSpecializationKey of org.graalvm.compiler.truffle.compiler.ExpansionStatistics
  final Stats = org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Stats of org.graalvm.compiler.truffle.compiler.ExpansionStatistics
  Sums = org.graalvm.compiler.truffle.compiler.ExpansionStatistics$Sums of org.graalvm.compiler.truffle.compiler.ExpansionStatistics
  final TreeNode = org.graalvm.compiler.truffle.compiler.ExpansionStatistics$TreeNode of org.graalvm.compiler.truffle.compiler.ExpansionStatistics
  public final CompilationTier = org.graalvm.compiler.truffle.options.PolyglotCompilerOptions$CompilationTier of org.graalvm.compiler.truffle.options.PolyglotCompilerOptions