public class jdk.internal.perf.PerfCounter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.internal.perf.PerfCounter
  super_class: java.lang.Object
{
  private static final jdk.internal.perf.Perf perf;
    descriptor: Ljdk/internal/perf/Perf;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int V_Constant;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int V_Monotonic;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int V_Variable;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private static final int U_None;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private final java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.nio.LongBuffer lb;
    descriptor: Ljava/nio/LongBuffer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 52
            new jdk.internal.perf.Perf$GetPerfAction
            dup
            invokespecial jdk.internal.perf.Perf$GetPerfAction.<init>:()V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast jdk.internal.perf.Perf
         1: .line 51
            putstatic jdk.internal.perf.PerfCounter.perf:Ljdk/internal/perf/Perf;
         2: .line 58
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // jdk.internal.perf.PerfCounter this
        start local 1 // java.lang.String name
        start local 2 // int type
         0: .line 63
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 64
            aload 0 /* this */
            aload 1 /* name */
            putfield jdk.internal.perf.PerfCounter.name:Ljava/lang/String;
         2: .line 65
            getstatic jdk.internal.perf.PerfCounter.perf:Ljdk/internal/perf/Perf;
            aload 1 /* name */
            iload 2 /* type */
            iconst_1
            lconst_0
            invokevirtual jdk.internal.perf.Perf.createLong:(Ljava/lang/String;IIJ)Ljava/nio/ByteBuffer;
            astore 3 /* bb */
        start local 3 // java.nio.ByteBuffer bb
         3: .line 66
            aload 3 /* bb */
            invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
         4: .line 67
            aload 0 /* this */
            aload 3 /* bb */
            invokevirtual java.nio.ByteBuffer.asLongBuffer:()Ljava/nio/LongBuffer;
            putfield jdk.internal.perf.PerfCounter.lb:Ljava/nio/LongBuffer;
         5: .line 68
            return
        end local 3 // java.nio.ByteBuffer bb
        end local 2 // int type
        end local 1 // java.lang.String name
        end local 0 // jdk.internal.perf.PerfCounter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/internal/perf/PerfCounter;
            0    6     1  name  Ljava/lang/String;
            0    6     2  type  I
            3    6     3    bb  Ljava/nio/ByteBuffer;
    MethodParameters:
      Name  Flags
      name  
      type  

  public static jdk.internal.perf.PerfCounter newPerfCounter(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/internal/perf/PerfCounter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 71
            new jdk.internal.perf.PerfCounter
            dup
            aload 0 /* name */
            iconst_3
            invokespecial jdk.internal.perf.PerfCounter.<init>:(Ljava/lang/String;I)V
            areturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public static jdk.internal.perf.PerfCounter newConstantPerfCounter(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/internal/perf/PerfCounter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.String name
         0: .line 75
            new jdk.internal.perf.PerfCounter
            dup
            aload 0 /* name */
            iconst_1
            invokespecial jdk.internal.perf.PerfCounter.<init>:(Ljava/lang/String;I)V
            astore 1 /* c */
        start local 1 // jdk.internal.perf.PerfCounter c
         1: .line 76
            aload 1 /* c */
            areturn
        end local 1 // jdk.internal.perf.PerfCounter c
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  name  Ljava/lang/String;
            1    2     1     c  Ljdk/internal/perf/PerfCounter;
    MethodParameters:
      Name  Flags
      name  

  public synchronized long get();
    descriptor: ()J
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.internal.perf.PerfCounter this
         0: .line 83
            aload 0 /* this */
            getfield jdk.internal.perf.PerfCounter.lb:Ljava/nio/LongBuffer;
            iconst_0
            invokevirtual java.nio.LongBuffer.get:(I)J
            lreturn
        end local 0 // jdk.internal.perf.PerfCounter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/perf/PerfCounter;

  public synchronized void set(long);
    descriptor: (J)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // jdk.internal.perf.PerfCounter this
        start local 1 // long newValue
         0: .line 90
            aload 0 /* this */
            getfield jdk.internal.perf.PerfCounter.lb:Ljava/nio/LongBuffer;
            iconst_0
            lload 1 /* newValue */
            invokevirtual java.nio.LongBuffer.put:(IJ)Ljava/nio/LongBuffer;
            pop
         1: .line 91
            return
        end local 1 // long newValue
        end local 0 // jdk.internal.perf.PerfCounter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljdk/internal/perf/PerfCounter;
            0    2     1  newValue  J
    MethodParameters:
          Name  Flags
      newValue  

  public synchronized void add(long);
    descriptor: (J)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // jdk.internal.perf.PerfCounter this
        start local 1 // long value
         0: .line 97
            aload 0 /* this */
            invokevirtual jdk.internal.perf.PerfCounter.get:()J
            lload 1 /* value */
            ladd
            lstore 3 /* res */
        start local 3 // long res
         1: .line 98
            aload 0 /* this */
            getfield jdk.internal.perf.PerfCounter.lb:Ljava/nio/LongBuffer;
            iconst_0
            lload 3 /* res */
            invokevirtual java.nio.LongBuffer.put:(IJ)Ljava/nio/LongBuffer;
            pop
         2: .line 99
            return
        end local 3 // long res
        end local 1 // long value
        end local 0 // jdk.internal.perf.PerfCounter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljdk/internal/perf/PerfCounter;
            0    3     1  value  J
            1    3     3    res  J
    MethodParameters:
       Name  Flags
      value  

  public void increment();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.internal.perf.PerfCounter this
         0: .line 105
            aload 0 /* this */
            lconst_1
            invokevirtual jdk.internal.perf.PerfCounter.add:(J)V
         1: .line 106
            return
        end local 0 // jdk.internal.perf.PerfCounter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/perf/PerfCounter;

  public void addTime(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.internal.perf.PerfCounter this
        start local 1 // long interval
         0: .line 112
            aload 0 /* this */
            lload 1 /* interval */
            invokevirtual jdk.internal.perf.PerfCounter.add:(J)V
         1: .line 113
            return
        end local 1 // long interval
        end local 0 // jdk.internal.perf.PerfCounter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljdk/internal/perf/PerfCounter;
            0    2     1  interval  J
    MethodParameters:
          Name  Flags
      interval  

  public void addElapsedTimeFrom(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // jdk.internal.perf.PerfCounter this
        start local 1 // long startTime
         0: .line 119
            aload 0 /* this */
            invokestatic java.lang.System.nanoTime:()J
            lload 1 /* startTime */
            lsub
            invokevirtual jdk.internal.perf.PerfCounter.add:(J)V
         1: .line 120
            return
        end local 1 // long startTime
        end local 0 // jdk.internal.perf.PerfCounter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ljdk/internal/perf/PerfCounter;
            0    2     1  startTime  J
    MethodParameters:
           Name  Flags
      startTime  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.internal.perf.PerfCounter this
         0: .line 124
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield jdk.internal.perf.PerfCounter.name:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual jdk.internal.perf.PerfCounter.get:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // jdk.internal.perf.PerfCounter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/perf/PerfCounter;

  public static jdk.internal.perf.PerfCounter getFindClasses();
    descriptor: ()Ljdk/internal/perf/PerfCounter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 140
            getstatic jdk.internal.perf.PerfCounter$CoreCounters.lc:Ljdk/internal/perf/PerfCounter;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static jdk.internal.perf.PerfCounter getFindClassTime();
    descriptor: ()Ljdk/internal/perf/PerfCounter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 148
            getstatic jdk.internal.perf.PerfCounter$CoreCounters.lct:Ljdk/internal/perf/PerfCounter;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static jdk.internal.perf.PerfCounter getReadClassBytesTime();
    descriptor: ()Ljdk/internal/perf/PerfCounter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 155
            getstatic jdk.internal.perf.PerfCounter$CoreCounters.rcbt:Ljdk/internal/perf/PerfCounter;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static jdk.internal.perf.PerfCounter getParentDelegationTime();
    descriptor: ()Ljdk/internal/perf/PerfCounter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 163
            getstatic jdk.internal.perf.PerfCounter$CoreCounters.pdt:Ljdk/internal/perf/PerfCounter;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static jdk.internal.perf.PerfCounter getZipFileCount();
    descriptor: ()Ljdk/internal/perf/PerfCounter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 170
            getstatic jdk.internal.perf.PerfCounter$CoreCounters.zfc:Ljdk/internal/perf/PerfCounter;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static jdk.internal.perf.PerfCounter getZipFileOpenTime();
    descriptor: ()Ljdk/internal/perf/PerfCounter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 178
            getstatic jdk.internal.perf.PerfCounter$CoreCounters.zfot:Ljdk/internal/perf/PerfCounter;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "PerfCounter.java"
NestMembers:
  jdk.internal.perf.PerfCounter$CoreCounters
InnerClasses:
  public GetPerfAction = jdk.internal.perf.Perf$GetPerfAction of jdk.internal.perf.Perf
  CoreCounters = jdk.internal.perf.PerfCounter$CoreCounters of jdk.internal.perf.PerfCounter