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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  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 java.util.Map instanceFields;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Map staticFields;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String[] instanceFieldNames;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String[] staticFieldNames;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private sun.jvm.hotspot.oops.AccessFlags accFlags;
    descriptor: Lsun/jvm/hotspot/oops/AccessFlags;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 217
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.fields:Ljava/util/Map;
         1: .line 228
            ldc "sourceFile"
            iconst_1
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.addField:(Ljava/lang/String;I)V
         2: .line 229
            ldc "interfaces"
            iconst_2
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.addField:(Ljava/lang/String;I)V
         3: .line 230
            ldc "fields"
            iconst_3
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.addField:(Ljava/lang/String;I)V
         4: .line 231
            ldc "methods"
            iconst_4
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.addField:(Ljava/lang/String;I)V
         5: .line 232
            ldc "isPrivate"
            iconst_5
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.addField:(Ljava/lang/String;I)V
         6: .line 233
            ldc "isPublic"
            bipush 6
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.addField:(Ljava/lang/String;I)V
         7: .line 234
            ldc "isProtected"
            bipush 7
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.addField:(Ljava/lang/String;I)V
         8: .line 235
            ldc "isPackagePrivate"
            bipush 8
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.addField:(Ljava/lang/String;I)V
         9: .line 236
            ldc "isStatic"
            bipush 9
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.addField:(Ljava/lang/String;I)V
        10: .line 237
            ldc "isFinal"
            bipush 10
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.addField:(Ljava/lang/String;I)V
        11: .line 238
            ldc "isAbstract"
            bipush 11
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.addField:(Ljava/lang/String;I)V
        12: .line 239
            ldc "isStrict"
            bipush 12
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.addField:(Ljava/lang/String;I)V
        13: .line 240
            ldc "isSynthetic"
            bipush 13
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.addField:(Ljava/lang/String;I)V
        14: .line 241
            ldc "isInterface"
            bipush 14
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.addField:(Ljava/lang/String;I)V
        15: .line 242
            ldc "classLoader"
            bipush 15
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.addField:(Ljava/lang/String;I)V
        16: .line 243
            ldc "statics"
            bipush 18
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.addField:(Ljava/lang/String;I)V
        17: .line 244
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(sun.jvm.hotspot.oops.InstanceKlass, sun.jvm.hotspot.utilities.soql.JSJavaFactory);
    descriptor: (Lsun/jvm/hotspot/oops/InstanceKlass;Lsun/jvm/hotspot/utilities/soql/JSJavaFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
        start local 1 // sun.jvm.hotspot.oops.InstanceKlass kls
        start local 2 // sun.jvm.hotspot.utilities.soql.JSJavaFactory fac
         0: .line 54
            aload 0 /* this */
            aload 1 /* kls */
            aload 2 /* fac */
            invokespecial sun.jvm.hotspot.utilities.soql.JSJavaKlass.<init>:(Lsun/jvm/hotspot/oops/Klass;Lsun/jvm/hotspot/utilities/soql/JSJavaFactory;)V
         1: .line 55
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.instanceFields:Ljava/util/Map;
         2: .line 56
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.staticFields:Ljava/util/Map;
         3: .line 57
            return
        end local 2 // sun.jvm.hotspot.utilities.soql.JSJavaFactory fac
        end local 1 // sun.jvm.hotspot.oops.InstanceKlass kls
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/jvm/hotspot/utilities/soql/JSJavaInstanceKlass;
            0    4     1   kls  Lsun/jvm/hotspot/oops/InstanceKlass;
            0    4     2   fac  Lsun/jvm/hotspot/utilities/soql/JSJavaFactory;
    MethodParameters:
      Name  Flags
      kls   
      fac   

  public final sun.jvm.hotspot.oops.InstanceKlass getInstanceKlass();
    descriptor: ()Lsun/jvm/hotspot/oops/InstanceKlass;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
         0: .line 60
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.getKlass:()Lsun/jvm/hotspot/oops/Klass;
            checkcast sun.jvm.hotspot.oops.InstanceKlass
            areturn
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/utilities/soql/JSJavaInstanceKlass;

  public java.lang.Object getMetaClassFieldValue(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
        start local 1 // java.lang.String name
         0: .line 64
            aload 1 /* name */
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.getFieldID:(Ljava/lang/String;)I
            istore 2 /* fieldID */
        start local 2 // int fieldID
         1: .line 65
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.getInstanceKlass:()Lsun/jvm/hotspot/oops/InstanceKlass;
            astore 3 /* ik */
        start local 3 // sun.jvm.hotspot.oops.InstanceKlass ik
         2: .line 66
            iload 2 /* fieldID */
            tableswitch { // -1 - 18
                   -1: 25
                    0: 25
                    1: 3
                    2: 7
                    3: 8
                    4: 9
                    5: 10
                    6: 11
                    7: 12
                    8: 13
                    9: 17
                   10: 18
                   11: 19
                   12: 20
                   13: 21
                   14: 22
                   15: 23
                   16: 25
                   17: 25
                   18: 24
              default: 25
          }
         3: .line 68
      StackMap locals: int sun.jvm.hotspot.oops.InstanceKlass
      StackMap stack:
            aload 3 /* ik */
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getSourceFileName:()Lsun/jvm/hotspot/oops/Symbol;
            astore 4 /* sourceFile */
        start local 4 // sun.jvm.hotspot.oops.Symbol sourceFile
         4: .line 69
            aload 4 /* sourceFile */
            ifnull 5
            aload 4 /* sourceFile */
            invokevirtual sun.jvm.hotspot.oops.Symbol.asString:()Ljava/lang/String;
            goto 6
      StackMap locals: sun.jvm.hotspot.oops.Symbol
      StackMap stack:
         5: ldc "<unknown>"
      StackMap locals:
      StackMap stack: java.lang.String
         6: areturn
        end local 4 // sun.jvm.hotspot.oops.Symbol sourceFile
         7: .line 72
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.getInterfaces:()Lsun/jvm/hotspot/utilities/soql/JSList;
            areturn
         8: .line 74
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.factory:Lsun/jvm/hotspot/utilities/soql/JSJavaFactory;
            aload 3 /* ik */
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getImmediateFields:()Ljava/util/List;
            invokeinterface sun.jvm.hotspot.utilities.soql.JSJavaFactory.newJSList:(Ljava/util/List;)Lsun/jvm/hotspot/utilities/soql/JSList;
            areturn
         9: .line 76
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.factory:Lsun/jvm/hotspot/utilities/soql/JSJavaFactory;
            aload 3 /* ik */
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getImmediateMethods:()Ljava/util/List;
            invokeinterface sun.jvm.hotspot.utilities.soql.JSJavaFactory.newJSList:(Ljava/util/List;)Lsun/jvm/hotspot/utilities/soql/JSList;
            areturn
        10: .line 78
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.getAccessFlags:()Lsun/jvm/hotspot/oops/AccessFlags;
            invokevirtual sun.jvm.hotspot.oops.AccessFlags.isPrivate:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        11: .line 80
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.getAccessFlags:()Lsun/jvm/hotspot/oops/AccessFlags;
            invokevirtual sun.jvm.hotspot.oops.AccessFlags.isPublic:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        12: .line 82
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.getAccessFlags:()Lsun/jvm/hotspot/oops/AccessFlags;
            invokevirtual sun.jvm.hotspot.oops.AccessFlags.isProtected:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        13: .line 84
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.getAccessFlags:()Lsun/jvm/hotspot/oops/AccessFlags;
            astore 4 /* acc */
        start local 4 // sun.jvm.hotspot.oops.AccessFlags acc
        14: .line 85
            aload 4 /* acc */
            invokevirtual sun.jvm.hotspot.oops.AccessFlags.isPrivate:()Z
            ifne 15
            aload 4 /* acc */
            invokevirtual sun.jvm.hotspot.oops.AccessFlags.isPublic:()Z
            ifne 15
            aload 4 /* acc */
            invokevirtual sun.jvm.hotspot.oops.AccessFlags.isProtected:()Z
            ifne 15
            iconst_1
            goto 16
      StackMap locals: sun.jvm.hotspot.oops.AccessFlags
      StackMap stack:
        15: iconst_0
      StackMap locals:
      StackMap stack: int
        16: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        end local 4 // sun.jvm.hotspot.oops.AccessFlags acc
        17: .line 88
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.getAccessFlags:()Lsun/jvm/hotspot/oops/AccessFlags;
            invokevirtual sun.jvm.hotspot.oops.AccessFlags.isStatic:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        18: .line 90
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.getAccessFlags:()Lsun/jvm/hotspot/oops/AccessFlags;
            invokevirtual sun.jvm.hotspot.oops.AccessFlags.isFinal:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        19: .line 92
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.getAccessFlags:()Lsun/jvm/hotspot/oops/AccessFlags;
            invokevirtual sun.jvm.hotspot.oops.AccessFlags.isAbstract:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        20: .line 94
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.getAccessFlags:()Lsun/jvm/hotspot/oops/AccessFlags;
            invokevirtual sun.jvm.hotspot.oops.AccessFlags.isStrict:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        21: .line 96
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.getAccessFlags:()Lsun/jvm/hotspot/oops/AccessFlags;
            invokevirtual sun.jvm.hotspot.oops.AccessFlags.isSynthetic:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        22: .line 98
      StackMap locals:
      StackMap stack:
            aload 3 /* ik */
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.isInterface:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        23: .line 100
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.factory:Lsun/jvm/hotspot/utilities/soql/JSJavaFactory;
            aload 3 /* ik */
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getClassLoader:()Lsun/jvm/hotspot/oops/Oop;
            invokeinterface sun.jvm.hotspot.utilities.soql.JSJavaFactory.newJSJavaObject:(Lsun/jvm/hotspot/oops/Oop;)Lsun/jvm/hotspot/utilities/soql/JSJavaObject;
            areturn
        24: .line 102
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.getStatics:()Lsun/jvm/hotspot/utilities/soql/JSMap;
            areturn
        25: .line 105
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokespecial sun.jvm.hotspot.utilities.soql.JSJavaKlass.getMetaClassFieldValue:(Ljava/lang/String;)Ljava/lang/Object;
            areturn
        end local 3 // sun.jvm.hotspot.oops.InstanceKlass ik
        end local 2 // int fieldID
        end local 1 // java.lang.String name
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   26     0        this  Lsun/jvm/hotspot/utilities/soql/JSJavaInstanceKlass;
            0   26     1        name  Ljava/lang/String;
            1   26     2     fieldID  I
            2   26     3          ik  Lsun/jvm/hotspot/oops/InstanceKlass;
            4    7     4  sourceFile  Lsun/jvm/hotspot/oops/Symbol;
           14   17     4         acc  Lsun/jvm/hotspot/oops/AccessFlags;
    MethodParameters:
      Name  Flags
      name  

  public boolean hasMetaClassField(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.JSJavaInstanceKlass this
        start local 1 // java.lang.String name
         0: .line 110
            aload 1 /* name */
            invokestatic sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.getFieldID:(Ljava/lang/String;)I
            iconst_m1
            if_icmpeq 2
         1: .line 111
            iconst_1
            ireturn
         2: .line 113
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokespecial sun.jvm.hotspot.utilities.soql.JSJavaKlass.hasMetaClassField:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String name
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/jvm/hotspot/utilities/soql/JSJavaInstanceKlass;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
         0: .line 118
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.getInstanceKlass:()Lsun/jvm/hotspot/oops/InstanceKlass;
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getName:()Lsun/jvm/hotspot/oops/Symbol;
            invokevirtual sun.jvm.hotspot.oops.Symbol.asString:()Ljava/lang/String;
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            areturn
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/utilities/soql/JSJavaInstanceKlass;

  public boolean isArray();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
         0: .line 122
            iconst_0
            ireturn
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/utilities/soql/JSJavaInstanceKlass;

  public java.lang.String[] getMetaClassFieldNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
         0: .line 126
            aload 0 /* this */
            invokespecial sun.jvm.hotspot.utilities.soql.JSJavaKlass.getMetaClassFieldNames:()[Ljava/lang/String;
            astore 1 /* superFields */
        start local 1 // java.lang.String[] superFields
         1: .line 127
            getstatic sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.fields:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            astore 2 /* k */
        start local 2 // java.util.Set k
         2: .line 128
            aload 2 /* k */
            invokeinterface java.util.Set.size:()I
            aload 1 /* superFields */
            arraylength
            iadd
            anewarray java.lang.String
            astore 3 /* res */
        start local 3 // java.lang.String[] res
         3: .line 129
            aload 1 /* superFields */
            iconst_0
            aload 3 /* res */
            iconst_0
            aload 1 /* superFields */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 130
            aload 1 /* superFields */
            arraylength
            istore 4 /* i */
        start local 4 // int i
         5: .line 131
            aload 2 /* k */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5 /* itr */
        start local 5 // java.util.Iterator itr
         6: goto 9
         7: .line 132
      StackMap locals: sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass java.lang.String[] java.util.Set java.lang.String[] int java.util.Iterator
      StackMap stack:
            aload 3 /* res */
            iload 4 /* i */
            aload 5 /* itr */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            aastore
         8: .line 133
            iinc 4 /* i */ 1
         9: .line 131
      StackMap locals:
      StackMap stack:
            aload 5 /* itr */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 5 // java.util.Iterator itr
        10: .line 135
            aload 3 /* res */
            areturn
        end local 4 // int i
        end local 3 // java.lang.String[] res
        end local 2 // java.util.Set k
        end local 1 // java.lang.String[] superFields
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Lsun/jvm/hotspot/utilities/soql/JSJavaInstanceKlass;
            1   11     1  superFields  [Ljava/lang/String;
            2   11     2            k  Ljava/util/Set;
            3   11     3          res  [Ljava/lang/String;
            5   11     4            i  I
            6   10     5          itr  Ljava/util/Iterator;

  public java.lang.Object getInstanceFieldValue(java.lang.String, sun.jvm.hotspot.oops.Instance);
    descriptor: (Ljava/lang/String;Lsun/jvm/hotspot/oops/Instance;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
        start local 1 // java.lang.String name
        start local 2 // sun.jvm.hotspot.oops.Instance instance
         0: .line 139
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.findInstanceField:(Ljava/lang/String;)Lsun/jvm/hotspot/oops/Field;
            astore 3 /* fld */
        start local 3 // sun.jvm.hotspot.oops.Field fld
         1: .line 140
            aload 3 /* fld */
            ifnull 3
         2: .line 141
            aload 0 /* this */
            aload 3 /* fld */
            aload 1 /* name */
            aload 2 /* instance */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.getFieldValue:(Lsun/jvm/hotspot/oops/Field;Ljava/lang/String;Lsun/jvm/hotspot/oops/Oop;)Ljava/lang/Object;
            areturn
         3: .line 143
      StackMap locals: sun.jvm.hotspot.oops.Field
      StackMap stack:
            new java.lang.NoSuchFieldException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " is not field of "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 144
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.getInstanceKlass:()Lsun/jvm/hotspot/oops/InstanceKlass;
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getName:()Lsun/jvm/hotspot/oops/Symbol;
            invokevirtual sun.jvm.hotspot.oops.Symbol.asString:()Ljava/lang/String;
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 143
            invokespecial java.lang.NoSuchFieldException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // sun.jvm.hotspot.oops.Field fld
        end local 2 // sun.jvm.hotspot.oops.Instance instance
        end local 1 // java.lang.String name
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lsun/jvm/hotspot/utilities/soql/JSJavaInstanceKlass;
            0    6     1      name  Ljava/lang/String;
            0    6     2  instance  Lsun/jvm/hotspot/oops/Instance;
            1    6     3       fld  Lsun/jvm/hotspot/oops/Field;
    Exceptions:
      throws java.lang.NoSuchFieldException
    MethodParameters:
          Name  Flags
      name      
      instance  

  public java.lang.Object getStaticFieldValue(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
        start local 1 // java.lang.String name
         0: .line 149
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.findStaticField:(Ljava/lang/String;)Lsun/jvm/hotspot/oops/Field;
            astore 2 /* fld */
        start local 2 // sun.jvm.hotspot.oops.Field fld
         1: .line 150
            aload 2 /* fld */
            ifnull 3
         2: .line 151
            aload 0 /* this */
            aload 2 /* fld */
            aload 1 /* name */
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.getInstanceKlass:()Lsun/jvm/hotspot/oops/InstanceKlass;
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.getFieldValue:(Lsun/jvm/hotspot/oops/Field;Ljava/lang/String;Lsun/jvm/hotspot/oops/InstanceKlass;)Ljava/lang/Object;
            areturn
         3: .line 153
      StackMap locals: sun.jvm.hotspot.oops.Field
      StackMap stack:
            new java.lang.NoSuchFieldException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " is not field of "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 154
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.getInstanceKlass:()Lsun/jvm/hotspot/oops/InstanceKlass;
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getName:()Lsun/jvm/hotspot/oops/Symbol;
            invokevirtual sun.jvm.hotspot.oops.Symbol.asString:()Ljava/lang/String;
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 153
            invokespecial java.lang.NoSuchFieldException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // sun.jvm.hotspot.oops.Field fld
        end local 1 // java.lang.String name
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/jvm/hotspot/utilities/soql/JSJavaInstanceKlass;
            0    6     1  name  Ljava/lang/String;
            1    6     2   fld  Lsun/jvm/hotspot/oops/Field;
    Exceptions:
      throws java.lang.NoSuchFieldException
    MethodParameters:
      Name  Flags
      name  

  public java.lang.String[] getInstanceFieldNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
         0: .line 159
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.instanceFieldNames:[Ljava/lang/String;
            ifnonnull 22
         1: .line 160
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.getInstanceKlass:()Lsun/jvm/hotspot/oops/InstanceKlass;
            astore 1 /* current */
        start local 1 // sun.jvm.hotspot.oops.InstanceKlass current
         2: .line 161
            goto 13
         3: .line 162
      StackMap locals: sun.jvm.hotspot.oops.InstanceKlass
      StackMap stack:
            aload 1 /* current */
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getImmediateFields:()Ljava/util/List;
            astore 2 /* tmp */
        start local 2 // java.util.List tmp
         4: .line 163
            aload 2 /* tmp */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3 /* itr */
        start local 3 // java.util.Iterator itr
         5: goto 11
         6: .line 164
      StackMap locals: java.util.List java.util.Iterator
      StackMap stack:
            aload 3 /* itr */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.jvm.hotspot.oops.Field
            astore 4 /* fld */
        start local 4 // sun.jvm.hotspot.oops.Field fld
         7: .line 165
            aload 4 /* fld */
            invokevirtual sun.jvm.hotspot.oops.Field.isStatic:()Z
            ifne 11
         8: .line 166
            aload 4 /* fld */
            invokevirtual sun.jvm.hotspot.oops.Field.getID:()Lsun/jvm/hotspot/oops/FieldIdentifier;
            invokevirtual sun.jvm.hotspot.oops.FieldIdentifier.getName:()Ljava/lang/String;
            astore 5 /* name */
        start local 5 // java.lang.String name
         9: .line 167
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.instanceFields:Ljava/util/Map;
            aload 5 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 11
        10: .line 168
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.instanceFields:Ljava/util/Map;
            aload 5 /* name */
            aload 4 /* fld */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.lang.String name
        end local 4 // sun.jvm.hotspot.oops.Field fld
        11: .line 163
      StackMap locals:
      StackMap stack:
            aload 3 /* itr */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        end local 3 // java.util.Iterator itr
        12: .line 172
            aload 1 /* current */
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getSuper:()Lsun/jvm/hotspot/oops/Klass;
            checkcast sun.jvm.hotspot.oops.InstanceKlass
            astore 1 /* current */
        end local 2 // java.util.List tmp
        13: .line 161
      StackMap locals:
      StackMap stack:
            aload 1 /* current */
            ifnonnull 3
        14: .line 175
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.instanceFields:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            astore 2 /* s */
        start local 2 // java.util.Set s
        15: .line 176
            aload 0 /* this */
            aload 2 /* s */
            invokeinterface java.util.Set.size:()I
            anewarray java.lang.String
            putfield sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.instanceFieldNames:[Ljava/lang/String;
        16: .line 177
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        17: .line 178
            aload 2 /* s */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4 /* itr */
        start local 4 // java.util.Iterator itr
        18: goto 21
        19: .line 179
      StackMap locals: java.util.Set int java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.instanceFieldNames:[Ljava/lang/String;
            iload 3 /* i */
            aload 4 /* itr */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            aastore
        20: .line 178
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: aload 4 /* itr */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        end local 4 // java.util.Iterator itr
        end local 3 // int i
        end local 2 // java.util.Set s
        end local 1 // sun.jvm.hotspot.oops.InstanceKlass current
        22: .line 182
      StackMap locals: sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.instanceFieldNames:[Ljava/lang/String;
            areturn
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   23     0     this  Lsun/jvm/hotspot/utilities/soql/JSJavaInstanceKlass;
            2   22     1  current  Lsun/jvm/hotspot/oops/InstanceKlass;
            4   13     2      tmp  Ljava/util/List;
            5   12     3      itr  Ljava/util/Iterator;
            7   11     4      fld  Lsun/jvm/hotspot/oops/Field;
            9   11     5     name  Ljava/lang/String;
           15   22     2        s  Ljava/util/Set;
           17   22     3        i  I
           18   22     4      itr  Ljava/util/Iterator;

  public boolean hasInstanceField(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
        start local 1 // java.lang.String name
         0: .line 186
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.findInstanceField:(Ljava/lang/String;)Lsun/jvm/hotspot/oops/Field;
            astore 2 /* fld */
        start local 2 // sun.jvm.hotspot.oops.Field fld
         1: .line 187
            aload 2 /* fld */
            ifnull 2
            iconst_1
            goto 3
      StackMap locals: sun.jvm.hotspot.oops.Field
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 2 // sun.jvm.hotspot.oops.Field fld
        end local 1 // java.lang.String name
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/jvm/hotspot/utilities/soql/JSJavaInstanceKlass;
            0    4     1  name  Ljava/lang/String;
            1    4     2   fld  Lsun/jvm/hotspot/oops/Field;
    MethodParameters:
      Name  Flags
      name  

  public java.lang.String[] getStaticFieldNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
         0: .line 191
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.staticFieldNames:[Ljava/lang/String;
            ifnonnull 17
         1: .line 192
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.getInstanceKlass:()Lsun/jvm/hotspot/oops/InstanceKlass;
            astore 1 /* current */
        start local 1 // sun.jvm.hotspot.oops.InstanceKlass current
         2: .line 193
            aload 1 /* current */
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getImmediateFields:()Ljava/util/List;
            astore 2 /* tmp */
        start local 2 // java.util.List tmp
         3: .line 194
            aload 2 /* tmp */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3 /* itr */
        start local 3 // java.util.Iterator itr
         4: goto 8
         5: .line 195
      StackMap locals: sun.jvm.hotspot.oops.InstanceKlass java.util.List java.util.Iterator
      StackMap stack:
            aload 3 /* itr */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.jvm.hotspot.oops.Field
            astore 4 /* fld */
        start local 4 // sun.jvm.hotspot.oops.Field fld
         6: .line 196
            aload 4 /* fld */
            invokevirtual sun.jvm.hotspot.oops.Field.isStatic:()Z
            ifeq 8
         7: .line 197
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.staticFields:Ljava/util/Map;
            aload 4 /* fld */
            invokevirtual sun.jvm.hotspot.oops.Field.getID:()Lsun/jvm/hotspot/oops/FieldIdentifier;
            invokevirtual sun.jvm.hotspot.oops.FieldIdentifier.getName:()Ljava/lang/String;
            aload 4 /* fld */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // sun.jvm.hotspot.oops.Field fld
         8: .line 194
      StackMap locals:
      StackMap stack:
            aload 3 /* itr */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 3 // java.util.Iterator itr
         9: .line 201
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.staticFields:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            astore 3 /* s */
        start local 3 // java.util.Set s
        10: .line 202
            aload 0 /* this */
            aload 3 /* s */
            invokeinterface java.util.Set.size:()I
            anewarray java.lang.String
            putfield sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.staticFieldNames:[Ljava/lang/String;
        11: .line 203
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        12: .line 204
            aload 3 /* s */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5 /* itr */
        start local 5 // java.util.Iterator itr
        13: goto 16
        14: .line 205
      StackMap locals: sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass sun.jvm.hotspot.oops.InstanceKlass java.util.List java.util.Set int java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.staticFieldNames:[Ljava/lang/String;
            iload 4 /* i */
            aload 5 /* itr */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            aastore
        15: .line 204
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: aload 5 /* itr */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        end local 5 // java.util.Iterator itr
        end local 4 // int i
        end local 3 // java.util.Set s
        end local 2 // java.util.List tmp
        end local 1 // sun.jvm.hotspot.oops.InstanceKlass current
        17: .line 208
      StackMap locals: sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.staticFieldNames:[Ljava/lang/String;
            areturn
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   18     0     this  Lsun/jvm/hotspot/utilities/soql/JSJavaInstanceKlass;
            2   17     1  current  Lsun/jvm/hotspot/oops/InstanceKlass;
            3   17     2      tmp  Ljava/util/List;
            4    9     3      itr  Ljava/util/Iterator;
            6    8     4      fld  Lsun/jvm/hotspot/oops/Field;
           10   17     3        s  Ljava/util/Set;
           12   17     4        i  I
           13   17     5      itr  Ljava/util/Iterator;

  public boolean hasStaticField(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
        start local 1 // java.lang.String name
         0: .line 212
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.findStaticField:(Ljava/lang/String;)Lsun/jvm/hotspot/oops/Field;
            astore 2 /* fld */
        start local 2 // sun.jvm.hotspot.oops.Field fld
         1: .line 213
            aload 2 /* fld */
            ifnull 2
            iconst_1
            goto 3
      StackMap locals: sun.jvm.hotspot.oops.Field
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 2 // sun.jvm.hotspot.oops.Field fld
        end local 1 // java.lang.String name
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/jvm/hotspot/utilities/soql/JSJavaInstanceKlass;
            0    4     1  name  Ljava/lang/String;
            1    4     2   fld  Lsun/jvm/hotspot/oops/Field;
    MethodParameters:
      Name  Flags
      name  

  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 219
            getstatic sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.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 220
            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 223
            getstatic sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.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 224
            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 sun.jvm.hotspot.oops.AccessFlags getAccessFlags();
    descriptor: ()Lsun/jvm/hotspot/oops/AccessFlags;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
         0: .line 247
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.accFlags:Lsun/jvm/hotspot/oops/AccessFlags;
            ifnonnull 2
         1: .line 248
            aload 0 /* this */
            new sun.jvm.hotspot.oops.AccessFlags
            dup
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.getInstanceKlass:()Lsun/jvm/hotspot/oops/InstanceKlass;
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.computeModifierFlags:()J
            invokespecial sun.jvm.hotspot.oops.AccessFlags.<init>:(J)V
            putfield sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.accFlags:Lsun/jvm/hotspot/oops/AccessFlags;
         2: .line 250
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.accFlags:Lsun/jvm/hotspot/oops/AccessFlags;
            areturn
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/jvm/hotspot/utilities/soql/JSJavaInstanceKlass;

  private java.lang.Object getFieldValue(sun.jvm.hotspot.oops.Field, java.lang.String, sun.jvm.hotspot.oops.Oop);
    descriptor: (Lsun/jvm/hotspot/oops/Field;Ljava/lang/String;Lsun/jvm/hotspot/oops/Oop;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
        start local 1 // sun.jvm.hotspot.oops.Field fld
        start local 2 // java.lang.String name
        start local 3 // sun.jvm.hotspot.oops.Oop oop
         0: .line 254
            aload 1 /* fld */
            invokevirtual sun.jvm.hotspot.oops.Field.getFieldType:()Lsun/jvm/hotspot/oops/FieldType;
            astore 4 /* fd */
        start local 4 // sun.jvm.hotspot.oops.FieldType fd
         1: .line 255
            aload 4 /* fd */
            invokevirtual sun.jvm.hotspot.oops.FieldType.isObject:()Z
            ifne 2
            aload 4 /* fd */
            invokevirtual sun.jvm.hotspot.oops.FieldType.isArray:()Z
            ifeq 3
         2: .line 256
      StackMap locals: sun.jvm.hotspot.oops.FieldType
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.factory:Lsun/jvm/hotspot/utilities/soql/JSJavaFactory;
            aload 1 /* fld */
            checkcast sun.jvm.hotspot.oops.OopField
            aload 3 /* oop */
            invokevirtual sun.jvm.hotspot.oops.OopField.getValue:(Lsun/jvm/hotspot/oops/Oop;)Lsun/jvm/hotspot/oops/Oop;
            invokeinterface sun.jvm.hotspot.utilities.soql.JSJavaFactory.newJSJavaObject:(Lsun/jvm/hotspot/oops/Oop;)Lsun/jvm/hotspot/utilities/soql/JSJavaObject;
            areturn
         3: .line 257
      StackMap locals:
      StackMap stack:
            aload 4 /* fd */
            invokevirtual sun.jvm.hotspot.oops.FieldType.isByte:()Z
            ifeq 5
         4: .line 258
            new java.lang.Byte
            dup
            aload 1 /* fld */
            checkcast sun.jvm.hotspot.oops.ByteField
            aload 3 /* oop */
            invokevirtual sun.jvm.hotspot.oops.ByteField.getValue:(Lsun/jvm/hotspot/oops/Oop;)B
            invokespecial java.lang.Byte.<init>:(B)V
            areturn
         5: .line 259
      StackMap locals:
      StackMap stack:
            aload 4 /* fd */
            invokevirtual sun.jvm.hotspot.oops.FieldType.isChar:()Z
            ifeq 7
         6: .line 260
            new java.lang.String
            dup
            iconst_1
            newarray 5
            dup
            iconst_0
            aload 1 /* fld */
            checkcast sun.jvm.hotspot.oops.CharField
            aload 3 /* oop */
            invokevirtual sun.jvm.hotspot.oops.CharField.getValue:(Lsun/jvm/hotspot/oops/Oop;)C
            castore
            invokespecial java.lang.String.<init>:([C)V
            areturn
         7: .line 261
      StackMap locals:
      StackMap stack:
            aload 4 /* fd */
            invokevirtual sun.jvm.hotspot.oops.FieldType.isDouble:()Z
            ifeq 9
         8: .line 262
            new java.lang.Double
            dup
            aload 1 /* fld */
            checkcast sun.jvm.hotspot.oops.DoubleField
            aload 3 /* oop */
            invokevirtual sun.jvm.hotspot.oops.DoubleField.getValue:(Lsun/jvm/hotspot/oops/Oop;)D
            invokespecial java.lang.Double.<init>:(D)V
            areturn
         9: .line 263
      StackMap locals:
      StackMap stack:
            aload 4 /* fd */
            invokevirtual sun.jvm.hotspot.oops.FieldType.isFloat:()Z
            ifeq 11
        10: .line 264
            new java.lang.Float
            dup
            aload 1 /* fld */
            checkcast sun.jvm.hotspot.oops.FloatField
            aload 3 /* oop */
            invokevirtual sun.jvm.hotspot.oops.FloatField.getValue:(Lsun/jvm/hotspot/oops/Oop;)F
            invokespecial java.lang.Float.<init>:(F)V
            areturn
        11: .line 265
      StackMap locals:
      StackMap stack:
            aload 4 /* fd */
            invokevirtual sun.jvm.hotspot.oops.FieldType.isInt:()Z
            ifeq 13
        12: .line 266
            new java.lang.Integer
            dup
            aload 1 /* fld */
            checkcast sun.jvm.hotspot.oops.IntField
            aload 3 /* oop */
            invokevirtual sun.jvm.hotspot.oops.IntField.getValue:(Lsun/jvm/hotspot/oops/Oop;)I
            invokespecial java.lang.Integer.<init>:(I)V
            areturn
        13: .line 267
      StackMap locals:
      StackMap stack:
            aload 4 /* fd */
            invokevirtual sun.jvm.hotspot.oops.FieldType.isLong:()Z
            ifeq 15
        14: .line 268
            new java.lang.Long
            dup
            aload 1 /* fld */
            checkcast sun.jvm.hotspot.oops.LongField
            aload 3 /* oop */
            invokevirtual sun.jvm.hotspot.oops.LongField.getValue:(Lsun/jvm/hotspot/oops/Oop;)J
            invokespecial java.lang.Long.<init>:(J)V
            areturn
        15: .line 269
      StackMap locals:
      StackMap stack:
            aload 4 /* fd */
            invokevirtual sun.jvm.hotspot.oops.FieldType.isShort:()Z
            ifeq 17
        16: .line 270
            new java.lang.Short
            dup
            aload 1 /* fld */
            checkcast sun.jvm.hotspot.oops.ShortField
            aload 3 /* oop */
            invokevirtual sun.jvm.hotspot.oops.ShortField.getValue:(Lsun/jvm/hotspot/oops/Oop;)S
            invokespecial java.lang.Short.<init>:(S)V
            areturn
        17: .line 271
      StackMap locals:
      StackMap stack:
            aload 4 /* fd */
            invokevirtual sun.jvm.hotspot.oops.FieldType.isBoolean:()Z
            ifeq 19
        18: .line 272
            aload 1 /* fld */
            checkcast sun.jvm.hotspot.oops.BooleanField
            aload 3 /* oop */
            invokevirtual sun.jvm.hotspot.oops.BooleanField.getValue:(Lsun/jvm/hotspot/oops/Oop;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        19: .line 274
      StackMap locals:
      StackMap stack:
            getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
            ifeq 21
        20: .line 275
            iconst_0
            new java.lang.StringBuilder
            dup
            ldc "invalid field type for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
        21: .line 277
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 4 // sun.jvm.hotspot.oops.FieldType fd
        end local 3 // sun.jvm.hotspot.oops.Oop oop
        end local 2 // java.lang.String name
        end local 1 // sun.jvm.hotspot.oops.Field fld
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0  this  Lsun/jvm/hotspot/utilities/soql/JSJavaInstanceKlass;
            0   22     1   fld  Lsun/jvm/hotspot/oops/Field;
            0   22     2  name  Ljava/lang/String;
            0   22     3   oop  Lsun/jvm/hotspot/oops/Oop;
            1   22     4    fd  Lsun/jvm/hotspot/oops/FieldType;
    MethodParameters:
      Name  Flags
      fld   
      name  
      oop   

  private java.lang.Object getFieldValue(sun.jvm.hotspot.oops.Field, java.lang.String, sun.jvm.hotspot.oops.InstanceKlass);
    descriptor: (Lsun/jvm/hotspot/oops/Field;Ljava/lang/String;Lsun/jvm/hotspot/oops/InstanceKlass;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
        start local 1 // sun.jvm.hotspot.oops.Field fld
        start local 2 // java.lang.String name
        start local 3 // sun.jvm.hotspot.oops.InstanceKlass oop
         0: .line 282
            aload 1 /* fld */
            invokevirtual sun.jvm.hotspot.oops.Field.getFieldType:()Lsun/jvm/hotspot/oops/FieldType;
            astore 4 /* fd */
        start local 4 // sun.jvm.hotspot.oops.FieldType fd
         1: .line 283
            aload 4 /* fd */
            invokevirtual sun.jvm.hotspot.oops.FieldType.isObject:()Z
            ifne 2
            aload 4 /* fd */
            invokevirtual sun.jvm.hotspot.oops.FieldType.isArray:()Z
            ifeq 3
         2: .line 284
      StackMap locals: sun.jvm.hotspot.oops.FieldType
      StackMap stack:
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.factory:Lsun/jvm/hotspot/utilities/soql/JSJavaFactory;
            aload 1 /* fld */
            checkcast sun.jvm.hotspot.oops.OopField
            aload 3 /* oop */
            invokevirtual sun.jvm.hotspot.oops.OopField.getValue:(Lsun/jvm/hotspot/runtime/VMObject;)Lsun/jvm/hotspot/oops/Oop;
            invokeinterface sun.jvm.hotspot.utilities.soql.JSJavaFactory.newJSJavaObject:(Lsun/jvm/hotspot/oops/Oop;)Lsun/jvm/hotspot/utilities/soql/JSJavaObject;
            areturn
         3: .line 285
      StackMap locals:
      StackMap stack:
            aload 4 /* fd */
            invokevirtual sun.jvm.hotspot.oops.FieldType.isByte:()Z
            ifeq 5
         4: .line 286
            new java.lang.Byte
            dup
            aload 1 /* fld */
            checkcast sun.jvm.hotspot.oops.ByteField
            aload 3 /* oop */
            invokevirtual sun.jvm.hotspot.oops.ByteField.getValue:(Lsun/jvm/hotspot/runtime/VMObject;)B
            invokespecial java.lang.Byte.<init>:(B)V
            areturn
         5: .line 287
      StackMap locals:
      StackMap stack:
            aload 4 /* fd */
            invokevirtual sun.jvm.hotspot.oops.FieldType.isChar:()Z
            ifeq 7
         6: .line 288
            new java.lang.String
            dup
            iconst_1
            newarray 5
            dup
            iconst_0
            aload 1 /* fld */
            checkcast sun.jvm.hotspot.oops.CharField
            aload 3 /* oop */
            invokevirtual sun.jvm.hotspot.oops.CharField.getValue:(Lsun/jvm/hotspot/runtime/VMObject;)C
            castore
            invokespecial java.lang.String.<init>:([C)V
            areturn
         7: .line 289
      StackMap locals:
      StackMap stack:
            aload 4 /* fd */
            invokevirtual sun.jvm.hotspot.oops.FieldType.isDouble:()Z
            ifeq 9
         8: .line 290
            new java.lang.Double
            dup
            aload 1 /* fld */
            checkcast sun.jvm.hotspot.oops.DoubleField
            aload 3 /* oop */
            invokevirtual sun.jvm.hotspot.oops.DoubleField.getValue:(Lsun/jvm/hotspot/runtime/VMObject;)D
            invokespecial java.lang.Double.<init>:(D)V
            areturn
         9: .line 291
      StackMap locals:
      StackMap stack:
            aload 4 /* fd */
            invokevirtual sun.jvm.hotspot.oops.FieldType.isFloat:()Z
            ifeq 11
        10: .line 292
            new java.lang.Float
            dup
            aload 1 /* fld */
            checkcast sun.jvm.hotspot.oops.FloatField
            aload 3 /* oop */
            invokevirtual sun.jvm.hotspot.oops.FloatField.getValue:(Lsun/jvm/hotspot/runtime/VMObject;)F
            invokespecial java.lang.Float.<init>:(F)V
            areturn
        11: .line 293
      StackMap locals:
      StackMap stack:
            aload 4 /* fd */
            invokevirtual sun.jvm.hotspot.oops.FieldType.isInt:()Z
            ifeq 13
        12: .line 294
            new java.lang.Integer
            dup
            aload 1 /* fld */
            checkcast sun.jvm.hotspot.oops.IntField
            aload 3 /* oop */
            invokevirtual sun.jvm.hotspot.oops.IntField.getValue:(Lsun/jvm/hotspot/runtime/VMObject;)I
            invokespecial java.lang.Integer.<init>:(I)V
            areturn
        13: .line 295
      StackMap locals:
      StackMap stack:
            aload 4 /* fd */
            invokevirtual sun.jvm.hotspot.oops.FieldType.isLong:()Z
            ifeq 15
        14: .line 296
            new java.lang.Long
            dup
            aload 1 /* fld */
            checkcast sun.jvm.hotspot.oops.LongField
            aload 3 /* oop */
            invokevirtual sun.jvm.hotspot.oops.LongField.getValue:(Lsun/jvm/hotspot/runtime/VMObject;)J
            invokespecial java.lang.Long.<init>:(J)V
            areturn
        15: .line 297
      StackMap locals:
      StackMap stack:
            aload 4 /* fd */
            invokevirtual sun.jvm.hotspot.oops.FieldType.isShort:()Z
            ifeq 17
        16: .line 298
            new java.lang.Short
            dup
            aload 1 /* fld */
            checkcast sun.jvm.hotspot.oops.ShortField
            aload 3 /* oop */
            invokevirtual sun.jvm.hotspot.oops.ShortField.getValue:(Lsun/jvm/hotspot/runtime/VMObject;)S
            invokespecial java.lang.Short.<init>:(S)V
            areturn
        17: .line 299
      StackMap locals:
      StackMap stack:
            aload 4 /* fd */
            invokevirtual sun.jvm.hotspot.oops.FieldType.isBoolean:()Z
            ifeq 19
        18: .line 300
            aload 1 /* fld */
            checkcast sun.jvm.hotspot.oops.BooleanField
            aload 3 /* oop */
            invokevirtual sun.jvm.hotspot.oops.BooleanField.getValue:(Lsun/jvm/hotspot/runtime/VMObject;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        19: .line 302
      StackMap locals:
      StackMap stack:
            getstatic sun.jvm.hotspot.utilities.Assert.ASSERTS_ENABLED:Z
            ifeq 21
        20: .line 303
            iconst_0
            new java.lang.StringBuilder
            dup
            ldc "invalid field type for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.jvm.hotspot.utilities.Assert.that:(ZLjava/lang/String;)V
        21: .line 305
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 4 // sun.jvm.hotspot.oops.FieldType fd
        end local 3 // sun.jvm.hotspot.oops.InstanceKlass oop
        end local 2 // java.lang.String name
        end local 1 // sun.jvm.hotspot.oops.Field fld
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0  this  Lsun/jvm/hotspot/utilities/soql/JSJavaInstanceKlass;
            0   22     1   fld  Lsun/jvm/hotspot/oops/Field;
            0   22     2  name  Ljava/lang/String;
            0   22     3   oop  Lsun/jvm/hotspot/oops/InstanceKlass;
            1   22     4    fd  Lsun/jvm/hotspot/oops/FieldType;
    MethodParameters:
      Name  Flags
      fld   
      name  
      oop   

  private sun.jvm.hotspot.oops.Field findInstanceField(java.lang.String);
    descriptor: (Ljava/lang/String;)Lsun/jvm/hotspot/oops/Field;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
        start local 1 // java.lang.String name
         0: .line 310
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.instanceFields:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.jvm.hotspot.oops.Field
            astore 2 /* fld */
        start local 2 // sun.jvm.hotspot.oops.Field fld
         1: .line 311
            aload 2 /* fld */
            ifnull 3
         2: .line 312
            aload 2 /* fld */
            areturn
         3: .line 314
      StackMap locals: sun.jvm.hotspot.oops.Field
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.getInstanceKlass:()Lsun/jvm/hotspot/oops/InstanceKlass;
            astore 3 /* current */
        start local 3 // sun.jvm.hotspot.oops.InstanceKlass current
         4: .line 315
            goto 14
         5: .line 316
      StackMap locals: sun.jvm.hotspot.oops.InstanceKlass
      StackMap stack:
            aload 3 /* current */
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getImmediateFields:()Ljava/util/List;
            astore 4 /* tmp */
        start local 4 // java.util.List tmp
         6: .line 317
            aload 4 /* tmp */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5 /* itr */
        start local 5 // java.util.Iterator itr
         7: goto 12
         8: .line 318
      StackMap locals: java.util.List java.util.Iterator
      StackMap stack:
            aload 5 /* itr */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.jvm.hotspot.oops.Field
            astore 2 /* fld */
         9: .line 319
            aload 2 /* fld */
            invokevirtual sun.jvm.hotspot.oops.Field.getID:()Lsun/jvm/hotspot/oops/FieldIdentifier;
            invokevirtual sun.jvm.hotspot.oops.FieldIdentifier.getName:()Ljava/lang/String;
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
            aload 2 /* fld */
            invokevirtual sun.jvm.hotspot.oops.Field.isStatic:()Z
            ifne 12
        10: .line 320
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.instanceFields:Ljava/util/Map;
            aload 1 /* name */
            aload 2 /* fld */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 321
            aload 2 /* fld */
            areturn
        12: .line 317
      StackMap locals:
      StackMap stack:
            aload 5 /* itr */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        end local 5 // java.util.Iterator itr
        13: .line 325
            aload 3 /* current */
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getSuper:()Lsun/jvm/hotspot/oops/Klass;
            checkcast sun.jvm.hotspot.oops.InstanceKlass
            astore 3 /* current */
        end local 4 // java.util.List tmp
        14: .line 315
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            ifnonnull 5
        end local 3 // sun.jvm.hotspot.oops.InstanceKlass current
        15: .line 329
            aconst_null
            areturn
        end local 2 // sun.jvm.hotspot.oops.Field fld
        end local 1 // java.lang.String name
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lsun/jvm/hotspot/utilities/soql/JSJavaInstanceKlass;
            0   16     1     name  Ljava/lang/String;
            1   16     2      fld  Lsun/jvm/hotspot/oops/Field;
            4   15     3  current  Lsun/jvm/hotspot/oops/InstanceKlass;
            6   14     4      tmp  Ljava/util/List;
            7   13     5      itr  Ljava/util/Iterator;
    MethodParameters:
      Name  Flags
      name  

  private sun.jvm.hotspot.oops.Field findStaticField(java.lang.String);
    descriptor: (Ljava/lang/String;)Lsun/jvm/hotspot/oops/Field;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
        start local 1 // java.lang.String name
         0: .line 333
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.staticFields:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.jvm.hotspot.oops.Field
            astore 2 /* fld */
        start local 2 // sun.jvm.hotspot.oops.Field fld
         1: .line 334
            aload 2 /* fld */
            ifnull 3
         2: .line 335
            aload 2 /* fld */
            areturn
         3: .line 340
      StackMap locals: sun.jvm.hotspot.oops.Field
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.getInstanceKlass:()Lsun/jvm/hotspot/oops/InstanceKlass;
            astore 3 /* current */
        start local 3 // sun.jvm.hotspot.oops.InstanceKlass current
         4: .line 341
            aload 3 /* current */
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getImmediateFields:()Ljava/util/List;
            astore 4 /* tmp */
        start local 4 // java.util.List tmp
         5: .line 342
            aload 4 /* tmp */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5 /* itr */
        start local 5 // java.util.Iterator itr
         6: goto 11
         7: .line 343
      StackMap locals: sun.jvm.hotspot.oops.InstanceKlass java.util.List java.util.Iterator
      StackMap stack:
            aload 5 /* itr */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.jvm.hotspot.oops.Field
            astore 2 /* fld */
         8: .line 344
            aload 2 /* fld */
            invokevirtual sun.jvm.hotspot.oops.Field.getID:()Lsun/jvm/hotspot/oops/FieldIdentifier;
            invokevirtual sun.jvm.hotspot.oops.FieldIdentifier.getName:()Ljava/lang/String;
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
            aload 2 /* fld */
            invokevirtual sun.jvm.hotspot.oops.Field.isStatic:()Z
            ifeq 11
         9: .line 345
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.staticFields:Ljava/util/Map;
            aload 1 /* name */
            aload 2 /* fld */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 346
            aload 2 /* fld */
            areturn
        11: .line 342
      StackMap locals:
      StackMap stack:
            aload 5 /* itr */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 5 // java.util.Iterator itr
        12: .line 350
            aconst_null
            areturn
        end local 4 // java.util.List tmp
        end local 3 // sun.jvm.hotspot.oops.InstanceKlass current
        end local 2 // sun.jvm.hotspot.oops.Field fld
        end local 1 // java.lang.String name
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lsun/jvm/hotspot/utilities/soql/JSJavaInstanceKlass;
            0   13     1     name  Ljava/lang/String;
            1   13     2      fld  Lsun/jvm/hotspot/oops/Field;
            4   13     3  current  Lsun/jvm/hotspot/oops/InstanceKlass;
            5   13     4      tmp  Ljava/util/List;
            6   12     5      itr  Ljava/util/Iterator;
    MethodParameters:
      Name  Flags
      name  

  private sun.jvm.hotspot.utilities.soql.JSList getInterfaces();
    descriptor: ()Lsun/jvm/hotspot/utilities/soql/JSList;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
         0: .line 355
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.getInstanceKlass:()Lsun/jvm/hotspot/oops/InstanceKlass;
            astore 1 /* ik */
        start local 1 // sun.jvm.hotspot.oops.InstanceKlass ik
         1: .line 356
            aload 1 /* ik */
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getDirectImplementedInterfaces:()Ljava/util/List;
            astore 2 /* intfs */
        start local 2 // java.util.List intfs
         2: .line 357
            new java.util.ArrayList
            dup
            iconst_0
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* res */
        start local 3 // java.util.List res
         3: .line 358
            aload 2 /* intfs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4 /* itr */
        start local 4 // java.util.Iterator itr
         4: goto 7
         5: .line 359
      StackMap locals: sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass sun.jvm.hotspot.oops.InstanceKlass java.util.List java.util.List java.util.Iterator
      StackMap stack:
            aload 4 /* itr */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.jvm.hotspot.oops.Klass
            astore 5 /* k */
        start local 5 // sun.jvm.hotspot.oops.Klass k
         6: .line 360
            aload 3 /* res */
            aload 5 /* k */
            invokevirtual sun.jvm.hotspot.oops.Klass.getJavaMirror:()Lsun/jvm/hotspot/oops/Instance;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // sun.jvm.hotspot.oops.Klass k
         7: .line 358
      StackMap locals:
      StackMap stack:
            aload 4 /* itr */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 4 // java.util.Iterator itr
         8: .line 362
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.factory:Lsun/jvm/hotspot/utilities/soql/JSJavaFactory;
            aload 3 /* res */
            invokeinterface sun.jvm.hotspot.utilities.soql.JSJavaFactory.newJSList:(Ljava/util/List;)Lsun/jvm/hotspot/utilities/soql/JSList;
            areturn
        end local 3 // java.util.List res
        end local 2 // java.util.List intfs
        end local 1 // sun.jvm.hotspot.oops.InstanceKlass ik
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lsun/jvm/hotspot/utilities/soql/JSJavaInstanceKlass;
            1    9     1     ik  Lsun/jvm/hotspot/oops/InstanceKlass;
            2    9     2  intfs  Ljava/util/List;
            3    9     3    res  Ljava/util/List;
            4    8     4    itr  Ljava/util/Iterator;
            6    7     5      k  Lsun/jvm/hotspot/oops/Klass;

  private sun.jvm.hotspot.utilities.soql.JSMap getStatics();
    descriptor: ()Lsun/jvm/hotspot/utilities/soql/JSMap;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
         0: .line 366
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.getStaticFieldNames:()[Ljava/lang/String;
            astore 1 /* names */
        start local 1 // java.lang.String[] names
         1: .line 367
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* map */
        start local 2 // java.util.Map map
         2: .line 368
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 8
         4: .line 370
      StackMap locals: java.lang.String[] java.util.Map int
      StackMap stack:
            aload 2 /* map */
            aload 1 /* names */
            iload 3 /* i */
            aaload
            aload 0 /* this */
            aload 1 /* names */
            iload 3 /* i */
            aaload
            invokevirtual sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.getStaticFieldValue:(Ljava/lang/String;)Ljava/lang/Object;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 371
            goto 7
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldException
         6: pop
         7: .line 368
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 1 /* names */
            arraylength
            if_icmplt 4
        end local 3 // int i
         9: .line 373
            aload 0 /* this */
            getfield sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass.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;
            areturn
        end local 2 // java.util.Map map
        end local 1 // java.lang.String[] names
        end local 0 // sun.jvm.hotspot.utilities.soql.JSJavaInstanceKlass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lsun/jvm/hotspot/utilities/soql/JSJavaInstanceKlass;
            1   10     1  names  [Ljava/lang/String;
            2   10     2    map  Ljava/util/Map;
            3    9     3      i  I
      Exception table:
        from    to  target  type
           4     5       6  Class java.lang.NoSuchFieldException
}
SourceFile: "JSJavaInstanceKlass.java"