public class sun.misc.PerfCounter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.misc.PerfCounter
  super_class: java.lang.Object
{
  private static final sun.misc.Perf perf;
    descriptor: Lsun/misc/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 sun.misc.Perf$GetPerfAction
            dup
            invokespecial sun.misc.Perf$GetPerfAction.<init>:()V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast sun.misc.Perf
         1: .line 51
            putstatic sun.misc.PerfCounter.perf:Lsun/misc/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 // sun.misc.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 sun.misc.PerfCounter.name:Ljava/lang/String;
         2: .line 65
            getstatic sun.misc.PerfCounter.perf:Lsun/misc/Perf;
            aload 1 /* name */
            iconst_1
            iload 2 /* type */
            lconst_0
            invokevirtual sun.misc.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 sun.misc.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 // sun.misc.PerfCounter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/misc/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  

  static sun.misc.PerfCounter newPerfCounter(java.lang.String);
    descriptor: (Ljava/lang/String;)Lsun/misc/PerfCounter;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 71
            new sun.misc.PerfCounter
            dup
            aload 0 /* name */
            iconst_3
            invokespecial sun.misc.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  

  static sun.misc.PerfCounter newConstantPerfCounter(java.lang.String);
    descriptor: (Ljava/lang/String;)Lsun/misc/PerfCounter;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.String name
         0: .line 75
            new sun.misc.PerfCounter
            dup
            aload 0 /* name */
            iconst_1
            invokespecial sun.misc.PerfCounter.<init>:(Ljava/lang/String;I)V
            astore 1 /* c */
        start local 1 // sun.misc.PerfCounter c
         1: .line 76
            aload 1 /* c */
            areturn
        end local 1 // sun.misc.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  Lsun/misc/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 // sun.misc.PerfCounter this
         0: .line 83
            aload 0 /* this */
            getfield sun.misc.PerfCounter.lb:Ljava/nio/LongBuffer;
            iconst_0
            invokevirtual java.nio.LongBuffer.get:(I)J
            lreturn
        end local 0 // sun.misc.PerfCounter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/misc/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 // sun.misc.PerfCounter this
        start local 1 // long newValue
         0: .line 90
            aload 0 /* this */
            getfield sun.misc.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 // sun.misc.PerfCounter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lsun/misc/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 // sun.misc.PerfCounter this
        start local 1 // long value
         0: .line 97
            aload 0 /* this */
            invokevirtual sun.misc.PerfCounter.get:()J
            lload 1 /* value */
            ladd
            lstore 3 /* res */
        start local 3 // long res
         1: .line 98
            aload 0 /* this */
            getfield sun.misc.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 // sun.misc.PerfCounter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lsun/misc/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 // sun.misc.PerfCounter this
         0: .line 105
            aload 0 /* this */
            lconst_1
            invokevirtual sun.misc.PerfCounter.add:(J)V
         1: .line 106
            return
        end local 0 // sun.misc.PerfCounter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/misc/PerfCounter;

  public void addTime(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.misc.PerfCounter this
        start local 1 // long interval
         0: .line 112
            aload 0 /* this */
            lload 1 /* interval */
            invokevirtual sun.misc.PerfCounter.add:(J)V
         1: .line 113
            return
        end local 1 // long interval
        end local 0 // sun.misc.PerfCounter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lsun/misc/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 // sun.misc.PerfCounter this
        start local 1 // long startTime
         0: .line 119
            aload 0 /* this */
            invokestatic java.lang.System.nanoTime:()J
            lload 1 /* startTime */
            lsub
            invokevirtual sun.misc.PerfCounter.add:(J)V
         1: .line 120
            return
        end local 1 // long startTime
        end local 0 // sun.misc.PerfCounter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lsun/misc/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 // sun.misc.PerfCounter this
         0: .line 124
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield sun.misc.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 sun.misc.PerfCounter.get:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // sun.misc.PerfCounter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/misc/PerfCounter;

  public static sun.misc.PerfCounter getFindClasses();
    descriptor: ()Lsun/misc/PerfCounter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 144
            getstatic sun.misc.PerfCounter$CoreCounters.lc:Lsun/misc/PerfCounter;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static sun.misc.PerfCounter getFindClassTime();
    descriptor: ()Lsun/misc/PerfCounter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 152
            getstatic sun.misc.PerfCounter$CoreCounters.lct:Lsun/misc/PerfCounter;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static sun.misc.PerfCounter getReadClassBytesTime();
    descriptor: ()Lsun/misc/PerfCounter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 159
            getstatic sun.misc.PerfCounter$CoreCounters.rcbt:Lsun/misc/PerfCounter;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static sun.misc.PerfCounter getParentDelegationTime();
    descriptor: ()Lsun/misc/PerfCounter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 167
            getstatic sun.misc.PerfCounter$CoreCounters.pdt:Lsun/misc/PerfCounter;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static sun.misc.PerfCounter getZipFileCount();
    descriptor: ()Lsun/misc/PerfCounter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 174
            getstatic sun.misc.PerfCounter$CoreCounters.zfc:Lsun/misc/PerfCounter;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static sun.misc.PerfCounter getZipFileOpenTime();
    descriptor: ()Lsun/misc/PerfCounter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 182
            getstatic sun.misc.PerfCounter$CoreCounters.zfot:Lsun/misc/PerfCounter;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static sun.misc.PerfCounter getD3DAvailable();
    descriptor: ()Lsun/misc/PerfCounter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 189
            getstatic sun.misc.PerfCounter$WindowsClientCounters.d3dAvailable:Lsun/misc/PerfCounter;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "PerfCounter.java"
NestMembers:
  sun.misc.PerfCounter$CoreCounters  sun.misc.PerfCounter$WindowsClientCounters
InnerClasses:
  public GetPerfAction = sun.misc.Perf$GetPerfAction of sun.misc.Perf
  CoreCounters = sun.misc.PerfCounter$CoreCounters of sun.misc.PerfCounter
  WindowsClientCounters = sun.misc.PerfCounter$WindowsClientCounters of sun.misc.PerfCounter