public class sun.jvm.hotspot.utilities.soql.JSJavaVM extends sun.jvm.hotspot.utilities.soql.DefaultScriptObject
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.jvm.hotspot.utilities.soql.JSJavaVM
  super_class: sun.jvm.hotspot.utilities.soql.DefaultScriptObject
{
  private static final int FIELD_ADDRESS_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

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

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

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

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

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

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

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

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

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

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

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

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

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

  private static java.util.Map fields;
    descriptor: Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private sun.jvm.hotspot.utilities.soql.JSMap flagsCache;
    descriptor: Lsun/jvm/hotspot/utilities/soql/JSMap;
    flags: (0x0002) ACC_PRIVATE

  private sun.jvm.hotspot.utilities.soql.JSJavaHeap heapCache;
    descriptor: Lsun/jvm/hotspot/utilities/soql/JSJavaHeap;
    flags: (0x0002) ACC_PRIVATE

  private sun.jvm.hotspot.utilities.soql.JSMap sysPropsCache;
    descriptor: Lsun/jvm/hotspot/utilities/soql/JSMap;
    flags: (0x0002) ACC_PRIVATE

  private sun.jvm.hotspot.utilities.soql.JSList threadsCache;
    descriptor: Lsun/jvm/hotspot/utilities/soql/JSList;
    flags: (0x0002) ACC_PRIVATE

  private final sun.jvm.hotspot.utilities.soql.JSJavaFactory factory;
    descriptor: Lsun/jvm/hotspot/utilities/soql/JSJavaFactory;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final sun.jvm.hotspot.runtime.VM vm;
    descriptor: Lsun/jvm/hotspot/runtime/VM;
    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 122
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic sun.jvm.hotspot.utilities.soql.JSJavaVM.fields:Ljava/util/Map;
         1: .line 133
            ldc "addressSize"
            iconst_0
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaVM.addField:(Ljava/lang/String;I)V
         2: .line 134
            ldc "buildInfo"
            iconst_1
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaVM.addField:(Ljava/lang/String;I)V
         3: .line 135
            ldc "cpu"
            iconst_2
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaVM.addField:(Ljava/lang/String;I)V
         4: .line 136
            ldc "flags"
            iconst_3
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaVM.addField:(Ljava/lang/String;I)V
         5: .line 137
            ldc "heap"
            iconst_4
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaVM.addField:(Ljava/lang/String;I)V
         6: .line 138
            ldc "os"
            iconst_5
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaVM.addField:(Ljava/lang/String;I)V
         7: .line 139
            ldc "sysProps"
            bipush 6
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaVM.addField:(Ljava/lang/String;I)V
         8: .line 140
            ldc "threads"
            bipush 7
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaVM.addField:(Ljava/lang/String;I)V
         9: .line 141
            ldc "type"
            bipush 8
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaVM.addField:(Ljava/lang/String;I)V
        10: .line 142
            ldc "version"
            bipush 9
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaVM.addField:(Ljava/lang/String;I)V
        11: .line 143
            ldc "classPath"
            bipush 10
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaVM.addField:(Ljava/lang/String;I)V
        12: .line 144
            ldc "userDir"
            bipush 12
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaVM.addField:(Ljava/lang/String;I)V
        13: .line 145
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(sun.jvm.hotspot.utilities.soql.JSJavaFactory);
    descriptor: (Lsun/jvm/hotspot/utilities/soql/JSJavaFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaVM this
        start local 1 // sun.jvm.hotspot.utilities.soql.JSJavaFactory factory
         0: .line 48
            aload 0 /* this */
            invokespecial sun.jvm.hotspot.utilities.soql.DefaultScriptObject.<init>:()V
         1: .line 49
            aload 0 /* this */
            aload 1 /* factory */
            putfield sun.jvm.hotspot.utilities.soql.JSJavaVM.factory:Lsun/jvm/hotspot/utilities/soql/JSJavaFactory;
         2: .line 50
            aload 0 /* this */
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            putfield sun.jvm.hotspot.utilities.soql.JSJavaVM.vm:Lsun/jvm/hotspot/runtime/VM;
         3: .line 51
            return
        end local 1 // sun.jvm.hotspot.utilities.soql.JSJavaFactory factory
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaVM this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lsun/jvm/hotspot/utilities/soql/JSJavaVM;
            0    4     1  factory  Lsun/jvm/hotspot/utilities/soql/JSJavaFactory;
    MethodParameters:
         Name  Flags
      factory  

  public java.lang.Object get(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaVM this
        start local 1 // java.lang.String name
         0: .line 54
            aload 1 /* name */
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaVM.getFieldID:(Ljava/lang/String;)I
            istore 2 /* fieldID */
        start local 2 // int fieldID
         1: .line 55
            iload 2 /* fieldID */
            tableswitch { // -1 - 12
                   -1: 14
                    0: 2
                    1: 3
                    2: 4
                    3: 5
                    4: 6
                    5: 7
                    6: 8
                    7: 9
                    8: 10
                    9: 11
                   10: 12
                   11: 14
                   12: 13
              default: 14
          }
         2: .line 57
      StackMap locals: int
      StackMap stack:
            new java.lang.Long
            dup
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaVM.getVMBit:()J
            invokespecial java.lang.Long.<init>:(J)V
            areturn
         3: .line 59
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaVM.vm:Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getVMInternalInfo:()Ljava/lang/String;
            areturn
         4: .line 61
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaVM.vm:Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getCPU:()Ljava/lang/String;
            areturn
         5: .line 63
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaVM.getFlags:()Lsun/jvm/hotspot/utilities/soql/JSMap;
            areturn
         6: .line 65
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaVM.getHeap:()Lsun/jvm/hotspot/utilities/soql/JSJavaHeap;
            areturn
         7: .line 67
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaVM.vm:Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getOS:()Ljava/lang/String;
            areturn
         8: .line 69
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaVM.getSysProps:()Lsun/jvm/hotspot/utilities/soql/JSMap;
            areturn
         9: .line 71
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaVM.getThreads:()Lsun/jvm/hotspot/utilities/soql/JSList;
            areturn
        10: .line 73
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaVM.getType:()Ljava/lang/String;
            areturn
        11: .line 75
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaVM.vm:Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getVMRelease:()Ljava/lang/String;
            areturn
        12: .line 77
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaVM.getClassPath:()Ljava/lang/String;
            areturn
        13: .line 79
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaVM.getUserDir:()Ljava/lang/String;
            areturn
        14: .line 82
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokespecial sun.jvm.hotspot.utilities.soql.DefaultScriptObject.get:(Ljava/lang/String;)Ljava/lang/Object;
            areturn
        end local 2 // int fieldID
        end local 1 // java.lang.String name
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaVM this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lsun/jvm/hotspot/utilities/soql/JSJavaVM;
            0   15     1     name  Ljava/lang/String;
            1   15     2  fieldID  I
    MethodParameters:
      Name  Flags
      name  

  public java.lang.Object[] getIds();
    descriptor: ()[Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaVM this
         0: .line 87
            aload 0 /* this */
            invokespecial sun.jvm.hotspot.utilities.soql.DefaultScriptObject.getIds:()[Ljava/lang/Object;
            astore 1 /* superIds */
        start local 1 // java.lang.Object[] superIds
         1: .line 88
            getstatic sun.jvm.hotspot.utilities.soql.JSJavaVM.fields:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.toArray:()[Ljava/lang/Object;
            astore 2 /* tmp */
        start local 2 // java.lang.Object[] tmp
         2: .line 89
            aload 1 /* superIds */
            arraylength
            aload 2 /* tmp */
            arraylength
            iadd
            anewarray java.lang.Object
            astore 3 /* res */
        start local 3 // java.lang.Object[] res
         3: .line 90
            aload 2 /* tmp */
            iconst_0
            aload 3 /* res */
            iconst_0
            aload 2 /* tmp */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 91
            aload 1 /* superIds */
            iconst_0
            aload 3 /* res */
            aload 2 /* tmp */
            arraylength
            aload 1 /* superIds */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 92
            aload 3 /* res */
            areturn
        end local 3 // java.lang.Object[] res
        end local 2 // java.lang.Object[] tmp
        end local 1 // java.lang.Object[] superIds
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaVM this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lsun/jvm/hotspot/utilities/soql/JSJavaVM;
            1    6     1  superIds  [Ljava/lang/Object;
            2    6     2       tmp  [Ljava/lang/Object;
            3    6     3       res  [Ljava/lang/Object;

  public boolean has(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaVM this
        start local 1 // java.lang.String name
         0: .line 96
            aload 1 /* name */
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaVM.getFieldID:(Ljava/lang/String;)I
            iconst_m1
            if_icmpeq 2
         1: .line 97
            iconst_1
            ireturn
         2: .line 99
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokespecial sun.jvm.hotspot.utilities.soql.DefaultScriptObject.has:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String name
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaVM this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/jvm/hotspot/utilities/soql/JSJavaVM;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public void put(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaVM this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Object value
         0: .line 104
            aload 1 /* name */
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaVM.getFieldID:(Ljava/lang/String;)I
            iconst_m1
            if_icmpne 2
         1: .line 105
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            invokespecial sun.jvm.hotspot.utilities.soql.DefaultScriptObject.put:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 107
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object value
        end local 1 // java.lang.String name
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaVM this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lsun/jvm/hotspot/utilities/soql/JSJavaVM;
            0    3     1   name  Ljava/lang/String;
            0    3     2  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      name   
      value  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaVM this
         0: .line 110
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuffer buf
         1: .line 111
            aload 1 /* buf */
            ldc "Java Hotspot "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 112
            aload 1 /* buf */
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaVM.getType:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         3: .line 113
            aload 1 /* buf */
            bipush 32
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         4: .line 114
            aload 1 /* buf */
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaVM.getVMBit:()J
            invokevirtual java.lang.StringBuffer.append:(J)Ljava/lang/StringBuffer;
            pop
         5: .line 115
            aload 1 /* buf */
            ldc " bit VM (build "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         6: .line 116
            aload 1 /* buf */
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaVM.vm:Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getVMRelease:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         7: .line 117
            aload 1 /* buf */
            ldc ")"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         8: .line 118
            aload 1 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer buf
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaVM this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/jvm/hotspot/utilities/soql/JSJavaVM;
            1    9     1   buf  Ljava/lang/StringBuffer;

  private static void addField(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.lang.String name
        start local 1 // int fieldId
         0: .line 124
            getstatic sun.jvm.hotspot.utilities.soql.JSJavaVM.fields:Ljava/util/Map;
            aload 0 /* name */
            new java.lang.Integer
            dup
            iload 1 /* fieldId */
            invokespecial java.lang.Integer.<init>:(I)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 125
            return
        end local 1 // int fieldId
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     name  Ljava/lang/String;
            0    2     1  fieldId  I
    MethodParameters:
         Name  Flags
      name     
      fieldId  

  private static int getFieldID(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String name
         0: .line 128
            getstatic sun.jvm.hotspot.utilities.soql.JSJavaVM.fields:Ljava/util/Map;
            aload 0 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 1 /* res */
        start local 1 // java.lang.Integer res
         1: .line 129
            aload 1 /* res */
            ifnull 2
            aload 1 /* res */
            invokevirtual java.lang.Integer.intValue:()I
            goto 3
      StackMap locals: java.lang.Integer
      StackMap stack:
         2: iconst_m1
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 1 // java.lang.Integer res
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  name  Ljava/lang/String;
            1    4     1   res  Ljava/lang/Integer;
    MethodParameters:
      Name  Flags
      name  

  private long getVMBit();
    descriptor: ()J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaVM this
         0: .line 149
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaVM.vm:Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getAddressSize:()J
            ldc 8
            lmul
            lreturn
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaVM this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/utilities/soql/JSJavaVM;

  private synchronized sun.jvm.hotspot.utilities.soql.JSMap getFlags();
    descriptor: ()Lsun/jvm/hotspot/utilities/soql/JSMap;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaVM this
         0: .line 153
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaVM.flagsCache:Lsun/jvm/hotspot/utilities/soql/JSMap;
            ifnonnull 11
         1: .line 154
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaVM.vm:Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getCommandLineFlags:()[Lsun/jvm/hotspot/runtime/VM$Flag;
            astore 1 /* flags */
        start local 1 // sun.jvm.hotspot.runtime.VM$Flag[] flags
         2: .line 155
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* map */
        start local 2 // java.util.Map map
         3: .line 156
            aload 1 /* flags */
            ifnull 10
         4: .line 157
            iconst_0
            istore 3 /* f */
        start local 3 // int f
         5: goto 9
         6: .line 158
      StackMap locals: sun.jvm.hotspot.runtime.VM$Flag[] java.util.Map int
      StackMap stack:
            aload 1 /* flags */
            iload 3 /* f */
            aaload
            astore 4 /* flag */
        start local 4 // sun.jvm.hotspot.runtime.VM$Flag flag
         7: .line 159
            aload 2 /* map */
            aload 4 /* flag */
            invokevirtual sun.jvm.hotspot.runtime.VM$Flag.getName:()Ljava/lang/String;
            aload 4 /* flag */
            invokevirtual sun.jvm.hotspot.runtime.VM$Flag.getValue:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // sun.jvm.hotspot.runtime.VM$Flag flag
         8: .line 157
            iinc 3 /* f */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* f */
            aload 1 /* flags */
            arraylength
            if_icmplt 6
        end local 3 // int f
        10: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaVM.factory:Lsun/jvm/hotspot/utilities/soql/JSJavaFactory;
            aload 2 /* map */
            invokeinterface sun.jvm.hotspot.utilities.soql.JSJavaFactory.newJSMap:(Ljava/util/Map;)Lsun/jvm/hotspot/utilities/soql/JSMap;
            putfield sun.jvm.hotspot.utilities.soql.JSJavaVM.flagsCache:Lsun/jvm/hotspot/utilities/soql/JSMap;
        end local 2 // java.util.Map map
        end local 1 // sun.jvm.hotspot.runtime.VM$Flag[] flags
        11: .line 164
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaVM.flagsCache:Lsun/jvm/hotspot/utilities/soql/JSMap;
            areturn
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaVM this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lsun/jvm/hotspot/utilities/soql/JSJavaVM;
            2   11     1  flags  [Lsun/jvm/hotspot/runtime/VM$Flag;
            3   11     2    map  Ljava/util/Map;
            5   10     3      f  I
            7    8     4   flag  Lsun/jvm/hotspot/runtime/VM$Flag;

  private synchronized sun.jvm.hotspot.utilities.soql.JSJavaHeap getHeap();
    descriptor: ()Lsun/jvm/hotspot/utilities/soql/JSJavaHeap;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaVM this
         0: .line 168
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaVM.heapCache:Lsun/jvm/hotspot/utilities/soql/JSJavaHeap;
            ifnonnull 2
         1: .line 169
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaVM.factory:Lsun/jvm/hotspot/utilities/soql/JSJavaFactory;
            invokeinterface sun.jvm.hotspot.utilities.soql.JSJavaFactory.newJSJavaHeap:()Lsun/jvm/hotspot/utilities/soql/JSJavaHeap;
            putfield sun.jvm.hotspot.utilities.soql.JSJavaVM.heapCache:Lsun/jvm/hotspot/utilities/soql/JSJavaHeap;
         2: .line 171
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaVM.heapCache:Lsun/jvm/hotspot/utilities/soql/JSJavaHeap;
            areturn
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaVM this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/jvm/hotspot/utilities/soql/JSJavaVM;

  private synchronized sun.jvm.hotspot.utilities.soql.JSMap getSysProps();
    descriptor: ()Lsun/jvm/hotspot/utilities/soql/JSMap;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaVM this
         0: .line 175
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaVM.sysPropsCache:Lsun/jvm/hotspot/utilities/soql/JSMap;
            ifnonnull 10
         1: .line 176
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaVM.vm:Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getSystemProperties:()Ljava/util/Properties;
            astore 1 /* props */
        start local 1 // java.util.Properties props
         2: .line 177
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* map */
        start local 2 // java.util.Map map
         3: .line 178
            aload 1 /* props */
            ifnull 9
         4: .line 179
            aload 1 /* props */
            invokevirtual java.util.Properties.propertyNames:()Ljava/util/Enumeration;
            astore 3 /* e */
        start local 3 // java.util.Enumeration e
         5: .line 180
            goto 8
         6: .line 181
      StackMap locals: java.util.Properties java.util.Map java.util.Enumeration
      StackMap stack:
            aload 3 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* key */
        start local 4 // java.lang.String key
         7: .line 182
            aload 2 /* map */
            aload 4 /* key */
            aload 1 /* props */
            aload 4 /* key */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.lang.String key
         8: .line 180
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 6
        end local 3 // java.util.Enumeration e
         9: .line 185
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaVM.factory:Lsun/jvm/hotspot/utilities/soql/JSJavaFactory;
            aload 2 /* map */
            invokeinterface sun.jvm.hotspot.utilities.soql.JSJavaFactory.newJSMap:(Ljava/util/Map;)Lsun/jvm/hotspot/utilities/soql/JSMap;
            putfield sun.jvm.hotspot.utilities.soql.JSJavaVM.sysPropsCache:Lsun/jvm/hotspot/utilities/soql/JSMap;
        end local 2 // java.util.Map map
        end local 1 // java.util.Properties props
        10: .line 187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaVM.sysPropsCache:Lsun/jvm/hotspot/utilities/soql/JSMap;
            areturn
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaVM this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lsun/jvm/hotspot/utilities/soql/JSJavaVM;
            2   10     1  props  Ljava/util/Properties;
            3   10     2    map  Ljava/util/Map;
            5    9     3      e  Ljava/util/Enumeration;
            7    8     4    key  Ljava/lang/String;

  private synchronized sun.jvm.hotspot.utilities.soql.JSList getThreads();
    descriptor: ()Lsun/jvm/hotspot/utilities/soql/JSList;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaVM this
         0: .line 191
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaVM.threadsCache:Lsun/jvm/hotspot/utilities/soql/JSList;
            ifnonnull 8
         1: .line 192
            new java.util.ArrayList
            dup
            iconst_0
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 1 /* threads */
        start local 1 // java.util.List threads
         2: .line 193
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaVM.factory:Lsun/jvm/hotspot/utilities/soql/JSJavaFactory;
            aload 1 /* threads */
            invokeinterface sun.jvm.hotspot.utilities.soql.JSJavaFactory.newJSList:(Ljava/util/List;)Lsun/jvm/hotspot/utilities/soql/JSList;
            putfield sun.jvm.hotspot.utilities.soql.JSJavaVM.threadsCache:Lsun/jvm/hotspot/utilities/soql/JSList;
         3: .line 194
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaVM.vm:Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getThreads:()Lsun/jvm/hotspot/runtime/Threads;
            invokevirtual sun.jvm.hotspot.runtime.Threads.first:()Lsun/jvm/hotspot/runtime/JavaThread;
            astore 2 /* jthread */
        start local 2 // sun.jvm.hotspot.runtime.JavaThread jthread
         4: .line 195
            goto 7
         5: .line 196
      StackMap locals: java.util.List sun.jvm.hotspot.runtime.JavaThread
      StackMap stack:
            aload 1 /* threads */
            aload 2 /* jthread */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 197
            aload 2 /* jthread */
            invokevirtual sun.jvm.hotspot.runtime.JavaThread.next:()Lsun/jvm/hotspot/runtime/JavaThread;
            astore 2 /* jthread */
         7: .line 195
      StackMap locals:
      StackMap stack:
            aload 2 /* jthread */
            ifnonnull 5
        end local 2 // sun.jvm.hotspot.runtime.JavaThread jthread
        end local 1 // java.util.List threads
         8: .line 200
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaVM.threadsCache:Lsun/jvm/hotspot/utilities/soql/JSList;
            areturn
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaVM this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lsun/jvm/hotspot/utilities/soql/JSJavaVM;
            2    8     1  threads  Ljava/util/List;
            4    8     2  jthread  Lsun/jvm/hotspot/runtime/JavaThread;

  private java.lang.String getType();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaVM this
         0: .line 204
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaVM.vm:Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.isClientCompiler:()Z
            ifeq 2
         1: .line 205
            ldc "Client"
            areturn
         2: .line 206
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaVM.vm:Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.isServerCompiler:()Z
            ifeq 4
         3: .line 207
            ldc "Server"
            areturn
         4: .line 209
      StackMap locals:
      StackMap stack:
            ldc "Core"
            areturn
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaVM this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/jvm/hotspot/utilities/soql/JSJavaVM;

  private java.lang.String getClassPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaVM this
         0: .line 214
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaVM.vm:Lsun/jvm/hotspot/runtime/VM;
            ldc "java.class.path"
            invokevirtual sun.jvm.hotspot.runtime.VM.getSystemProperty:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaVM this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/utilities/soql/JSJavaVM;

  private java.lang.String getUserDir();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaVM this
         0: .line 218
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaVM.vm:Lsun/jvm/hotspot/runtime/VM;
            ldc "user.dir"
            invokevirtual sun.jvm.hotspot.runtime.VM.getSystemProperty:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaVM this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/utilities/soql/JSJavaVM;
}
SourceFile: "JSJavaVM.java"
InnerClasses:
  public final Flag = sun.jvm.hotspot.runtime.VM$Flag of sun.jvm.hotspot.runtime.VM