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

  public void checkCapabilities();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.debug.test.TimerKeyTest this
         0: .line 49
            invokestatic org.graalvm.compiler.debug.test.TimerKeyTest.assumeManagementLibraryIsLoadable:()V
         1: .line 50
            ldc "skipping management interface test"
            invokestatic org.graalvm.compiler.serviceprovider.GraalServices.isCurrentThreadCpuTimeSupported:()Z
            invokestatic org.junit.Assume.assumeTrue:(Ljava/lang/String;Z)V
         2: .line 51
            return
        end local 0 // org.graalvm.compiler.debug.test.TimerKeyTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/debug/test/TimerKeyTest;
    RuntimeVisibleAnnotations: 
      org.junit.Before()

  static void assumeManagementLibraryIsLoadable();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=1, args_size=0
         0: .line 57
            invokestatic org.graalvm.compiler.serviceprovider.GraalServices.getCurrentThreadAllocatedBytes:()J
            pop2
         1: .line 58
            goto 4
      StackMap locals:
      StackMap stack: java.lang.Throwable
         2: astore 0 /* e */
        start local 0 // java.lang.Throwable e
         3: .line 59
            new org.junit.AssumptionViolatedException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Management interface is unavailable: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.junit.AssumptionViolatedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.Throwable e
         4: .line 61
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            3    4     0     e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.UnsatisfiedLinkError
           0     1       2  Class java.lang.NoClassDefFoundError
           0     1       2  Class java.lang.UnsupportedOperationException

  private static long spin(long);
    descriptor: (J)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // long ms
         0: .line 71
            invokestatic org.graalvm.compiler.serviceprovider.GraalServices.getCurrentThreadCpuTime:()J
            lstore 2 /* start */
        start local 2 // long start
         1: .line 73
      StackMap locals: long
      StackMap stack:
            invokestatic org.graalvm.compiler.serviceprovider.GraalServices.getCurrentThreadCpuTime:()J
            lload 2 /* start */
            lsub
            ldc 1000
            ldiv
            lstore 4 /* durationMS */
        start local 4 // long durationMS
         2: .line 74
            lload 4 /* durationMS */
            lload 0 /* ms */
            lcmp
            iflt 1
         3: .line 75
            lload 4 /* durationMS */
            lreturn
        end local 4 // long durationMS
        end local 2 // long start
        end local 0 // long ms
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0          ms  J
            1    4     2       start  J
            2    4     4  durationMS  J
    MethodParameters:
      Name  Flags
      ms    

  public void test2();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=20, args_size=1
        start local 0 // org.graalvm.compiler.debug.test.TimerKeyTest this
         0: .line 86
            invokestatic org.graalvm.collections.EconomicMap.create:()Lorg/graalvm/collections/EconomicMap;
            astore 1 /* map */
        start local 1 // org.graalvm.collections.EconomicMap map
         1: .line 87
            aload 1 /* map */
            getstatic org.graalvm.compiler.debug.DebugOptions.Time:Lorg/graalvm/compiler/options/OptionKey;
            ldc ""
            invokeinterface org.graalvm.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 88
            new org.graalvm.compiler.options.OptionValues
            dup
            aload 1 /* map */
            invokespecial org.graalvm.compiler.options.OptionValues.<init>:(Lorg/graalvm/collections/UnmodifiableEconomicMap;)V
            astore 2 /* options */
        start local 2 // org.graalvm.compiler.options.OptionValues options
         3: .line 89
            new org.graalvm.compiler.debug.DebugContext$Builder
            dup
            aload 2 /* options */
            getstatic org.graalvm.compiler.debug.DebugContext.NO_CONFIG_CUSTOMIZERS:Ljava/lang/Iterable;
            invokespecial org.graalvm.compiler.debug.DebugContext$Builder.<init>:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;)V
            invokevirtual org.graalvm.compiler.debug.DebugContext$Builder.build:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 3 /* debug */
        start local 3 // org.graalvm.compiler.debug.DebugContext debug
         4: .line 91
            ldc "TimerC"
            invokestatic org.graalvm.compiler.debug.DebugContext.timer:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/TimerKey;
            astore 4 /* timerC */
        start local 4 // org.graalvm.compiler.debug.TimerKey timerC
         5: .line 92
            aconst_null
            astore 5
            aconst_null
            astore 6
         6: aload 4 /* timerC */
            aload 3 /* debug */
            invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 7 /* c1 */
        start local 7 // org.graalvm.compiler.debug.DebugCloseable c1
         7: .line 93
            ldc 50
            invokestatic org.graalvm.compiler.debug.test.TimerKeyTest.spin:(J)J
            pop2
         8: .line 94
            aconst_null
            astore 8
            aconst_null
            astore 9
         9: aload 4 /* timerC */
            aload 3 /* debug */
            invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 10 /* c2 */
        start local 10 // org.graalvm.compiler.debug.DebugCloseable c2
        10: .line 95
            ldc 50
            invokestatic org.graalvm.compiler.debug.test.TimerKeyTest.spin:(J)J
            pop2
        11: .line 96
            aconst_null
            astore 11
            aconst_null
            astore 12
        12: aload 4 /* timerC */
            aload 3 /* debug */
            invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 13 /* c3 */
        start local 13 // org.graalvm.compiler.debug.DebugCloseable c3
        13: .line 97
            ldc 50
            invokestatic org.graalvm.compiler.debug.test.TimerKeyTest.spin:(J)J
            pop2
        14: .line 98
            aconst_null
            astore 14
            aconst_null
            astore 15
        15: aload 4 /* timerC */
            aload 3 /* debug */
            invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 16 /* c4 */
        start local 16 // org.graalvm.compiler.debug.DebugCloseable c4
        16: .line 99
            ldc 50
            invokestatic org.graalvm.compiler.debug.test.TimerKeyTest.spin:(J)J
            pop2
        17: .line 100
            aconst_null
            astore 17
            aconst_null
            astore 18
        18: aload 4 /* timerC */
            aload 3 /* debug */
            invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 19 /* c5 */
        start local 19 // org.graalvm.compiler.debug.DebugCloseable c5
        19: .line 101
            ldc 50
            invokestatic org.graalvm.compiler.debug.test.TimerKeyTest.spin:(J)J
            pop2
        20: .line 102
            aload 19 /* c5 */
            ifnull 26
            aload 19 /* c5 */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 26
      StackMap locals: org.graalvm.compiler.debug.test.TimerKeyTest org.graalvm.collections.EconomicMap org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.debug.TimerKey java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack: java.lang.Throwable
        21: astore 17
            aload 19 /* c5 */
            ifnull 22
            aload 19 /* c5 */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 19 // org.graalvm.compiler.debug.DebugCloseable c5
      StackMap locals:
      StackMap stack:
        22: aload 17
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: astore 18
            aload 17
            ifnonnull 24
            aload 18
            astore 17
            goto 25
      StackMap locals:
      StackMap stack:
        24: aload 17
            aload 18
            if_acmpeq 25
            aload 17
            aload 18
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        25: aload 17
            athrow
        26: .line 103
      StackMap locals:
      StackMap stack:
            aload 16 /* c4 */
            ifnull 32
            aload 16 /* c4 */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 32
      StackMap locals:
      StackMap stack: java.lang.Throwable
        27: astore 14
            aload 16 /* c4 */
            ifnull 28
            aload 16 /* c4 */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 16 // org.graalvm.compiler.debug.DebugCloseable c4
      StackMap locals:
      StackMap stack:
        28: aload 14
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: astore 15
            aload 14
            ifnonnull 30
            aload 15
            astore 14
            goto 31
      StackMap locals:
      StackMap stack:
        30: aload 14
            aload 15
            if_acmpeq 31
            aload 14
            aload 15
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        31: aload 14
            athrow
        32: .line 104
      StackMap locals:
      StackMap stack:
            aload 13 /* c3 */
            ifnull 38
            aload 13 /* c3 */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 38
      StackMap locals:
      StackMap stack: java.lang.Throwable
        33: astore 11
            aload 13 /* c3 */
            ifnull 34
            aload 13 /* c3 */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 13 // org.graalvm.compiler.debug.DebugCloseable c3
      StackMap locals:
      StackMap stack:
        34: aload 11
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        35: astore 12
            aload 11
            ifnonnull 36
            aload 12
            astore 11
            goto 37
      StackMap locals:
      StackMap stack:
        36: aload 11
            aload 12
            if_acmpeq 37
            aload 11
            aload 12
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        37: aload 11
            athrow
        38: .line 105
      StackMap locals:
      StackMap stack:
            aload 10 /* c2 */
            ifnull 44
            aload 10 /* c2 */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 44
      StackMap locals:
      StackMap stack: java.lang.Throwable
        39: astore 8
            aload 10 /* c2 */
            ifnull 40
            aload 10 /* c2 */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 10 // org.graalvm.compiler.debug.DebugCloseable c2
      StackMap locals:
      StackMap stack:
        40: aload 8
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        41: astore 9
            aload 8
            ifnonnull 42
            aload 9
            astore 8
            goto 43
      StackMap locals:
      StackMap stack:
        42: aload 8
            aload 9
            if_acmpeq 43
            aload 8
            aload 9
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        43: aload 8
            athrow
        44: .line 106
      StackMap locals:
      StackMap stack:
            aload 7 /* c1 */
            ifnull 50
            aload 7 /* c1 */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 50
      StackMap locals:
      StackMap stack: java.lang.Throwable
        45: astore 5
            aload 7 /* c1 */
            ifnull 46
            aload 7 /* c1 */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 7 // org.graalvm.compiler.debug.DebugCloseable c1
      StackMap locals:
      StackMap stack:
        46: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        47: astore 6
            aload 5
            ifnonnull 48
            aload 6
            astore 5
            goto 49
      StackMap locals:
      StackMap stack:
        48: aload 5
            aload 6
            if_acmpeq 49
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        49: aload 5
            athrow
        50: .line 107
      StackMap locals:
      StackMap stack:
            aload 4 /* timerC */
            invokeinterface org.graalvm.compiler.debug.TimerKey.getFlat:()Lorg/graalvm/compiler/debug/TimerKey;
            ifnull 52
        51: .line 108
            aload 4 /* timerC */
            invokeinterface org.graalvm.compiler.debug.TimerKey.getFlat:()Lorg/graalvm/compiler/debug/TimerKey;
            aload 3 /* debug */
            invokeinterface org.graalvm.compiler.debug.TimerKey.getCurrentValue:(Lorg/graalvm/compiler/debug/DebugContext;)J
            aload 4 /* timerC */
            aload 3 /* debug */
            invokeinterface org.graalvm.compiler.debug.TimerKey.getCurrentValue:(Lorg/graalvm/compiler/debug/DebugContext;)J
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        52: .line 110
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.graalvm.compiler.debug.TimerKey timerC
        end local 3 // org.graalvm.compiler.debug.DebugContext debug
        end local 2 // org.graalvm.compiler.options.OptionValues options
        end local 1 // org.graalvm.collections.EconomicMap map
        end local 0 // org.graalvm.compiler.debug.test.TimerKeyTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   53     0     this  Lorg/graalvm/compiler/debug/test/TimerKeyTest;
            1   53     1      map  Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/compiler/options/OptionKey<*>;Ljava/lang/Object;>;
            3   53     2  options  Lorg/graalvm/compiler/options/OptionValues;
            4   53     3    debug  Lorg/graalvm/compiler/debug/DebugContext;
            5   53     4   timerC  Lorg/graalvm/compiler/debug/TimerKey;
            7   46     7       c1  Lorg/graalvm/compiler/debug/DebugCloseable;
           10   40    10       c2  Lorg/graalvm/compiler/debug/DebugCloseable;
           13   34    13       c3  Lorg/graalvm/compiler/debug/DebugCloseable;
           16   28    16       c4  Lorg/graalvm/compiler/debug/DebugCloseable;
           19   22    19       c5  Lorg/graalvm/compiler/debug/DebugCloseable;
      Exception table:
        from    to  target  type
          19    20      21  any
          18    23      23  any
          16    26      27  any
          15    29      29  any
          13    32      33  any
          12    35      35  any
          10    38      39  any
           9    41      41  any
           7    44      45  any
           6    47      47  any
    RuntimeVisibleAnnotations: 
      org.junit.Test()
}
SourceFile: "TimerKeyTest.java"
InnerClasses:
  public Builder = org.graalvm.compiler.debug.DebugContext$Builder of org.graalvm.compiler.debug.DebugContext