public class org.graalvm.compiler.hotspot.debug.BenchmarkCounters
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.hotspot.debug.BenchmarkCounters
  super_class: java.lang.Object
{
  public static boolean enabled;
    descriptor: Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static final java.util.concurrent.ConcurrentHashMap<java.lang.String, org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter> counterMap;
    descriptor: Ljava/util/concurrent/ConcurrentHashMap;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;>;

  public static long[] delta;
    descriptor: [J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  private static final java.lang.String CSV_FMT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  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=4, locals=0, args_size=0
         0: .line 90
            ldc Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters;
            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.hotspot.debug.BenchmarkCounters.$assertionsDisabled:Z
         3: .line 119
            iconst_0
            putstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.enabled:Z
         4: .line 133
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.counterMap:Ljava/util/concurrent/ConcurrentHashMap;
         5: .line 283
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
            ldc "%s"
            aastore
            dup
            iconst_1
            ldc "%s"
            aastore
            dup
            iconst_2
            ldc "%s"
            aastore
            dup
            iconst_3
            ldc "%d"
            aastore
            invokestatic org.graalvm.compiler.debug.CSVUtil.buildFormatString:([Ljava/lang/String;)Ljava/lang/String;
            putstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.CSV_FMT:Ljava/lang/String;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.debug.BenchmarkCounters this
         0: .line 90
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.compiler.hotspot.debug.BenchmarkCounters this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters;

  public static int getIndexConstantIncrement(java.lang.String, java.lang.String, org.graalvm.compiler.hotspot.GraalHotSpotVMConfig, long);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;J)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // java.lang.String name
        start local 1 // java.lang.String group
        start local 2 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config
        start local 3 // long increment
         0: .line 137
            aload 0 /* name */
            aload 1 /* group */
            aload 2 /* config */
            invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.getCounter:(Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;
            astore 5 /* counter */
        start local 5 // org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter counter
         1: .line 138
            aload 5 /* counter */
            getfield org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter.staticCounters:Ljava/util/concurrent/atomic/AtomicLong;
            lload 3 /* increment */
            invokevirtual java.util.concurrent.atomic.AtomicLong.addAndGet:(J)J
            pop2
         2: .line 139
            aload 5 /* counter */
            getfield org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter.index:I
            ireturn
        end local 5 // org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter counter
        end local 3 // long increment
        end local 2 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config
        end local 1 // java.lang.String group
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       name  Ljava/lang/String;
            0    3     1      group  Ljava/lang/String;
            0    3     2     config  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            0    3     3  increment  J
            1    3     5    counter  Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;
    MethodParameters:
           Name  Flags
      name       
      group      
      config     
      increment  

  public static int getIndex(java.lang.String, java.lang.String, org.graalvm.compiler.hotspot.GraalHotSpotVMConfig);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.String name
        start local 1 // java.lang.String group
        start local 2 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config
         0: .line 143
            aload 0 /* name */
            aload 1 /* group */
            aload 2 /* config */
            invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.getCounter:(Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;
            astore 3 /* counter */
        start local 3 // org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter counter
         1: .line 144
            aload 3 /* counter */
            getfield org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter.index:I
            ireturn
        end local 3 // org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter counter
        end local 2 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config
        end local 1 // java.lang.String group
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     name  Ljava/lang/String;
            0    2     1    group  Ljava/lang/String;
            0    2     2   config  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            1    2     3  counter  Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;
    MethodParameters:
        Name  Flags
      name    
      group   
      config  

  private static org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter getCounter(java.lang.String, java.lang.String, org.graalvm.compiler.hotspot.GraalHotSpotVMConfig);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // java.lang.String name
        start local 1 // java.lang.String group
        start local 2 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config
         0: .line 149
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.enabled:Z
            ifne 2
         1: .line 150
            new org.graalvm.compiler.debug.GraalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "cannot access count index when counters are not enabled: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* group */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 152
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* name */
            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 /* group */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* nameGroup */
        start local 3 // java.lang.String nameGroup
         3: .line 153
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.counterMap:Ljava/util/concurrent/ConcurrentHashMap;
            aload 3 /* nameGroup */
            invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter
            astore 4 /* counter */
        start local 4 // org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter counter
         4: .line 154
            aload 4 /* counter */
            ifnonnull 14
         5: .line 155
            ldc Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters;
            dup
            astore 5
            monitorenter
         6: .line 156
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.counterMap:Ljava/util/concurrent/ConcurrentHashMap;
            aload 3 /* nameGroup */
            invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter
            astore 4 /* counter */
         7: .line 157
            aload 4 /* counter */
            ifnonnull 10
         8: .line 158
            new org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter
            dup
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.counterMap:Ljava/util/concurrent/ConcurrentHashMap;
            invokevirtual java.util.concurrent.ConcurrentHashMap.size:()I
            aload 1 /* group */
            new java.util.concurrent.atomic.AtomicLong
            dup
            invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
            invokespecial org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter.<init>:(ILjava/lang/String;Ljava/util/concurrent/atomic/AtomicLong;)V
            astore 4 /* counter */
         9: .line 159
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.counterMap:Ljava/util/concurrent/ConcurrentHashMap;
            aload 3 /* nameGroup */
            aload 4 /* counter */
            invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 155
      StackMap locals: java.lang.String org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter java.lang.Class
      StackMap stack:
            aload 5
            monitorexit
        11: goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: aload 5
            monitorexit
        13: athrow
        14: .line 163
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.$assertionsDisabled:Z
            ifne 15
            aload 4 /* counter */
            getfield org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter.group:Ljava/lang/String;
            aload 1 /* group */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "mismatching groups: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* counter */
            getfield org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter.group:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " vs. "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* group */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        15: .line 164
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.jvmciCountersSize:I
            istore 5 /* countersSize */
        start local 5 // int countersSize
        16: .line 165
            aload 4 /* counter */
            getfield org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter.index:I
            iload 5 /* countersSize */
            if_icmplt 18
        17: .line 166
            new org.graalvm.compiler.debug.GraalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "too many counters, reduce number of counters or increase -XX:JVMCICounterSize=... (current value: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* countersSize */
            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;
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 168
      StackMap locals: int
      StackMap stack:
            aload 4 /* counter */
            areturn
        end local 5 // int countersSize
        end local 4 // org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter counter
        end local 3 // java.lang.String nameGroup
        end local 2 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config
        end local 1 // java.lang.String group
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   19     0          name  Ljava/lang/String;
            0   19     1         group  Ljava/lang/String;
            0   19     2        config  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            3   19     3     nameGroup  Ljava/lang/String;
            4   19     4       counter  Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;
           16   19     5  countersSize  I
      Exception table:
        from    to  target  type
           6    11      12  any
          12    13      12  any
    Exceptions:
      throws org.graalvm.compiler.debug.GraalError
    RuntimeInvisibleAnnotations: 
      org.graalvm.compiler.core.common.SuppressFBWarnings(value = {"AT_OPERATION_SEQUENCE_ON_CONCURRENT_ABSTRACTION"}, justification = "concurrent abstraction calls are in synchronized block")
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        org.graalvm.compiler.core.common.SuppressFBWarnings(value = {"AT_OPERATION_SEQUENCE_ON_CONCURRENT_ABSTRACTION"}, justification = "concurrent abstraction calls are in synchronized block")
    MethodParameters:
        Name  Flags
      name    
      group   
      config  

  private static synchronized void dump(java.io.PrintStream, double, long[], int);
    descriptor: (Ljava/io/PrintStream;D[JI)V
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=8, args_size=4
        start local 0 // java.io.PrintStream out
        start local 1 // double seconds
        start local 3 // long[] counters
        start local 4 // int maxRows
         0: .line 172
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.counterMap:Ljava/util/concurrent/ConcurrentHashMap;
            invokevirtual java.util.concurrent.ConcurrentHashMap.isEmpty:()Z
            ifne 16
         1: .line 173
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.DynamicCountersHumanReadable:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 3
         2: .line 174
            aload 0 /* out */
            new java.lang.StringBuilder
            dup
            ldc "====== dynamic counters ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.counterMap:Ljava/util/concurrent/ConcurrentHashMap;
            invokevirtual java.util.concurrent.ConcurrentHashMap.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " in total) ======"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 176
      StackMap locals:
      StackMap stack:
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
            astore 5 /* set */
        start local 5 // java.util.TreeSet set
         4: .line 177
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.counterMap:Ljava/util/concurrent/ConcurrentHashMap;
            aload 5 /* set */
            invokedynamic accept(Ljava/util/TreeSet;)Ljava/util/function/BiConsumer;
              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;)V
                  org/graalvm/compiler/hotspot/debug/BenchmarkCounters.lambda$0(Ljava/util/TreeSet;Ljava/lang/String;Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;)V (6)
                  (Ljava/lang/String;Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;)V
            invokevirtual java.util.concurrent.ConcurrentHashMap.forEach:(Ljava/util/function/BiConsumer;)V
         5: .line 178
            aload 5 /* set */
            invokevirtual java.util.TreeSet.iterator:()Ljava/util/Iterator;
            astore 7
            goto 12
      StackMap locals: java.io.PrintStream double long[] int java.util.TreeSet top java.util.Iterator
      StackMap stack:
         6: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* group */
        start local 6 // java.lang.String group
         7: .line 179
            aload 6 /* group */
            ifnull 12
         8: .line 180
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.BenchmarkCountersDumpStatic:Lorg/graalvm/compiler/options/StableOptionValue;
            invokevirtual org.graalvm.compiler.options.StableOptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 10
         9: .line 181
            aload 0 /* out */
            dload 1 /* seconds */
            aload 3 /* counters */
            iconst_1
            aload 6 /* group */
            iload 4 /* maxRows */
            invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.dumpCounters:(Ljava/io/PrintStream;D[JZLjava/lang/String;I)V
        10: .line 183
      StackMap locals: java.io.PrintStream double long[] int java.util.TreeSet java.lang.String java.util.Iterator
      StackMap stack:
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.BenchmarkCountersDumpDynamic:Lorg/graalvm/compiler/options/StableOptionValue;
            invokevirtual org.graalvm.compiler.options.StableOptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 12
        11: .line 184
            aload 0 /* out */
            dload 1 /* seconds */
            aload 3 /* counters */
            iconst_0
            aload 6 /* group */
            iload 4 /* maxRows */
            invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.dumpCounters:(Ljava/io/PrintStream;D[JZLjava/lang/String;I)V
        end local 6 // java.lang.String group
        12: .line 178
      StackMap locals: java.io.PrintStream double long[] int java.util.TreeSet top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        13: .line 188
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.DynamicCountersHumanReadable:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 15
        14: .line 189
            aload 0 /* out */
            ldc "============================"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        15: .line 192
      StackMap locals: java.io.PrintStream double long[] int java.util.TreeSet
      StackMap stack:
            aload 3 /* counters */
            invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.clear:([J)V
        end local 5 // java.util.TreeSet set
        16: .line 194
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int maxRows
        end local 3 // long[] counters
        end local 1 // double seconds
        end local 0 // java.io.PrintStream out
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0       out  Ljava/io/PrintStream;
            0   17     1   seconds  D
            0   17     3  counters  [J
            0   17     4   maxRows  I
            4   16     5       set  Ljava/util/TreeSet<Ljava/lang/String;>;
            7   12     6     group  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      out       
      seconds   
      counters  
      maxRows   

  private static synchronized void clear(long[]);
    descriptor: ([J)V
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // long[] counters
         0: .line 197
            aload 0 /* counters */
            putstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.delta:[J
         1: .line 198
            return
        end local 0 // long[] counters
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  counters  [J
    MethodParameters:
          Name  Flags
      counters  

  private static synchronized void dumpCounters(java.io.PrintStream, double, long[], boolean, java.lang.String, int);
    descriptor: (Ljava/io/PrintStream;D[JZLjava/lang/String;I)V
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=8, locals=10, args_size=6
        start local 0 // java.io.PrintStream out
        start local 1 // double seconds
        start local 3 // long[] counters
        start local 4 // boolean staticCounter
        start local 5 // java.lang.String group
        start local 6 // int maxRows
         0: .line 204
            iload 4 /* staticCounter */
            ifeq 7
         1: .line 205
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.counterMap:Ljava/util/concurrent/ConcurrentHashMap;
            invokevirtual java.util.concurrent.ConcurrentHashMap.size:()I
            newarray 11
            astore 7 /* array */
        start local 7 // long[] array
         2: .line 206
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.counterMap:Ljava/util/concurrent/ConcurrentHashMap;
            invokevirtual java.util.concurrent.ConcurrentHashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 9
            goto 5
      StackMap locals: java.io.PrintStream double long[] int java.lang.String int long[] top java.util.Iterator
      StackMap stack:
         3: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter
            astore 8 /* counter */
        start local 8 // org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter counter
         4: .line 207
            aload 7 /* array */
            aload 8 /* counter */
            getfield org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter.index:I
            aload 8 /* counter */
            getfield org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter.staticCounters:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lastore
        end local 8 // org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter counter
         5: .line 206
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 209
            goto 13
        end local 7 // long[] array
         7: .line 210
      StackMap locals: java.io.PrintStream double long[] int java.lang.String int
      StackMap stack:
            aload 3 /* counters */
            invokevirtual long[].clone:()Ljava/lang/Object;
            checkcast long[]
            astore 7 /* array */
        start local 7 // long[] array
         8: .line 211
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         9: goto 12
        10: .line 212
      StackMap locals: long[] int
      StackMap stack:
            aload 7 /* array */
            iload 8 /* i */
            dup2
            laload
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.delta:[J
            iload 8 /* i */
            laload
            lsub
            lastore
        11: .line 211
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 8 /* i */
            aload 7 /* array */
            arraylength
            if_icmplt 10
        end local 8 // int i
        13: .line 215
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.counterMap:Ljava/util/concurrent/ConcurrentHashMap;
            invokevirtual java.util.concurrent.ConcurrentHashMap.entrySet:()Ljava/util/Set;
            astore 8 /* counterEntrySet */
        start local 8 // java.util.Set counterEntrySet
        14: .line 216
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.DynamicCountersHumanReadable:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 17
        15: .line 217
            aload 0 /* out */
            dload 1 /* seconds */
            iload 4 /* staticCounter */
            aload 5 /* group */
            iload 6 /* maxRows */
            aload 7 /* array */
            aload 8 /* counterEntrySet */
            invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.dumpHumanReadable:(Ljava/io/PrintStream;DZLjava/lang/String;I[JLjava/util/Set;)V
        16: .line 218
            goto 18
        17: .line 219
      StackMap locals: java.util.Set
      StackMap stack:
            aload 0 /* out */
            iload 4 /* staticCounter */
            aload 5 /* group */
            aload 7 /* array */
            aload 8 /* counterEntrySet */
            invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.dumpComputerReadable:(Ljava/io/PrintStream;ZLjava/lang/String;[JLjava/util/Set;)V
        18: .line 221
      StackMap locals:
      StackMap stack:
            return
        end local 8 // java.util.Set counterEntrySet
        end local 7 // long[] array
        end local 6 // int maxRows
        end local 5 // java.lang.String group
        end local 4 // boolean staticCounter
        end local 3 // long[] counters
        end local 1 // double seconds
        end local 0 // java.io.PrintStream out
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   19     0              out  Ljava/io/PrintStream;
            0   19     1          seconds  D
            0   19     3         counters  [J
            0   19     4    staticCounter  Z
            0   19     5            group  Ljava/lang/String;
            0   19     6          maxRows  I
            2    7     7            array  [J
            8   19     7            array  [J
            4    5     8          counter  Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;
            9   13     8                i  I
           14   19     8  counterEntrySet  Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;>;>;
    MethodParameters:
               Name  Flags
      out            
      seconds        
      counters       
      staticCounter  
      group          
      maxRows        

  private static java.lang.String getName(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String nameGroup
        start local 1 // java.lang.String group
         0: .line 224
            aload 0 /* nameGroup */
            iconst_0
            aload 0 /* nameGroup */
            invokevirtual java.lang.String.length:()I
            aload 1 /* group */
            invokevirtual java.lang.String.length:()I
            isub
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String group
        end local 0 // java.lang.String nameGroup
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  nameGroup  Ljava/lang/String;
            0    1     1      group  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      nameGroup  
      group      

  private static void dumpHumanReadable(java.io.PrintStream, double, boolean, java.lang.String, int, long[], java.util.Set<java.util.Map$Entry<java.lang.String, org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter>>);
    descriptor: (Ljava/io/PrintStream;DZLjava/lang/String;I[JLjava/util/Set;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=10, locals=20, args_size=7
        start local 0 // java.io.PrintStream out
        start local 1 // double seconds
        start local 3 // boolean staticCounter
        start local 4 // java.lang.String group
        start local 5 // int maxRows
        start local 6 // long[] array
        start local 7 // java.util.Set counterEntrySet
         0: .line 229
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            astore 8 /* sorted */
        start local 8 // java.util.TreeMap sorted
         1: .line 230
            lconst_0
            lstore 9 /* sum */
        start local 9 // long sum
         2: .line 231
            aload 7 /* counterEntrySet */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 12
            goto 9
      StackMap locals: java.io.PrintStream double int java.lang.String int long[] java.util.Set java.util.TreeMap long top java.util.Iterator
      StackMap stack:
         3: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 11 /* entry */
        start local 11 // java.util.Map$Entry entry
         4: .line 232
            aload 11 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter
            astore 13 /* counter */
        start local 13 // org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter counter
         5: .line 233
            aload 13 /* counter */
            getfield org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter.index:I
            istore 14 /* index */
        start local 14 // int index
         6: .line 234
            aload 13 /* counter */
            getfield org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter.group:Ljava/lang/String;
            aload 4 /* group */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         7: .line 235
            lload 9 /* sum */
            aload 6 /* array */
            iload 14 /* index */
            laload
            ladd
            lstore 9 /* sum */
         8: .line 236
            aload 8 /* sorted */
            aload 6 /* array */
            iload 14 /* index */
            laload
            aload 6 /* array */
            arraylength
            i2l
            lmul
            iload 14 /* index */
            i2l
            ladd
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aload 11 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 4 /* group */
            invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.getName:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 14 // int index
        end local 13 // org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter counter
        end local 11 // java.util.Map$Entry entry
         9: .line 231
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        10: .line 240
            lload 9 /* sum */
            lconst_0
            lcmp
            ifle 51
        11: .line 241
            aload 8 /* sorted */
            invokevirtual java.util.TreeMap.size:()I
            bipush 10
            if_icmpge 12
            lconst_1
            goto 13
      StackMap locals: java.io.PrintStream double int java.lang.String int long[] java.util.Set java.util.TreeMap long
      StackMap stack:
        12: lconst_1
            lload 9 /* sum */
            ldc 100
            ldiv
            invokestatic java.lang.Math.max:(JJ)J
      StackMap locals:
      StackMap stack: long
        13: lstore 11 /* cutoff */
        start local 11 // long cutoff
        14: .line 242
            aload 8 /* sorted */
            invokevirtual java.util.TreeMap.size:()I
            istore 13 /* cnt */
        start local 13 // int cnt
        15: .line 245
            aload 8 /* sorted */
            invokevirtual java.util.TreeMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 14 /* iter */
        start local 14 // java.util.Iterator iter
        16: .line 246
            goto 22
        17: .line 247
      StackMap locals: long int java.util.Iterator
      StackMap stack:
            aload 14 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 15 /* entry */
        start local 15 // java.util.Map$Entry entry
        18: .line 248
            aload 15 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            aload 6 /* array */
            arraylength
            i2l
            ldiv
            lstore 16 /* counter */
        start local 16 // long counter
        19: .line 249
            lload 16 /* counter */
            lload 11 /* cutoff */
            lcmp
            iflt 20
            iload 13 /* cnt */
            iload 5 /* maxRows */
            if_icmple 21
        20: .line 250
      StackMap locals: java.util.Map$Entry long
      StackMap stack:
            aload 14 /* iter */
            invokeinterface java.util.Iterator.remove:()V
        21: .line 252
      StackMap locals:
      StackMap stack:
            iinc 13 /* cnt */ -1
        end local 16 // long counter
        end local 15 // java.util.Map$Entry entry
        22: .line 246
      StackMap locals:
      StackMap stack:
            aload 14 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        23: .line 255
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.DynamicCountersPrintGroupSeparator:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 24
            ldc "%,19d"
            goto 25
      StackMap locals:
      StackMap stack:
        24: ldc "%19d"
      StackMap locals:
      StackMap stack: java.lang.String
        25: astore 15 /* numFmt */
        start local 15 // java.lang.String numFmt
        26: .line 256
            iload 3 /* staticCounter */
            ifeq 35
        27: .line 257
            aload 0 /* out */
            new java.lang.StringBuilder
            dup
            ldc "=========== "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* group */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " (static counters):"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        28: .line 258
            aload 8 /* sorted */
            invokevirtual java.util.TreeMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 17
            goto 32
      StackMap locals: java.io.PrintStream double int java.lang.String int long[] java.util.Set java.util.TreeMap long long int java.util.Iterator java.lang.String top java.util.Iterator
      StackMap stack:
        29: 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
        30: .line 259
            aload 16 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            aload 6 /* array */
            arraylength
            i2l
            ldiv
            lstore 18 /* counter */
        start local 18 // long counter
        31: .line 260
            aload 0 /* out */
            getstatic java.util.Locale.US:Ljava/util/Locale;
            new java.lang.StringBuilder
            dup
            aload 15 /* numFmt */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " %3d%%  %s\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            lload 18 /* counter */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            lload 18 /* counter */
            lload 9 /* sum */
            invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.percentage:(JJ)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
            aload 16 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            aastore
            invokevirtual java.io.PrintStream.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        end local 18 // long counter
        end local 16 // java.util.Map$Entry entry
        32: .line 258
      StackMap locals:
      StackMap stack:
            aload 17
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 29
        33: .line 262
            aload 0 /* out */
            getstatic java.util.Locale.US:Ljava/util/Locale;
            new java.lang.StringBuilder
            dup
            aload 15 /* numFmt */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " total\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
            lload 9 /* sum */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual java.io.PrintStream.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        34: .line 263
            goto 51
        35: .line 264
      StackMap locals: java.io.PrintStream double int java.lang.String int long[] java.util.Set java.util.TreeMap long long int java.util.Iterator java.lang.String
      StackMap stack:
            aload 4 /* group */
            ldc "~"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 44
        36: .line 265
            aload 0 /* out */
            new java.lang.StringBuilder
            dup
            ldc "=========== "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* group */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " (dynamic counters), time = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            dload 1 /* seconds */
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            ldc " s:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        37: .line 266
            aload 8 /* sorted */
            invokevirtual java.util.TreeMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 17
            goto 41
      StackMap locals: java.io.PrintStream double int java.lang.String int long[] java.util.Set java.util.TreeMap long long int java.util.Iterator java.lang.String top java.util.Iterator
      StackMap stack:
        38: 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
        39: .line 267
            aload 16 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            aload 6 /* array */
            arraylength
            i2l
            ldiv
            lstore 18 /* counter */
        start local 18 // long counter
        40: .line 268
            aload 0 /* out */
            getstatic java.util.Locale.US:Ljava/util/Locale;
            new java.lang.StringBuilder
            dup
            aload 15 /* numFmt */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/s %3d%%  %s\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            lload 18 /* counter */
            l2d
            dload 1 /* seconds */
            ddiv
            d2l
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            lload 18 /* counter */
            lload 9 /* sum */
            invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.percentage:(JJ)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
            aload 16 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            aastore
            invokevirtual java.io.PrintStream.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        end local 18 // long counter
        end local 16 // java.util.Map$Entry entry
        41: .line 266
      StackMap locals:
      StackMap stack:
            aload 17
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 38
        42: .line 270
            aload 0 /* out */
            getstatic java.util.Locale.US:Ljava/util/Locale;
            new java.lang.StringBuilder
            dup
            aload 15 /* numFmt */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/s total\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
            lload 9 /* sum */
            l2d
            dload 1 /* seconds */
            ddiv
            d2l
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual java.io.PrintStream.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        43: .line 271
            goto 51
        44: .line 272
      StackMap locals: java.io.PrintStream double int java.lang.String int long[] java.util.Set java.util.TreeMap long long int java.util.Iterator java.lang.String
      StackMap stack:
            aload 0 /* out */
            new java.lang.StringBuilder
            dup
            ldc "=========== "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* group */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " (dynamic counters):"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        45: .line 273
            aload 8 /* sorted */
            invokevirtual java.util.TreeMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 17
            goto 49
      StackMap locals: java.io.PrintStream double int java.lang.String int long[] java.util.Set java.util.TreeMap long long int java.util.Iterator java.lang.String top java.util.Iterator
      StackMap stack:
        46: 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
        47: .line 274
            aload 16 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            aload 6 /* array */
            arraylength
            i2l
            ldiv
            lstore 18 /* counter */
        start local 18 // long counter
        48: .line 275
            aload 0 /* out */
            getstatic java.util.Locale.US:Ljava/util/Locale;
            new java.lang.StringBuilder
            dup
            aload 15 /* numFmt */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " %3d%%  %s\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            lload 18 /* counter */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            lload 18 /* counter */
            lload 9 /* sum */
            invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.percentage:(JJ)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
            aload 16 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            aastore
            invokevirtual java.io.PrintStream.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        end local 18 // long counter
        end local 16 // java.util.Map$Entry entry
        49: .line 273
      StackMap locals:
      StackMap stack:
            aload 17
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 46
        50: .line 277
            aload 0 /* out */
            getstatic java.util.Locale.US:Ljava/util/Locale;
            new java.lang.StringBuilder
            dup
            aload 15 /* numFmt */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " total\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
            lload 9 /* sum */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual java.io.PrintStream.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        end local 15 // java.lang.String numFmt
        end local 14 // java.util.Iterator iter
        end local 13 // int cnt
        end local 11 // long cutoff
        51: .line 281
      StackMap locals: java.io.PrintStream double int java.lang.String int long[] java.util.Set java.util.TreeMap long
      StackMap stack:
            return
        end local 9 // long sum
        end local 8 // java.util.TreeMap sorted
        end local 7 // java.util.Set counterEntrySet
        end local 6 // long[] array
        end local 5 // int maxRows
        end local 4 // java.lang.String group
        end local 3 // boolean staticCounter
        end local 1 // double seconds
        end local 0 // java.io.PrintStream out
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   52     0              out  Ljava/io/PrintStream;
            0   52     1          seconds  D
            0   52     3    staticCounter  Z
            0   52     4            group  Ljava/lang/String;
            0   52     5          maxRows  I
            0   52     6            array  [J
            0   52     7  counterEntrySet  Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;>;>;
            1   52     8           sorted  Ljava/util/TreeMap<Ljava/lang/Long;Ljava/lang/String;>;
            2   52     9              sum  J
            4    9    11            entry  Ljava/util/Map$Entry<Ljava/lang/String;Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;>;
            5    9    13          counter  Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;
            6    9    14            index  I
           14   51    11           cutoff  J
           15   51    13              cnt  I
           16   51    14             iter  Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/Long;Ljava/lang/String;>;>;
           18   22    15            entry  Ljava/util/Map$Entry<Ljava/lang/Long;Ljava/lang/String;>;
           19   22    16          counter  J
           26   51    15           numFmt  Ljava/lang/String;
           30   32    16            entry  Ljava/util/Map$Entry<Ljava/lang/Long;Ljava/lang/String;>;
           31   32    18          counter  J
           39   41    16            entry  Ljava/util/Map$Entry<Ljava/lang/Long;Ljava/lang/String;>;
           40   41    18          counter  J
           47   49    16            entry  Ljava/util/Map$Entry<Ljava/lang/Long;Ljava/lang/String;>;
           48   49    18          counter  J
    Signature: (Ljava/io/PrintStream;DZLjava/lang/String;I[JLjava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;>;>;)V
    MethodParameters:
                 Name  Flags
      out              
      seconds          
      staticCounter    
      group            
      maxRows          
      array            
      counterEntrySet  

  private static void dumpComputerReadable(java.io.PrintStream, boolean, java.lang.String, long[], java.util.Set<java.util.Map$Entry<java.lang.String, org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter>>);
    descriptor: (Ljava/io/PrintStream;ZLjava/lang/String;[JLjava/util/Set;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=13, args_size=5
        start local 0 // java.io.PrintStream out
        start local 1 // boolean staticCounter
        start local 2 // java.lang.String group
        start local 3 // long[] array
        start local 4 // java.util.Set counterEntrySet
         0: .line 286
            iload 1 /* staticCounter */
            ifeq 1
            ldc "static counters"
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc "dynamic counters"
      StackMap locals:
      StackMap stack: java.lang.String
         2: astore 5 /* category */
        start local 5 // java.lang.String category
         3: .line 287
            aload 4 /* counterEntrySet */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 11
      StackMap locals: java.io.PrintStream int java.lang.String long[] java.util.Set java.lang.String top java.util.Iterator
      StackMap stack:
         4: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* entry */
        start local 6 // java.util.Map$Entry entry
         5: .line 288
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter
            astore 8 /* counter */
        start local 8 // org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter counter
         6: .line 289
            aload 8 /* counter */
            getfield org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter.group:Ljava/lang/String;
            aload 2 /* group */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
         7: .line 290
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 2 /* group */
            invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.getName:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* name */
        start local 9 // java.lang.String name
         8: .line 291
            aload 8 /* counter */
            getfield org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter.index:I
            istore 10 /* index */
        start local 10 // int index
         9: .line 292
            aload 3 /* array */
            iload 10 /* index */
            laload
            lstore 11 /* value */
        start local 11 // long value
        10: .line 293
            aload 0 /* out */
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.CSV_FMT:Ljava/lang/String;
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* category */
            aastore
            dup
            iconst_1
            aload 2 /* group */
            aastore
            dup
            iconst_2
            aload 9 /* name */
            aastore
            dup
            iconst_3
            lload 11 /* value */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokestatic org.graalvm.compiler.debug.CSVUtil$Escape.println:(Ljava/io/PrintStream;Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        end local 11 // long value
        end local 10 // int index
        end local 9 // java.lang.String name
        end local 8 // org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter counter
        end local 6 // java.util.Map$Entry entry
        11: .line 287
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        12: .line 296
            return
        end local 5 // java.lang.String category
        end local 4 // java.util.Set counterEntrySet
        end local 3 // long[] array
        end local 2 // java.lang.String group
        end local 1 // boolean staticCounter
        end local 0 // java.io.PrintStream out
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0              out  Ljava/io/PrintStream;
            0   13     1    staticCounter  Z
            0   13     2            group  Ljava/lang/String;
            0   13     3            array  [J
            0   13     4  counterEntrySet  Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;>;>;
            3   13     5         category  Ljava/lang/String;
            5   11     6            entry  Ljava/util/Map$Entry<Ljava/lang/String;Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;>;
            6   11     8          counter  Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;
            8   11     9             name  Ljava/lang/String;
            9   11    10            index  I
           10   11    11            value  J
    Signature: (Ljava/io/PrintStream;ZLjava/lang/String;[JLjava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;>;>;)V
    MethodParameters:
                 Name  Flags
      out              
      staticCounter    
      group            
      array            
      counterEntrySet  

  private static long percentage(long, long);
    descriptor: (JJ)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // long counter
        start local 2 // long sum
         0: .line 299
            lload 0 /* counter */
            ldc 200
            lmul
            lconst_1
            ladd
            lload 2 /* sum */
            ldiv
            ldc 2
            ldiv
            lreturn
        end local 2 // long sum
        end local 0 // long counter
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  counter  J
            0    1     2      sum  J
    MethodParameters:
         Name  Flags
      counter  
      sum      

  public static void initialize(jdk.vm.ci.hotspot.HotSpotJVMCIRuntime);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=3, args_size=1
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime jvmciRuntime
         0: .line 386
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.BenchmarkDynamicCounters:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
            ifnull 16
         1: .line 387
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.BenchmarkDynamicCounters:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 1 /* arguments */
        start local 1 // java.lang.String[] arguments
         2: .line 388
            aload 1 /* arguments */
            arraylength
            ifeq 3
            aload 1 /* arguments */
            arraylength
            iconst_3
            irem
            ifeq 4
         3: .line 389
      StackMap locals: java.lang.String[]
      StackMap stack:
            new org.graalvm.compiler.debug.GraalError
            dup
            ldc "invalid arguments to BenchmarkDynamicCounters: (err|out),start,end,(err|out),start,end,... (~ matches multiple digits)"
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 391
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         5: goto 14
         6: .line 392
      StackMap locals: int
      StackMap stack:
            aload 1 /* arguments */
            iload 2 /* i */
            aaload
            ldc "err"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         7: .line 393
            new java.io.PrintStream
            dup
            new org.graalvm.compiler.hotspot.debug.BenchmarkCounters$1BenchmarkCountersOutputStream
            dup
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 1 /* arguments */
            iload 2 /* i */
            iconst_1
            iadd
            aaload
            aload 1 /* arguments */
            iload 2 /* i */
            iconst_2
            iadd
            aaload
            aload 0 /* jvmciRuntime */
            invokespecial org.graalvm.compiler.hotspot.debug.BenchmarkCounters$1BenchmarkCountersOutputStream.<init>:(Ljava/io/PrintStream;Ljava/lang/String;Ljava/lang/String;Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;)V
            invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
            invokestatic java.lang.System.setErr:(Ljava/io/PrintStream;)V
         8: .line 394
            goto 13
      StackMap locals:
      StackMap stack:
         9: aload 1 /* arguments */
            iload 2 /* i */
            aaload
            ldc "out"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        10: .line 395
            new java.io.PrintStream
            dup
            new org.graalvm.compiler.hotspot.debug.BenchmarkCounters$1BenchmarkCountersOutputStream
            dup
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 1 /* arguments */
            iload 2 /* i */
            iconst_1
            iadd
            aaload
            aload 1 /* arguments */
            iload 2 /* i */
            iconst_2
            iadd
            aaload
            aload 0 /* jvmciRuntime */
            invokespecial org.graalvm.compiler.hotspot.debug.BenchmarkCounters$1BenchmarkCountersOutputStream.<init>:(Ljava/io/PrintStream;Ljava/lang/String;Ljava/lang/String;Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;)V
            invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
            invokestatic java.lang.System.setOut:(Ljava/io/PrintStream;)V
        11: .line 396
            goto 13
        12: .line 397
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.debug.GraalError
            dup
            ldc "invalid arguments to BenchmarkDynamicCounters: err|out"
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 391
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 3
      StackMap locals:
      StackMap stack:
        14: iload 2 /* i */
            aload 1 /* arguments */
            arraylength
            if_icmplt 6
        end local 2 // int i
        15: .line 400
            iconst_1
            putstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.enabled:Z
        end local 1 // java.lang.String[] arguments
        16: .line 402
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.GenericDynamicCounters:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 18
        17: .line 403
            iconst_1
            putstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.enabled:Z
        18: .line 405
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.TimedDynamicCounters:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            ifle 24
        19: .line 406
            new org.graalvm.compiler.hotspot.debug.BenchmarkCounters$1
            dup
            aload 0 /* jvmciRuntime */
            invokespecial org.graalvm.compiler.hotspot.debug.BenchmarkCounters$1.<init>:(Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;)V
            astore 1 /* thread */
        start local 1 // java.lang.Thread thread
        20: .line 423
            aload 1 /* thread */
            iconst_1
            invokevirtual java.lang.Thread.setDaemon:(Z)V
        21: .line 424
            aload 1 /* thread */
            bipush 10
            invokevirtual java.lang.Thread.setPriority:(I)V
        22: .line 425
            aload 1 /* thread */
            invokevirtual java.lang.Thread.start:()V
        23: .line 426
            iconst_1
            putstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.enabled:Z
        end local 1 // java.lang.Thread thread
        24: .line 428
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.enabled:Z
            ifeq 26
        25: .line 429
            aload 0 /* jvmciRuntime */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.collectCounters:()[J
            invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.clear:([J)V
        26: .line 431
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime jvmciRuntime
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   27     0  jvmciRuntime  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            2   16     1     arguments  [Ljava/lang/String;
            5   15     2             i  I
           20   24     1        thread  Ljava/lang/Thread;
    MethodParameters:
              Name  Flags
      jvmciRuntime  final

  public static void shutdown(jdk.vm.ci.hotspot.HotSpotJVMCIRuntime, long);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;J)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime jvmciRuntime
        start local 1 // long compilerStartTime
         0: .line 434
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.GenericDynamicCounters:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 2
         1: .line 435
            invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.getPrintStream:()Ljava/io/PrintStream;
            invokestatic java.lang.System.nanoTime:()J
            lload 1 /* compilerStartTime */
            lsub
            l2d
            ldc 1.0E9
            ddiv
            aload 0 /* jvmciRuntime */
            invokevirtual jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.collectCounters:()[J
            bipush 100
            invokestatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters.dump:(Ljava/io/PrintStream;D[JI)V
         2: .line 437
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long compilerStartTime
        end local 0 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntime jvmciRuntime
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0       jvmciRuntime  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
            0    3     1  compilerStartTime  J
    MethodParameters:
                   Name  Flags
      jvmciRuntime       
      compilerStartTime  

  private static java.io.PrintStream getPrintStream();
    descriptor: ()Ljava/io/PrintStream;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=0
         0: .line 440
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.BenchmarkCountersFile:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
            ifnull 8
         1: .line 442
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.BenchmarkCountersFile:Lorg/graalvm/compiler/options/OptionValue;
            getstatic org.graalvm.compiler.debug.GraalDebugConfig$Options.DumpPath:Lorg/graalvm/compiler/options/OptionValue;
            ldc "csv"
            invokestatic org.graalvm.compiler.options.UniquePathUtilities.getPathGlobal:(Lorg/graalvm/compiler/options/OptionValue;Lorg/graalvm/compiler/options/OptionValue;Ljava/lang/String;)Ljava/nio/file/Path;
            astore 0 /* path */
        start local 0 // java.nio.file.Path path
         2: .line 443
            ldc "Writing benchmark counters to '%s'"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* path */
            aastore
            invokestatic org.graalvm.compiler.debug.TTY.println:(Ljava/lang/String;[Ljava/lang/Object;)V
         3: .line 444
            new java.io.PrintStream
            dup
            aload 0 /* path */
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            invokespecial java.io.PrintStream.<init>:(Ljava/io/File;)V
         4: areturn
        end local 0 // java.nio.file.Path path
         5: .line 445
      StackMap locals:
      StackMap stack: java.io.FileNotFoundException
            astore 0 /* e */
        start local 0 // java.io.FileNotFoundException e
         6: .line 446
            invokestatic org.graalvm.compiler.debug.TTY.out:()Lorg/graalvm/compiler/debug/LogStream;
            aload 0 /* e */
            invokevirtual java.io.FileNotFoundException.getMessage:()Ljava/lang/String;
            invokevirtual org.graalvm.compiler.debug.LogStream.println:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/LogStream;
            pop
         7: .line 447
            invokestatic org.graalvm.compiler.debug.TTY.out:()Lorg/graalvm/compiler/debug/LogStream;
            ldc "Fallback to default"
            invokevirtual org.graalvm.compiler.debug.LogStream.println:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/LogStream;
            pop
        end local 0 // java.io.FileNotFoundException e
         8: .line 450
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.debug.TTY.out:Ljava/io/PrintStream;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            2    5     0  path  Ljava/nio/file/Path;
            6    8     0     e  Ljava/io/FileNotFoundException;
      Exception table:
        from    to  target  type
           1     4       5  Class java.io.FileNotFoundException

  private static void lambda$0(java.util.TreeSet, java.lang.String, org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter);
    descriptor: (Ljava/util/TreeSet;Ljava/lang/String;Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 1 // java.lang.String nameGroup
        start local 2 // org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter counter
         0: .line 177
            aload 0
            aload 2 /* counter */
            getfield org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter.group:Ljava/lang/String;
            invokevirtual java.util.TreeSet.add:(Ljava/lang/Object;)Z
            return
        end local 2 // org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter counter
        end local 1 // java.lang.String nameGroup
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     1  nameGroup  Ljava/lang/String;
            0    1     2    counter  Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Counter;
}
SourceFile: "BenchmarkCounters.java"
NestMembers:
  org.graalvm.compiler.hotspot.debug.BenchmarkCounters$1  org.graalvm.compiler.hotspot.debug.BenchmarkCounters$1BenchmarkCountersOutputStream  org.graalvm.compiler.hotspot.debug.BenchmarkCounters$CallbackOutputStream  org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter  org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options
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 final Escape = org.graalvm.compiler.debug.CSVUtil$Escape of org.graalvm.compiler.debug.CSVUtil
  public Options = org.graalvm.compiler.debug.GraalDebugConfig$Options of org.graalvm.compiler.debug.GraalDebugConfig
  org.graalvm.compiler.hotspot.debug.BenchmarkCounters$1
  final BenchmarkCountersOutputStream = org.graalvm.compiler.hotspot.debug.BenchmarkCounters$1BenchmarkCountersOutputStream
  private abstract CallbackOutputStream = org.graalvm.compiler.hotspot.debug.BenchmarkCounters$CallbackOutputStream of org.graalvm.compiler.hotspot.debug.BenchmarkCounters
  private Counter = org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Counter of org.graalvm.compiler.hotspot.debug.BenchmarkCounters
  Options = org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options of org.graalvm.compiler.hotspot.debug.BenchmarkCounters