class sun.management.VMManagementImpl implements sun.management.VMManagement
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.management.VMManagementImpl
  super_class: java.lang.Object
{
  private static java.lang.String version;
    descriptor: Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static boolean compTimeMonitoringSupport;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static boolean threadContentionMonitoringSupport;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static boolean currentThreadCpuTimeSupport;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static boolean otherThreadCpuTimeSupport;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static boolean objectMonitorUsageSupport;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static boolean synchronizerUsageSupport;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static boolean threadAllocatedMemorySupport;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static boolean gcNotificationSupport;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static boolean remoteDiagnosticCommandsSupport;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private java.util.List<java.lang.String> vmArgs;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private sun.management.counter.perf.PerfInstrumentation perfInstr;
    descriptor: Lsun/management/counter/perf/PerfInstrumentation;
    flags: (0x0002) ACC_PRIVATE

  private boolean noPerfData;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 62
            invokestatic sun.management.VMManagementImpl.getVersion0:()Ljava/lang/String;
            putstatic sun.management.VMManagementImpl.version:Ljava/lang/String;
         1: .line 63
            getstatic sun.management.VMManagementImpl.version:Ljava/lang/String;
            ifnonnull 3
         2: .line 64
            new java.lang.AssertionError
            dup
            ldc "Invalid Management Version"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 66
      StackMap locals:
      StackMap stack:
            invokestatic sun.management.VMManagementImpl.initOptionalSupportFields:()V
         4: .line 67
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 46
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 188
            aload 0 /* this */
            aconst_null
            putfield sun.management.VMManagementImpl.vmArgs:Ljava/util/List;
         2: .line 248
            aload 0 /* this */
            aconst_null
            putfield sun.management.VMManagementImpl.perfInstr:Lsun/management/counter/perf/PerfInstrumentation;
         3: .line 249
            aload 0 /* this */
            iconst_0
            putfield sun.management.VMManagementImpl.noPerfData:Z
         4: .line 46
            return
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/management/VMManagementImpl;

  private static native java.lang.String getVersion0();
    descriptor: ()Ljava/lang/String;
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  private static native void initOptionalSupportFields();
    descriptor: ()V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  public boolean isCompilationTimeMonitoringSupported();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 73
            getstatic sun.management.VMManagementImpl.compTimeMonitoringSupport:Z
            ireturn
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/management/VMManagementImpl;

  public boolean isThreadContentionMonitoringSupported();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 77
            getstatic sun.management.VMManagementImpl.threadContentionMonitoringSupport:Z
            ireturn
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/management/VMManagementImpl;

  public boolean isCurrentThreadCpuTimeSupported();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 81
            getstatic sun.management.VMManagementImpl.currentThreadCpuTimeSupport:Z
            ireturn
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/management/VMManagementImpl;

  public boolean isOtherThreadCpuTimeSupported();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 85
            getstatic sun.management.VMManagementImpl.otherThreadCpuTimeSupport:Z
            ireturn
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/management/VMManagementImpl;

  public boolean isBootClassPathSupported();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 89
            iconst_0
            ireturn
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/management/VMManagementImpl;

  public boolean isObjectMonitorUsageSupported();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 93
            getstatic sun.management.VMManagementImpl.objectMonitorUsageSupport:Z
            ireturn
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/management/VMManagementImpl;

  public boolean isSynchronizerUsageSupported();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 97
            getstatic sun.management.VMManagementImpl.synchronizerUsageSupport:Z
            ireturn
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/management/VMManagementImpl;

  public boolean isThreadAllocatedMemorySupported();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 101
            getstatic sun.management.VMManagementImpl.threadAllocatedMemorySupport:Z
            ireturn
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/management/VMManagementImpl;

  public boolean isGcNotificationSupported();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 105
            iconst_1
            istore 1 /* isSupported */
        start local 1 // boolean isSupported
         1: .line 107
            ldc "com.sun.management.GarbageCollectorMXBean"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            pop
         2: .line 108
            goto 5
      StackMap locals: sun.management.VMManagementImpl int
      StackMap stack: java.lang.ClassNotFoundException
         3: pop
         4: .line 109
            iconst_0
            istore 1 /* isSupported */
         5: .line 111
      StackMap locals:
      StackMap stack:
            iload 1 /* isSupported */
            ireturn
        end local 1 // boolean isSupported
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lsun/management/VMManagementImpl;
            1    6     1  isSupported  Z
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.ClassNotFoundException

  public boolean isRemoteDiagnosticCommandsSupported();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 115
            getstatic sun.management.VMManagementImpl.remoteDiagnosticCommandsSupport:Z
            ireturn
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/management/VMManagementImpl;

  public native boolean isThreadContentionMonitoringEnabled();
    descriptor: ()Z
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native boolean isThreadCpuTimeEnabled();
    descriptor: ()Z
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native boolean isThreadAllocatedMemoryEnabled();
    descriptor: ()Z
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public int getLoadedClassCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 124
            aload 0 /* this */
            invokevirtual sun.management.VMManagementImpl.getTotalClassCount:()J
            aload 0 /* this */
            invokevirtual sun.management.VMManagementImpl.getUnloadedClassCount:()J
            lsub
            lstore 1 /* count */
        start local 1 // long count
         1: .line 125
            lload 1 /* count */
            l2i
            ireturn
        end local 1 // long count
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/management/VMManagementImpl;
            1    2     1  count  J

  public native long getTotalClassCount();
    descriptor: ()J
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native long getUnloadedClassCount();
    descriptor: ()J
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native boolean getVerboseClass();
    descriptor: ()Z
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native boolean getVerboseGC();
    descriptor: ()Z
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public java.lang.String getManagementVersion();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 137
            getstatic sun.management.VMManagementImpl.version:Ljava/lang/String;
            areturn
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/management/VMManagementImpl;

  public java.lang.String getVmId();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 141
            aload 0 /* this */
            invokevirtual sun.management.VMManagementImpl.getProcessId:()I
            istore 1 /* pid */
        start local 1 // int pid
         1: .line 142
            ldc "localhost"
            astore 2 /* hostname */
        start local 2 // java.lang.String hostname
         2: .line 144
            invokestatic java.net.InetAddress.getLocalHost:()Ljava/net/InetAddress;
            invokevirtual java.net.InetAddress.getHostName:()Ljava/lang/String;
            astore 2 /* hostname */
         3: .line 145
            goto 5
      StackMap locals: sun.management.VMManagementImpl int java.lang.String
      StackMap stack: java.net.UnknownHostException
         4: pop
         5: .line 149
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            iload 1 /* pid */
            invokestatic java.lang.String.valueOf:(I)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 2 /* hostname */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.String hostname
        end local 1 // int pid
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lsun/management/VMManagementImpl;
            1    6     1       pid  I
            2    6     2  hostname  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2     3       4  Class java.net.UnknownHostException

  private native int getProcessId();
    descriptor: ()I
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE

  public java.lang.String getVmName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 154
            ldc "java.vm.name"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/management/VMManagementImpl;

  public java.lang.String getVmVendor();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 158
            ldc "java.vm.vendor"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/management/VMManagementImpl;

  public java.lang.String getVmVersion();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 161
            ldc "java.vm.version"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/management/VMManagementImpl;

  public java.lang.String getVmSpecName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 164
            ldc "java.vm.specification.name"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/management/VMManagementImpl;

  public java.lang.String getVmSpecVendor();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 167
            ldc "java.vm.specification.vendor"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/management/VMManagementImpl;

  public java.lang.String getVmSpecVersion();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 170
            ldc "java.vm.specification.version"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/management/VMManagementImpl;

  public java.lang.String getClassPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 173
            ldc "java.class.path"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/management/VMManagementImpl;

  public java.lang.String getLibraryPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 176
            ldc "java.library.path"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/management/VMManagementImpl;

  public java.lang.String getBootClassPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 180
            new java.lang.UnsupportedOperationException
            dup
         1: .line 181
            ldc "Boot class path mechanism is not supported"
         2: .line 180
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/management/VMManagementImpl;

  public long getUptime();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 185
            aload 0 /* this */
            invokevirtual sun.management.VMManagementImpl.getUptime0:()J
            lreturn
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/management/VMManagementImpl;

  public synchronized java.util.List<java.lang.String> getVmArguments();
    descriptor: ()Ljava/util/List;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 190
            aload 0 /* this */
            getfield sun.management.VMManagementImpl.vmArgs:Ljava/util/List;
            ifnonnull 6
         1: .line 191
            aload 0 /* this */
            invokevirtual sun.management.VMManagementImpl.getVmArguments0:()[Ljava/lang/String;
            astore 1 /* args */
        start local 1 // java.lang.String[] args
         2: .line 192
            aload 1 /* args */
            ifnull 3
            aload 1 /* args */
            arraylength
            ifeq 3
            aload 1 /* args */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            goto 4
         3: .line 193
      StackMap locals: java.lang.String[]
      StackMap stack:
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
         4: .line 192
      StackMap locals:
      StackMap stack: java.util.List
            astore 2 /* l */
        start local 2 // java.util.List l
         5: .line 194
            aload 0 /* this */
            aload 2 /* l */
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            putfield sun.management.VMManagementImpl.vmArgs:Ljava/util/List;
        end local 2 // java.util.List l
        end local 1 // java.lang.String[] args
         6: .line 196
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.management.VMManagementImpl.vmArgs:Ljava/util/List;
            areturn
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/management/VMManagementImpl;
            2    6     1  args  [Ljava/lang/String;
            5    6     2     l  Ljava/util/List<Ljava/lang/String;>;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public native java.lang.String[] getVmArguments0();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native long getStartupTime();
    descriptor: ()J
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  private native long getUptime0();
    descriptor: ()J
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE

  public native int getAvailableProcessors();
    descriptor: ()I
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public java.lang.String getCompilerName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 207
            new sun.management.VMManagementImpl$1
            dup
            aload 0 /* this */
            invokespecial sun.management.VMManagementImpl$1.<init>:(Lsun/management/VMManagementImpl;)V
         1: .line 206
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* name */
        start local 1 // java.lang.String name
         2: .line 212
            aload 1 /* name */
            areturn
        end local 1 // java.lang.String name
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/management/VMManagementImpl;
            2    3     1  name  Ljava/lang/String;

  public native long getTotalCompileTime();
    descriptor: ()J
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native long getTotalThreadCount();
    descriptor: ()J
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native int getLiveThreadCount();
    descriptor: ()I
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native int getPeakThreadCount();
    descriptor: ()I
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native int getDaemonThreadCount();
    descriptor: ()I
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public java.lang.String getOsName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 224
            ldc "os.name"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/management/VMManagementImpl;

  public java.lang.String getOsArch();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 227
            ldc "os.arch"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/management/VMManagementImpl;

  public java.lang.String getOsVersion();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 230
            ldc "os.version"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/management/VMManagementImpl;

  public native long getSafepointCount();
    descriptor: ()J
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native long getTotalSafepointTime();
    descriptor: ()J
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native long getSafepointSyncTime();
    descriptor: ()J
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native long getTotalApplicationNonStoppedTime();
    descriptor: ()J
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native long getLoadedClassSize();
    descriptor: ()J
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native long getUnloadedClassSize();
    descriptor: ()J
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native long getClassLoadingTime();
    descriptor: ()J
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native long getMethodDataSize();
    descriptor: ()J
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native long getInitializedClassCount();
    descriptor: ()J
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native long getClassInitializationTime();
    descriptor: ()J
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native long getClassVerificationTime();
    descriptor: ()J
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  private synchronized sun.management.counter.perf.PerfInstrumentation getPerfInstrumentation();
    descriptor: ()Lsun/management/counter/perf/PerfInstrumentation;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 252
            aload 0 /* this */
            getfield sun.management.VMManagementImpl.noPerfData:Z
            ifne 1
            aload 0 /* this */
            getfield sun.management.VMManagementImpl.perfInstr:Lsun/management/counter/perf/PerfInstrumentation;
            ifnull 2
         1: .line 253
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.management.VMManagementImpl.perfInstr:Lsun/management/counter/perf/PerfInstrumentation;
            areturn
         2: .line 257
      StackMap locals:
      StackMap stack:
            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
            astore 1 /* perf */
        start local 1 // jdk.internal.perf.Perf perf
         3: .line 259
            aload 1 /* perf */
            iconst_0
            ldc "r"
            invokevirtual jdk.internal.perf.Perf.attach:(ILjava/lang/String;)Ljava/nio/ByteBuffer;
            astore 2 /* bb */
        start local 2 // java.nio.ByteBuffer bb
         4: .line 260
            aload 2 /* bb */
            invokevirtual java.nio.ByteBuffer.capacity:()I
            ifne 7
         5: .line 261
            aload 0 /* this */
            iconst_1
            putfield sun.management.VMManagementImpl.noPerfData:Z
         6: .line 262
            aconst_null
            areturn
         7: .line 264
      StackMap locals: jdk.internal.perf.Perf java.nio.ByteBuffer
      StackMap stack:
            aload 0 /* this */
            new sun.management.counter.perf.PerfInstrumentation
            dup
            aload 2 /* bb */
            invokespecial sun.management.counter.perf.PerfInstrumentation.<init>:(Ljava/nio/ByteBuffer;)V
            putfield sun.management.VMManagementImpl.perfInstr:Lsun/management/counter/perf/PerfInstrumentation;
        end local 2 // java.nio.ByteBuffer bb
         8: .line 265
            goto 13
      StackMap locals: sun.management.VMManagementImpl jdk.internal.perf.Perf
      StackMap stack: java.lang.IllegalArgumentException
         9: pop
        10: .line 268
            aload 0 /* this */
            iconst_1
            putfield sun.management.VMManagementImpl.noPerfData:Z
            goto 13
        11: .line 269
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
        12: .line 270
            new java.lang.AssertionError
            dup
            aload 2 /* e */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 2 // java.io.IOException e
        13: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.management.VMManagementImpl.perfInstr:Lsun/management/counter/perf/PerfInstrumentation;
            areturn
        end local 1 // jdk.internal.perf.Perf perf
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lsun/management/VMManagementImpl;
            3   14     1  perf  Ljdk/internal/perf/Perf;
            4    8     2    bb  Ljava/nio/ByteBuffer;
           12   13     2     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3     6       9  Class java.lang.IllegalArgumentException
           7     8       9  Class java.lang.IllegalArgumentException
           3     6      11  Class java.io.IOException
           7     8      11  Class java.io.IOException

  public java.util.List<sun.management.counter.Counter> getInternalCounters(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.management.VMManagementImpl this
        start local 1 // java.lang.String pattern
         0: .line 276
            aload 0 /* this */
            invokevirtual sun.management.VMManagementImpl.getPerfInstrumentation:()Lsun/management/counter/perf/PerfInstrumentation;
            astore 2 /* perf */
        start local 2 // sun.management.counter.perf.PerfInstrumentation perf
         1: .line 277
            aload 2 /* perf */
            ifnull 3
         2: .line 278
            aload 2 /* perf */
            aload 1 /* pattern */
            invokevirtual sun.management.counter.perf.PerfInstrumentation.findByPattern:(Ljava/lang/String;)Ljava/util/List;
            areturn
         3: .line 280
      StackMap locals: sun.management.counter.perf.PerfInstrumentation
      StackMap stack:
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
        end local 2 // sun.management.counter.perf.PerfInstrumentation perf
        end local 1 // java.lang.String pattern
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lsun/management/VMManagementImpl;
            0    4     1  pattern  Ljava/lang/String;
            1    4     2     perf  Lsun/management/counter/perf/PerfInstrumentation;
    Signature: (Ljava/lang/String;)Ljava/util/List<Lsun/management/counter/Counter;>;
    MethodParameters:
         Name  Flags
      pattern  
}
SourceFile: "VMManagementImpl.java"
NestMembers:
  sun.management.VMManagementImpl$1
InnerClasses:
  public GetPerfAction = jdk.internal.perf.Perf$GetPerfAction of jdk.internal.perf.Perf
  sun.management.VMManagementImpl$1