public class org.graalvm.compiler.hotspot.debug.BenchmarkCounters_OptionDescriptors implements org.graalvm.compiler.options.OptionDescriptors
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.hotspot.debug.BenchmarkCounters_OptionDescriptors
  super_class: java.lang.Object
{
  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_OptionDescriptors this
         0: .line 11
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.compiler.hotspot.debug.BenchmarkCounters_OptionDescriptors this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters_OptionDescriptors;

  public org.graalvm.compiler.options.OptionDescriptor get(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/graalvm/compiler/options/OptionDescriptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.debug.BenchmarkCounters_OptionDescriptors this
        start local 1 // java.lang.String value
         0: .line 14
            aload 1 /* value */
            dup
            astore 2
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 7
          -1934005610: 1
          -1348792161: 2
           -819064432: 3
           -529125569: 4
           -470540259: 5
            -97695465: 6
            656449721: 7
              default: 88
          }
      StackMap locals: java.lang.String
      StackMap stack:
         1: aload 2
            ldc "BenchmarkCountersDumpStatic"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 16
            goto 88
      StackMap locals:
      StackMap stack:
         2: aload 2
            ldc "GenericDynamicCounters"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 72
            goto 88
      StackMap locals:
      StackMap stack:
         3: aload 2
            ldc "BenchmarkCountersFile"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 24
            goto 88
      StackMap locals:
      StackMap stack:
         4: aload 2
            ldc "TimedDynamicCounters"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 80
            goto 88
      StackMap locals:
      StackMap stack:
         5: aload 2
            ldc "DynamicCountersPrintGroupSeparator"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 64
            goto 88
      StackMap locals:
      StackMap stack:
         6: aload 2
            ldc "BenchmarkCountersDumpDynamic"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
            goto 88
      StackMap locals:
      StackMap stack:
         7: aload 2
            ldc "BenchmarkDynamicCounters"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 32
            goto 88
         8: .line 18
      StackMap locals:
      StackMap stack:
            ldc "BenchmarkCountersDumpDynamic"
         9: .line 19
            getstatic org.graalvm.compiler.options.OptionType.Debug:Lorg/graalvm/compiler/options/OptionType;
        10: .line 20
            ldc Ljava/lang/Boolean;
        11: .line 21
            ldc "Dump dynamic counters"
        12: .line 22
            ldc Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Options;
        13: .line 23
            ldc "BenchmarkCountersDumpDynamic"
        14: .line 24
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.BenchmarkCountersDumpDynamic:Lorg/graalvm/compiler/options/OptionKey;
        15: .line 17
            invokestatic org.graalvm.compiler.options.OptionDescriptor.create:(Ljava/lang/String;Lorg/graalvm/compiler/options/OptionType;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Lorg/graalvm/compiler/options/OptionKey;)Lorg/graalvm/compiler/options/OptionDescriptor;
            areturn
        16: .line 28
      StackMap locals:
      StackMap stack:
            ldc "BenchmarkCountersDumpStatic"
        17: .line 29
            getstatic org.graalvm.compiler.options.OptionType.Debug:Lorg/graalvm/compiler/options/OptionType;
        18: .line 30
            ldc Ljava/lang/Boolean;
        19: .line 31
            ldc "Dump static counters"
        20: .line 32
            ldc Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Options;
        21: .line 33
            ldc "BenchmarkCountersDumpStatic"
        22: .line 34
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.BenchmarkCountersDumpStatic:Lorg/graalvm/compiler/options/OptionKey;
        23: .line 27
            invokestatic org.graalvm.compiler.options.OptionDescriptor.create:(Ljava/lang/String;Lorg/graalvm/compiler/options/OptionType;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Lorg/graalvm/compiler/options/OptionKey;)Lorg/graalvm/compiler/options/OptionDescriptor;
            areturn
        24: .line 38
      StackMap locals:
      StackMap stack:
            ldc "BenchmarkCountersFile"
        25: .line 39
            getstatic org.graalvm.compiler.options.OptionType.Debug:Lorg/graalvm/compiler/options/OptionType;
        26: .line 40
            ldc Ljava/lang/String;
        27: .line 41
            ldc "File to which benchmark counters are dumped. A CSV format is used if the file ends with .csv otherwise a more human readable format is used. The fields in the CSV format are: category, group, name, value"
        28: .line 42
            ldc Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Options;
        29: .line 43
            ldc "BenchmarkCountersFile"
        30: .line 44
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.BenchmarkCountersFile:Lorg/graalvm/compiler/options/OptionKey;
        31: .line 37
            invokestatic org.graalvm.compiler.options.OptionDescriptor.create:(Ljava/lang/String;Lorg/graalvm/compiler/options/OptionType;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Lorg/graalvm/compiler/options/OptionKey;)Lorg/graalvm/compiler/options/OptionDescriptor;
            areturn
        32: .line 48
      StackMap locals:
      StackMap stack:
            ldc "BenchmarkDynamicCounters"
        33: .line 49
            getstatic org.graalvm.compiler.options.OptionType.Debug:Lorg/graalvm/compiler/options/OptionType;
        34: .line 50
            ldc Ljava/lang/String;
        35: .line 51
            ldc "Turn on the benchmark counters, and listen for specific patterns on System.out/System.err."
        36: .line 52
            bipush 23
            anewarray java.lang.String
            dup
            iconst_0
        37: .line 53
            ldc "The format of this option is:"
            aastore
            dup
            iconst_1
        38: .line 54
            ldc ""
            aastore
            dup
            iconst_2
        39: .line 55
            ldc "  (err|out),start pattern,end pattern"
            aastore
            dup
            iconst_3
        40: .line 56
            ldc "  "
            aastore
            dup
            iconst_4
        41: .line 57
            ldc "You can use \"~\" to match 1 or more digits."
            aastore
            dup
            iconst_5
        42: .line 58
            ldc "Examples:"
            aastore
            dup
            bipush 6
        43: .line 59
            ldc ""
            aastore
            dup
            bipush 7
        44: .line 60
            ldc "  err, starting =====, PASSED in"
            aastore
            dup
            bipush 8
        45: .line 61
            ldc "  out,Iteration ~ (~s) begins:,Iteration ~ (~s) ends:"
            aastore
            dup
            bipush 9
        46: .line 62
            ldc "  "
            aastore
            dup
            bipush 10
        47: .line 63
            ldc "The first pattern matches DaCapo output and the second matches SPECjvm2008 output."
            aastore
            dup
            bipush 11
        48: .line 64
            ldc ""
            aastore
            dup
            bipush 12
        49: .line 65
            ldc "As a more detailed example, here are the options to use for getting statistics"
            aastore
            dup
            bipush 13
        50: .line 66
            ldc "about allocations within the DaCapo pmd benchmark:"
            aastore
            dup
            bipush 14
        51: .line 67
            ldc ""
            aastore
            dup
            bipush 15
        52: .line 68
            ldc "  -XX:JVMCICounterSize=<value> -XX:-JVMCICountersExcludeCompiler \\"
            aastore
            dup
            bipush 16
        53: .line 69
            ldc "  -Dgraal.BenchmarkDynamicCounters=\"err, starting ====, PASSED in \" \\"
            aastore
            dup
            bipush 17
        54: .line 70
            ldc "  -Dgraal.ProfileAllocations=true"
            aastore
            dup
            bipush 18
        55: .line 71
            ldc "  "
            aastore
            dup
            bipush 19
        56: .line 72
            ldc "The JVMCICounterSize value depends on the granularity of the profiling -"
            aastore
            dup
            bipush 20
        57: .line 73
            ldc "10000 should be sufficient. Omit JVMCICountersExcludeCompiler to exclude"
            aastore
            dup
            bipush 21
        58: .line 74
            ldc "counting allocations on the compiler threads."
            aastore
            dup
            bipush 22
        59: .line 75
            ldc "The counters can be further configured by the ProfileAllocationsContext option."
            aastore
        60: .line 77
            ldc Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Options;
        61: .line 78
            ldc "BenchmarkDynamicCounters"
        62: .line 79
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.BenchmarkDynamicCounters:Lorg/graalvm/compiler/options/OptionKey;
        63: .line 47
            invokestatic org.graalvm.compiler.options.OptionDescriptor.create:(Ljava/lang/String;Lorg/graalvm/compiler/options/OptionType;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Lorg/graalvm/compiler/options/OptionKey;)Lorg/graalvm/compiler/options/OptionDescriptor;
            areturn
        64: .line 83
      StackMap locals:
      StackMap stack:
            ldc "DynamicCountersPrintGroupSeparator"
        65: .line 84
            getstatic org.graalvm.compiler.options.OptionType.Debug:Lorg/graalvm/compiler/options/OptionType;
        66: .line 85
            ldc Ljava/lang/Boolean;
        67: .line 86
            ldc "Use grouping separators for number printing"
        68: .line 87
            ldc Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Options;
        69: .line 88
            ldc "DynamicCountersPrintGroupSeparator"
        70: .line 89
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.DynamicCountersPrintGroupSeparator:Lorg/graalvm/compiler/options/OptionKey;
        71: .line 82
            invokestatic org.graalvm.compiler.options.OptionDescriptor.create:(Ljava/lang/String;Lorg/graalvm/compiler/options/OptionType;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Lorg/graalvm/compiler/options/OptionKey;)Lorg/graalvm/compiler/options/OptionDescriptor;
            areturn
        72: .line 93
      StackMap locals:
      StackMap stack:
            ldc "GenericDynamicCounters"
        73: .line 94
            getstatic org.graalvm.compiler.options.OptionType.Debug:Lorg/graalvm/compiler/options/OptionType;
        74: .line 95
            ldc Ljava/lang/Boolean;
        75: .line 96
            ldc "Turn on the benchmark counters, and displays the results on VM shutdown"
        76: .line 97
            ldc Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Options;
        77: .line 98
            ldc "GenericDynamicCounters"
        78: .line 99
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.GenericDynamicCounters:Lorg/graalvm/compiler/options/OptionKey;
        79: .line 92
            invokestatic org.graalvm.compiler.options.OptionDescriptor.create:(Ljava/lang/String;Lorg/graalvm/compiler/options/OptionType;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Lorg/graalvm/compiler/options/OptionKey;)Lorg/graalvm/compiler/options/OptionDescriptor;
            areturn
        80: .line 103
      StackMap locals:
      StackMap stack:
            ldc "TimedDynamicCounters"
        81: .line 104
            getstatic org.graalvm.compiler.options.OptionType.Debug:Lorg/graalvm/compiler/options/OptionType;
        82: .line 105
            ldc Ljava/lang/Integer;
        83: .line 106
            ldc "Turn on the benchmark counters, and displays the results every n milliseconds"
        84: .line 107
            ldc Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters$Options;
        85: .line 108
            ldc "TimedDynamicCounters"
        86: .line 109
            getstatic org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options.TimedDynamicCounters:Lorg/graalvm/compiler/options/OptionKey;
        87: .line 102
            invokestatic org.graalvm.compiler.options.OptionDescriptor.create:(Ljava/lang/String;Lorg/graalvm/compiler/options/OptionType;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Lorg/graalvm/compiler/options/OptionKey;)Lorg/graalvm/compiler/options/OptionDescriptor;
            areturn
        88: .line 113
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.String value
        end local 0 // org.graalvm.compiler.hotspot.debug.BenchmarkCounters_OptionDescriptors this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   89     0   this  Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters_OptionDescriptors;
            0   89     1  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      value  

  public java.util.Iterator<org.graalvm.compiler.options.OptionDescriptor> iterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.debug.BenchmarkCounters_OptionDescriptors this
         0: .line 118
            new org.graalvm.compiler.hotspot.debug.BenchmarkCounters_OptionDescriptors$1
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.hotspot.debug.BenchmarkCounters_OptionDescriptors$1.<init>:(Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters_OptionDescriptors;)V
            areturn
        end local 0 // org.graalvm.compiler.hotspot.debug.BenchmarkCounters_OptionDescriptors this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/debug/BenchmarkCounters_OptionDescriptors;
    Signature: ()Ljava/util/Iterator<Lorg/graalvm/compiler/options/OptionDescriptor;>;
}
SourceFile: "BenchmarkCounters_OptionDescriptors.java"
NestMembers:
  org.graalvm.compiler.hotspot.debug.BenchmarkCounters_OptionDescriptors$1
InnerClasses:
  Options = org.graalvm.compiler.hotspot.debug.BenchmarkCounters$Options of org.graalvm.compiler.hotspot.debug.BenchmarkCounters
  org.graalvm.compiler.hotspot.debug.BenchmarkCounters_OptionDescriptors$1