final class org.graalvm.compiler.debug.internal.TimerImpl$InterceptingTimer extends org.graalvm.compiler.debug.internal.TimerImpl$AbstractTimer
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.debug.internal.TimerImpl$InterceptingTimer
  super_class: org.graalvm.compiler.debug.internal.TimerImpl$AbstractTimer
{
  final org.graalvm.compiler.debug.internal.TimerImpl this$0;
    descriptor: Lorg/graalvm/compiler/debug/internal/TimerImpl;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(org.graalvm.compiler.debug.internal.TimerImpl, org.graalvm.compiler.debug.internal.TimerImpl);
    descriptor: (Lorg/graalvm/compiler/debug/internal/TimerImpl;Lorg/graalvm/compiler/debug/internal/TimerImpl;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.debug.internal.TimerImpl$InterceptingTimer this
        start local 2 // org.graalvm.compiler.debug.internal.TimerImpl timer
         0: .line 140
            aload 0 /* this */
            aload 1
            putfield org.graalvm.compiler.debug.internal.TimerImpl$InterceptingTimer.this$0:Lorg/graalvm/compiler/debug/internal/TimerImpl;
         1: .line 141
            aload 0 /* this */
            aload 1
            aload 2 /* timer */
            invokespecial org.graalvm.compiler.debug.internal.TimerImpl$AbstractTimer.<init>:(Lorg/graalvm/compiler/debug/internal/TimerImpl;Lorg/graalvm/compiler/debug/internal/AccumulatedDebugValue;)V
         2: .line 142
            return
        end local 2 // org.graalvm.compiler.debug.internal.TimerImpl timer
        end local 0 // org.graalvm.compiler.debug.internal.TimerImpl$InterceptingTimer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/graalvm/compiler/debug/internal/TimerImpl$InterceptingTimer;
            0    3     2  timer  Lorg/graalvm/compiler/debug/internal/TimerImpl;
    MethodParameters:
        Name  Flags
      this$0  final
      timer   

  protected long getCounterValue();
    descriptor: ()J
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.debug.internal.TimerImpl$InterceptingTimer this
         0: .line 146
            invokestatic org.graalvm.compiler.debug.TimeSource.getTimeNS:()J
            lreturn
        end local 0 // org.graalvm.compiler.debug.internal.TimerImpl$InterceptingTimer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/debug/internal/TimerImpl$InterceptingTimer;

  protected void interceptDifferenceAccm(long);
    descriptor: (J)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.debug.internal.TimerImpl$InterceptingTimer this
        start local 1 // long difference
         0: .line 151
            invokestatic org.graalvm.compiler.debug.Debug.isMethodMeterEnabled:()Z
            ifeq 2
         1: .line 152
            aload 0 /* this */
            getfield org.graalvm.compiler.debug.internal.TimerImpl$InterceptingTimer.counter:Lorg/graalvm/compiler/debug/internal/AccumulatedDebugValue;
            invokevirtual org.graalvm.compiler.debug.internal.AccumulatedDebugValue.getName:()Ljava/lang/String;
            lload 1 /* difference */
            invokestatic org.graalvm.compiler.debug.internal.method.MethodMetricsImpl.addToCurrentScopeMethodMetrics:(Ljava/lang/String;J)V
         2: .line 154
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long difference
        end local 0 // org.graalvm.compiler.debug.internal.TimerImpl$InterceptingTimer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/graalvm/compiler/debug/internal/TimerImpl$InterceptingTimer;
            0    3     1  difference  J
    MethodParameters:
            Name  Flags
      difference  

  protected void interceptDifferenceFlat(long);
    descriptor: (J)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.debug.internal.TimerImpl$InterceptingTimer this
        start local 1 // long difference
         0: .line 158
            invokestatic org.graalvm.compiler.debug.Debug.isMethodMeterEnabled:()Z
            ifeq 2
         1: .line 159
            aload 0 /* this */
            getfield org.graalvm.compiler.debug.internal.TimerImpl$InterceptingTimer.counter:Lorg/graalvm/compiler/debug/internal/AccumulatedDebugValue;
            getfield org.graalvm.compiler.debug.internal.AccumulatedDebugValue.flat:Lorg/graalvm/compiler/debug/internal/DebugValue;
            invokevirtual org.graalvm.compiler.debug.internal.DebugValue.getName:()Ljava/lang/String;
            lload 1 /* difference */
            invokestatic org.graalvm.compiler.debug.internal.method.MethodMetricsImpl.addToCurrentScopeMethodMetrics:(Ljava/lang/String;J)V
         2: .line 161
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long difference
        end local 0 // org.graalvm.compiler.debug.internal.TimerImpl$InterceptingTimer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/graalvm/compiler/debug/internal/TimerImpl$InterceptingTimer;
            0    3     1  difference  J
    MethodParameters:
            Name  Flags
      difference  
}
SourceFile: "TimerImpl.java"
NestHost: org.graalvm.compiler.debug.internal.TimerImpl
InnerClasses:
  private abstract AbstractTimer = org.graalvm.compiler.debug.internal.TimerImpl$AbstractTimer of org.graalvm.compiler.debug.internal.TimerImpl
  private final InterceptingTimer = org.graalvm.compiler.debug.internal.TimerImpl$InterceptingTimer of org.graalvm.compiler.debug.internal.TimerImpl