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 bootClassPathSupport;
    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 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 63
            invokestatic sun.management.VMManagementImpl.getVersion0:()Ljava/lang/String;
            putstatic sun.management.VMManagementImpl.version:Ljava/lang/String;
         1: .line 64
            getstatic sun.management.VMManagementImpl.version:Ljava/lang/String;
            ifnonnull 3
         2: .line 65
            new java.lang.AssertionError
            dup
            ldc "Invalid Management Version"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 67
      StackMap locals:
      StackMap stack:
            invokestatic sun.management.VMManagementImpl.initOptionalSupportFields:()V
         4: .line 68
            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 47
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 177
            aload 0 /* this */
            aconst_null
            putfield sun.management.VMManagementImpl.vmArgs:Ljava/util/List;
         2: .line 236
            aload 0 /* this */
            aconst_null
            putfield sun.management.VMManagementImpl.perfInstr:Lsun/management/counter/perf/PerfInstrumentation;
         3: .line 237
            aload 0 /* this */
            iconst_0
            putfield sun.management.VMManagementImpl.noPerfData:Z
         4: .line 47
            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 74
            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 78
            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 82
            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 86
            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 90
            getstatic sun.management.VMManagementImpl.bootClassPathSupport:Z
            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 94
            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 98
            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 102
            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=1, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 106
            getstatic sun.management.VMManagementImpl.gcNotificationSupport: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 115
            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 116
            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 128
            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 132
            aload 0 /* this */
            invokevirtual sun.management.VMManagementImpl.getProcessId:()I
            istore 1 /* pid */
        start local 1 // int pid
         1: .line 133
            ldc "localhost"
            astore 2 /* hostname */
        start local 2 // java.lang.String hostname
         2: .line 135
            invokestatic java.net.InetAddress.getLocalHost:()Ljava/net/InetAddress;
            invokevirtual java.net.InetAddress.getHostName:()Ljava/lang/String;
            astore 2 /* hostname */
         3: .line 136
            goto 5
      StackMap locals: sun.management.VMManagementImpl int java.lang.String
      StackMap stack: java.net.UnknownHostException
         4: pop
         5: .line 140
      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 145
            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 149
            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 152
            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 155
            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 158
            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 161
            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 164
            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 167
            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=3, args_size=1
        start local 0 // sun.management.VMManagementImpl this
         0: .line 172
            new sun.security.action.GetPropertyAction
            dup
            ldc "sun.boot.class.path"
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
         1: .line 171
            astore 1 /* pa */
        start local 1 // java.security.PrivilegedAction pa
         2: .line 173
            aload 1 /* pa */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* result */
        start local 2 // java.lang.String result
         3: .line 174
            aload 2 /* result */
            areturn
        end local 2 // java.lang.String result
        end local 1 // java.security.PrivilegedAction pa
        end local 0 // sun.management.VMManagementImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lsun/management/VMManagementImpl;
            2    4     1      pa  Ljava/security/PrivilegedAction<Ljava/lang/String;>;
            3    4     2  result  Ljava/lang/String;

  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 179
            aload 0 /* this */
            getfield sun.management.VMManagementImpl.vmArgs:Ljava/util/List;
            ifnonnull 6
         1: .line 180
            aload 0 /* this */
            invokevirtual sun.management.VMManagementImpl.getVmArguments0:()[Ljava/lang/String;
            astore 1 /* args */
        start local 1 // java.lang.String[] args
         2: .line 181
            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 182
      StackMap locals: java.lang.String[]
      StackMap stack:
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
         4: .line 181
      StackMap locals:
      StackMap stack: java.util.List
            astore 2 /* l */
        start local 2 // java.util.List l
         5: .line 183
            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 185
      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

  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 195
            new sun.management.VMManagementImpl$1
            dup
            aload 0 /* this */
            invokespecial sun.management.VMManagementImpl$1.<init>:(Lsun/management/VMManagementImpl;)V
         1: .line 194
            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 200
            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 212
            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 215
            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 218
            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 240
            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 241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.management.VMManagementImpl.perfInstr:Lsun/management/counter/perf/PerfInstrumentation;
            areturn
         2: .line 245
      StackMap locals:
      StackMap stack:
            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
            astore 1 /* perf */
        start local 1 // sun.misc.Perf perf
         3: .line 247
            aload 1 /* perf */
            iconst_0
            ldc "r"
            invokevirtual sun.misc.Perf.attach:(ILjava/lang/String;)Ljava/nio/ByteBuffer;
            astore 2 /* bb */
        start local 2 // java.nio.ByteBuffer bb
         4: .line 248
            aload 2 /* bb */
            invokevirtual java.nio.ByteBuffer.capacity:()I
            ifne 7
         5: .line 249
            aload 0 /* this */
            iconst_1
            putfield sun.management.VMManagementImpl.noPerfData:Z
         6: .line 250
            aconst_null
            areturn
         7: .line 252
      StackMap locals: sun.misc.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 253
            goto 13
      StackMap locals: sun.management.VMManagementImpl sun.misc.Perf
      StackMap stack: java.lang.IllegalArgumentException
         9: pop
        10: .line 256
            aload 0 /* this */
            iconst_1
            putfield sun.management.VMManagementImpl.noPerfData:Z
            goto 13
        11: .line 257
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
        12: .line 258
            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 260
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.management.VMManagementImpl.perfInstr:Lsun/management/counter/perf/PerfInstrumentation;
            areturn
        end local 1 // sun.misc.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  Lsun/misc/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 264
            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 265
            aload 2 /* perf */
            ifnull 3
         2: .line 266
            aload 2 /* perf */
            aload 1 /* pattern */
            invokevirtual sun.management.counter.perf.PerfInstrumentation.findByPattern:(Ljava/lang/String;)Ljava/util/List;
            areturn
         3: .line 268
      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:
  sun.management.VMManagementImpl$1
  public GetPerfAction = sun.misc.Perf$GetPerfAction of sun.misc.Perf