public class sun.jvm.hotspot.memory.SystemDictionary
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.jvm.hotspot.memory.SystemDictionary
  super_class: java.lang.Object
{
  private static sun.jvm.hotspot.types.AddressField dictionaryField;
    descriptor: Lsun/jvm/hotspot/types/AddressField;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.jvm.hotspot.types.AddressField sharedDictionaryField;
    descriptor: Lsun/jvm/hotspot/types/AddressField;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.jvm.hotspot.types.AddressField placeholdersField;
    descriptor: Lsun/jvm/hotspot/types/AddressField;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.jvm.hotspot.types.AddressField loaderConstraintTableField;
    descriptor: Lsun/jvm/hotspot/types/AddressField;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.jvm.hotspot.types.OopField javaSystemLoaderField;
    descriptor: Lsun/jvm/hotspot/types/OopField;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.jvm.hotspot.types.AddressField objectKlassField;
    descriptor: Lsun/jvm/hotspot/types/AddressField;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.jvm.hotspot.types.AddressField classLoaderKlassField;
    descriptor: Lsun/jvm/hotspot/types/AddressField;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.jvm.hotspot.types.AddressField stringKlassField;
    descriptor: Lsun/jvm/hotspot/types/AddressField;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.jvm.hotspot.types.AddressField systemKlassField;
    descriptor: Lsun/jvm/hotspot/types/AddressField;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.jvm.hotspot.types.AddressField threadKlassField;
    descriptor: Lsun/jvm/hotspot/types/AddressField;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.jvm.hotspot.types.AddressField threadGroupKlassField;
    descriptor: Lsun/jvm/hotspot/types/AddressField;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.jvm.hotspot.types.AddressField methodHandleKlassField;
    descriptor: Lsun/jvm/hotspot/types/AddressField;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 49
            new sun.jvm.hotspot.memory.SystemDictionary$1
            dup
            invokespecial sun.jvm.hotspot.memory.SystemDictionary$1.<init>:()V
            invokestatic sun.jvm.hotspot.runtime.VM.registerVMInitializedObserver:(Ljava/util/Observer;)V
         1: .line 54
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.memory.SystemDictionary this
         0: .line 33
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.jvm.hotspot.memory.SystemDictionary this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/memory/SystemDictionary;

  private static synchronized void initialize(sun.jvm.hotspot.types.TypeDataBase);
    descriptor: (Lsun/jvm/hotspot/types/TypeDataBase;)V
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.jvm.hotspot.types.TypeDataBase db
         0: .line 57
            aload 0 /* db */
            ldc "SystemDictionary"
            invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupType:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Type;
            astore 1 /* type */
        start local 1 // sun.jvm.hotspot.types.Type type
         1: .line 59
            aload 1 /* type */
            ldc "_dictionary"
            invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
            putstatic sun.jvm.hotspot.memory.SystemDictionary.dictionaryField:Lsun/jvm/hotspot/types/AddressField;
         2: .line 60
            aload 1 /* type */
            ldc "_shared_dictionary"
            invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
            putstatic sun.jvm.hotspot.memory.SystemDictionary.sharedDictionaryField:Lsun/jvm/hotspot/types/AddressField;
         3: .line 61
            aload 1 /* type */
            ldc "_placeholders"
            invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
            putstatic sun.jvm.hotspot.memory.SystemDictionary.placeholdersField:Lsun/jvm/hotspot/types/AddressField;
         4: .line 62
            aload 1 /* type */
            ldc "_loader_constraints"
            invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
            putstatic sun.jvm.hotspot.memory.SystemDictionary.loaderConstraintTableField:Lsun/jvm/hotspot/types/AddressField;
         5: .line 63
            aload 1 /* type */
            ldc "_java_system_loader"
            invokeinterface sun.jvm.hotspot.types.Type.getOopField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/OopField;
            putstatic sun.jvm.hotspot.memory.SystemDictionary.javaSystemLoaderField:Lsun/jvm/hotspot/types/OopField;
         6: .line 65
            aload 1 /* type */
            ldc "Object_klass"
            invokestatic sun.jvm.hotspot.memory.SystemDictionary.WK_KLASS:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
            putstatic sun.jvm.hotspot.memory.SystemDictionary.objectKlassField:Lsun/jvm/hotspot/types/AddressField;
         7: .line 66
            aload 1 /* type */
            ldc "ClassLoader_klass"
            invokestatic sun.jvm.hotspot.memory.SystemDictionary.WK_KLASS:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
            putstatic sun.jvm.hotspot.memory.SystemDictionary.classLoaderKlassField:Lsun/jvm/hotspot/types/AddressField;
         8: .line 67
            aload 1 /* type */
            ldc "String_klass"
            invokestatic sun.jvm.hotspot.memory.SystemDictionary.WK_KLASS:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
            putstatic sun.jvm.hotspot.memory.SystemDictionary.stringKlassField:Lsun/jvm/hotspot/types/AddressField;
         9: .line 68
            aload 1 /* type */
            ldc "System_klass"
            invokestatic sun.jvm.hotspot.memory.SystemDictionary.WK_KLASS:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
            putstatic sun.jvm.hotspot.memory.SystemDictionary.systemKlassField:Lsun/jvm/hotspot/types/AddressField;
        10: .line 69
            aload 1 /* type */
            ldc "Thread_klass"
            invokestatic sun.jvm.hotspot.memory.SystemDictionary.WK_KLASS:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
            putstatic sun.jvm.hotspot.memory.SystemDictionary.threadKlassField:Lsun/jvm/hotspot/types/AddressField;
        11: .line 70
            aload 1 /* type */
            ldc "ThreadGroup_klass"
            invokestatic sun.jvm.hotspot.memory.SystemDictionary.WK_KLASS:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
            putstatic sun.jvm.hotspot.memory.SystemDictionary.threadGroupKlassField:Lsun/jvm/hotspot/types/AddressField;
        12: .line 71
            aload 1 /* type */
            ldc "MethodHandle_klass"
            invokestatic sun.jvm.hotspot.memory.SystemDictionary.WK_KLASS:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface sun.jvm.hotspot.types.Type.getAddressField:(Ljava/lang/String;)Lsun/jvm/hotspot/types/AddressField;
            putstatic sun.jvm.hotspot.memory.SystemDictionary.methodHandleKlassField:Lsun/jvm/hotspot/types/AddressField;
        13: .line 72
            return
        end local 1 // sun.jvm.hotspot.types.Type type
        end local 0 // sun.jvm.hotspot.types.TypeDataBase db
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0    db  Lsun/jvm/hotspot/types/TypeDataBase;
            1   14     1  type  Lsun/jvm/hotspot/types/Type;
    MethodParameters:
      Name  Flags
      db    

  private static java.lang.String WK_KLASS(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 77
            new java.lang.StringBuilder
            dup
            ldc "_well_known_klasses[SystemDictionary::"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* name */
            invokestatic sun.jvm.hotspot.memory.SystemDictionary.WK_KLASS_ENUM_NAME:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  private static java.lang.String WK_KLASS_ENUM_NAME(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String kname
         0: .line 81
            new java.lang.StringBuilder
            dup
            aload 0 /* kname */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "_knum"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.String kname
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  kname  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      kname  

  public sun.jvm.hotspot.memory.Dictionary dictionary();
    descriptor: ()Lsun/jvm/hotspot/memory/Dictionary;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.jvm.hotspot.memory.SystemDictionary this
         0: .line 85
            getstatic sun.jvm.hotspot.memory.SystemDictionary.dictionaryField:Lsun/jvm/hotspot/types/AddressField;
            invokeinterface sun.jvm.hotspot.types.AddressField.getValue:()Lsun/jvm/hotspot/debugger/Address;
            astore 1 /* tmp */
        start local 1 // sun.jvm.hotspot.debugger.Address tmp
         1: .line 86
            ldc Lsun/jvm/hotspot/memory/Dictionary;
            aload 1 /* tmp */
            invokestatic sun.jvm.hotspot.runtime.VMObjectFactory.newObject:(Ljava/lang/Class;Lsun/jvm/hotspot/debugger/Address;)Ljava/lang/Object;
            checkcast sun.jvm.hotspot.memory.Dictionary
            areturn
        end local 1 // sun.jvm.hotspot.debugger.Address tmp
        end local 0 // sun.jvm.hotspot.memory.SystemDictionary this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/jvm/hotspot/memory/SystemDictionary;
            1    2     1   tmp  Lsun/jvm/hotspot/debugger/Address;

  public sun.jvm.hotspot.memory.Dictionary sharedDictionary();
    descriptor: ()Lsun/jvm/hotspot/memory/Dictionary;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.jvm.hotspot.memory.SystemDictionary this
         0: .line 90
            getstatic sun.jvm.hotspot.memory.SystemDictionary.sharedDictionaryField:Lsun/jvm/hotspot/types/AddressField;
            invokeinterface sun.jvm.hotspot.types.AddressField.getValue:()Lsun/jvm/hotspot/debugger/Address;
            astore 1 /* tmp */
        start local 1 // sun.jvm.hotspot.debugger.Address tmp
         1: .line 91
            ldc Lsun/jvm/hotspot/memory/Dictionary;
            aload 1 /* tmp */
            invokestatic sun.jvm.hotspot.runtime.VMObjectFactory.newObject:(Ljava/lang/Class;Lsun/jvm/hotspot/debugger/Address;)Ljava/lang/Object;
            checkcast sun.jvm.hotspot.memory.Dictionary
            areturn
        end local 1 // sun.jvm.hotspot.debugger.Address tmp
        end local 0 // sun.jvm.hotspot.memory.SystemDictionary this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/jvm/hotspot/memory/SystemDictionary;
            1    2     1   tmp  Lsun/jvm/hotspot/debugger/Address;

  public sun.jvm.hotspot.memory.PlaceholderTable placeholders();
    descriptor: ()Lsun/jvm/hotspot/memory/PlaceholderTable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.jvm.hotspot.memory.SystemDictionary this
         0: .line 95
            getstatic sun.jvm.hotspot.memory.SystemDictionary.placeholdersField:Lsun/jvm/hotspot/types/AddressField;
            invokeinterface sun.jvm.hotspot.types.AddressField.getValue:()Lsun/jvm/hotspot/debugger/Address;
            astore 1 /* tmp */
        start local 1 // sun.jvm.hotspot.debugger.Address tmp
         1: .line 96
            ldc Lsun/jvm/hotspot/memory/PlaceholderTable;
            aload 1 /* tmp */
            invokestatic sun.jvm.hotspot.runtime.VMObjectFactory.newObject:(Ljava/lang/Class;Lsun/jvm/hotspot/debugger/Address;)Ljava/lang/Object;
            checkcast sun.jvm.hotspot.memory.PlaceholderTable
            areturn
        end local 1 // sun.jvm.hotspot.debugger.Address tmp
        end local 0 // sun.jvm.hotspot.memory.SystemDictionary this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/jvm/hotspot/memory/SystemDictionary;
            1    2     1   tmp  Lsun/jvm/hotspot/debugger/Address;

  public sun.jvm.hotspot.memory.LoaderConstraintTable constraints();
    descriptor: ()Lsun/jvm/hotspot/memory/LoaderConstraintTable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.jvm.hotspot.memory.SystemDictionary this
         0: .line 100
            getstatic sun.jvm.hotspot.memory.SystemDictionary.placeholdersField:Lsun/jvm/hotspot/types/AddressField;
            invokeinterface sun.jvm.hotspot.types.AddressField.getValue:()Lsun/jvm/hotspot/debugger/Address;
            astore 1 /* tmp */
        start local 1 // sun.jvm.hotspot.debugger.Address tmp
         1: .line 101
            ldc Lsun/jvm/hotspot/memory/LoaderConstraintTable;
            aload 1 /* tmp */
            invokestatic sun.jvm.hotspot.runtime.VMObjectFactory.newObject:(Ljava/lang/Class;Lsun/jvm/hotspot/debugger/Address;)Ljava/lang/Object;
            checkcast sun.jvm.hotspot.memory.LoaderConstraintTable
            areturn
        end local 1 // sun.jvm.hotspot.debugger.Address tmp
        end local 0 // sun.jvm.hotspot.memory.SystemDictionary this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/jvm/hotspot/memory/SystemDictionary;
            1    2     1   tmp  Lsun/jvm/hotspot/debugger/Address;

  public static sun.jvm.hotspot.oops.InstanceKlass getThreadKlass();
    descriptor: ()Lsun/jvm/hotspot/oops/InstanceKlass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 107
            getstatic sun.jvm.hotspot.memory.SystemDictionary.threadKlassField:Lsun/jvm/hotspot/types/AddressField;
            invokeinterface sun.jvm.hotspot.types.AddressField.getValue:()Lsun/jvm/hotspot/debugger/Address;
            invokestatic sun.jvm.hotspot.oops.Metadata.instantiateWrapperFor:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/oops/Metadata;
            checkcast sun.jvm.hotspot.oops.InstanceKlass
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static sun.jvm.hotspot.oops.InstanceKlass getThreadGroupKlass();
    descriptor: ()Lsun/jvm/hotspot/oops/InstanceKlass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 111
            getstatic sun.jvm.hotspot.memory.SystemDictionary.threadGroupKlassField:Lsun/jvm/hotspot/types/AddressField;
            invokeinterface sun.jvm.hotspot.types.AddressField.getValue:()Lsun/jvm/hotspot/debugger/Address;
            invokestatic sun.jvm.hotspot.oops.Metadata.instantiateWrapperFor:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/oops/Metadata;
            checkcast sun.jvm.hotspot.oops.InstanceKlass
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static sun.jvm.hotspot.oops.InstanceKlass getObjectKlass();
    descriptor: ()Lsun/jvm/hotspot/oops/InstanceKlass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 115
            getstatic sun.jvm.hotspot.memory.SystemDictionary.objectKlassField:Lsun/jvm/hotspot/types/AddressField;
            invokeinterface sun.jvm.hotspot.types.AddressField.getValue:()Lsun/jvm/hotspot/debugger/Address;
            invokestatic sun.jvm.hotspot.oops.Metadata.instantiateWrapperFor:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/oops/Metadata;
            checkcast sun.jvm.hotspot.oops.InstanceKlass
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static sun.jvm.hotspot.oops.InstanceKlass getStringKlass();
    descriptor: ()Lsun/jvm/hotspot/oops/InstanceKlass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 119
            getstatic sun.jvm.hotspot.memory.SystemDictionary.stringKlassField:Lsun/jvm/hotspot/types/AddressField;
            invokeinterface sun.jvm.hotspot.types.AddressField.getValue:()Lsun/jvm/hotspot/debugger/Address;
            invokestatic sun.jvm.hotspot.oops.Metadata.instantiateWrapperFor:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/oops/Metadata;
            checkcast sun.jvm.hotspot.oops.InstanceKlass
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static sun.jvm.hotspot.oops.InstanceKlass getClassLoaderKlass();
    descriptor: ()Lsun/jvm/hotspot/oops/InstanceKlass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 123
            getstatic sun.jvm.hotspot.memory.SystemDictionary.classLoaderKlassField:Lsun/jvm/hotspot/types/AddressField;
            invokeinterface sun.jvm.hotspot.types.AddressField.getValue:()Lsun/jvm/hotspot/debugger/Address;
            invokestatic sun.jvm.hotspot.oops.Metadata.instantiateWrapperFor:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/oops/Metadata;
            checkcast sun.jvm.hotspot.oops.InstanceKlass
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static sun.jvm.hotspot.oops.InstanceKlass getSystemKlass();
    descriptor: ()Lsun/jvm/hotspot/oops/InstanceKlass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 127
            getstatic sun.jvm.hotspot.memory.SystemDictionary.systemKlassField:Lsun/jvm/hotspot/types/AddressField;
            invokeinterface sun.jvm.hotspot.types.AddressField.getValue:()Lsun/jvm/hotspot/debugger/Address;
            invokestatic sun.jvm.hotspot.oops.Metadata.instantiateWrapperFor:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/oops/Metadata;
            checkcast sun.jvm.hotspot.oops.InstanceKlass
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static sun.jvm.hotspot.oops.InstanceKlass getMethodHandleKlass();
    descriptor: ()Lsun/jvm/hotspot/oops/InstanceKlass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 131
            getstatic sun.jvm.hotspot.memory.SystemDictionary.methodHandleKlassField:Lsun/jvm/hotspot/types/AddressField;
            invokeinterface sun.jvm.hotspot.types.AddressField.getValue:()Lsun/jvm/hotspot/debugger/Address;
            invokestatic sun.jvm.hotspot.oops.Metadata.instantiateWrapperFor:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/oops/Metadata;
            checkcast sun.jvm.hotspot.oops.InstanceKlass
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public sun.jvm.hotspot.oops.InstanceKlass getAbstractOwnableSynchronizerKlass();
    descriptor: ()Lsun/jvm/hotspot/oops/InstanceKlass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.memory.SystemDictionary this
         0: .line 135
            aload 0 /* this */
            ldc "java/util/concurrent/locks/AbstractOwnableSynchronizer"
         1: .line 136
            aconst_null
            aconst_null
         2: .line 135
            invokevirtual sun.jvm.hotspot.memory.SystemDictionary.find:(Ljava/lang/String;Lsun/jvm/hotspot/oops/Oop;Lsun/jvm/hotspot/oops/Oop;)Lsun/jvm/hotspot/oops/Klass;
            checkcast sun.jvm.hotspot.oops.InstanceKlass
            areturn
        end local 0 // sun.jvm.hotspot.memory.SystemDictionary this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/jvm/hotspot/memory/SystemDictionary;

  public static sun.jvm.hotspot.oops.Oop javaSystemLoader();
    descriptor: ()Lsun/jvm/hotspot/oops/Oop;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 140
            getstatic sun.jvm.hotspot.memory.SystemDictionary.javaSystemLoaderField:Lsun/jvm/hotspot/types/OopField;
            invokeinterface sun.jvm.hotspot.types.OopField.getValue:()Lsun/jvm/hotspot/debugger/OopHandle;
            invokestatic sun.jvm.hotspot.memory.SystemDictionary.newOop:(Lsun/jvm/hotspot/debugger/OopHandle;)Lsun/jvm/hotspot/oops/Oop;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static sun.jvm.hotspot.oops.Oop newOop(sun.jvm.hotspot.debugger.OopHandle);
    descriptor: (Lsun/jvm/hotspot/debugger/OopHandle;)Lsun/jvm/hotspot/oops/Oop;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.debugger.OopHandle handle
         0: .line 144
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getObjectHeap:()Lsun/jvm/hotspot/oops/ObjectHeap;
            aload 0 /* handle */
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.newOop:(Lsun/jvm/hotspot/debugger/OopHandle;)Lsun/jvm/hotspot/oops/Oop;
            areturn
        end local 0 // sun.jvm.hotspot.debugger.OopHandle handle
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  handle  Lsun/jvm/hotspot/debugger/OopHandle;
    MethodParameters:
        Name  Flags
      handle  

  public sun.jvm.hotspot.oops.Klass find(java.lang.String, sun.jvm.hotspot.oops.Oop, sun.jvm.hotspot.oops.Oop);
    descriptor: (Ljava/lang/String;Lsun/jvm/hotspot/oops/Oop;Lsun/jvm/hotspot/oops/Oop;)Lsun/jvm/hotspot/oops/Klass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // sun.jvm.hotspot.memory.SystemDictionary this
        start local 1 // java.lang.String className
        start local 2 // sun.jvm.hotspot.oops.Oop classLoader
        start local 3 // sun.jvm.hotspot.oops.Oop protectionDomain
         0: .line 149
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getSymbolTable:()Lsun/jvm/hotspot/memory/SymbolTable;
            aload 1 /* className */
            invokevirtual sun.jvm.hotspot.memory.SymbolTable.probe:(Ljava/lang/String;)Lsun/jvm/hotspot/oops/Symbol;
            astore 4 /* sym */
        start local 4 // sun.jvm.hotspot.oops.Symbol sym
         1: .line 150
            aload 4 /* sym */
            ifnonnull 2
            aconst_null
            areturn
         2: .line 151
      StackMap locals: sun.jvm.hotspot.oops.Symbol
      StackMap stack:
            aload 0 /* this */
            aload 4 /* sym */
            aload 2 /* classLoader */
            aload 3 /* protectionDomain */
            invokevirtual sun.jvm.hotspot.memory.SystemDictionary.find:(Lsun/jvm/hotspot/oops/Symbol;Lsun/jvm/hotspot/oops/Oop;Lsun/jvm/hotspot/oops/Oop;)Lsun/jvm/hotspot/oops/Klass;
            areturn
        end local 4 // sun.jvm.hotspot.oops.Symbol sym
        end local 3 // sun.jvm.hotspot.oops.Oop protectionDomain
        end local 2 // sun.jvm.hotspot.oops.Oop classLoader
        end local 1 // java.lang.String className
        end local 0 // sun.jvm.hotspot.memory.SystemDictionary this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Lsun/jvm/hotspot/memory/SystemDictionary;
            0    3     1         className  Ljava/lang/String;
            0    3     2       classLoader  Lsun/jvm/hotspot/oops/Oop;
            0    3     3  protectionDomain  Lsun/jvm/hotspot/oops/Oop;
            1    3     4               sym  Lsun/jvm/hotspot/oops/Symbol;
    MethodParameters:
                  Name  Flags
      className         
      classLoader       
      protectionDomain  

  public sun.jvm.hotspot.oops.Klass find(sun.jvm.hotspot.oops.Symbol, sun.jvm.hotspot.oops.Oop, sun.jvm.hotspot.oops.Oop);
    descriptor: (Lsun/jvm/hotspot/oops/Symbol;Lsun/jvm/hotspot/oops/Oop;Lsun/jvm/hotspot/oops/Oop;)Lsun/jvm/hotspot/oops/Klass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=4
        start local 0 // sun.jvm.hotspot.memory.SystemDictionary this
        start local 1 // sun.jvm.hotspot.oops.Symbol className
        start local 2 // sun.jvm.hotspot.oops.Oop classLoader
        start local 3 // sun.jvm.hotspot.oops.Oop protectionDomain
         0: .line 156
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.memory.SystemDictionary.dictionary:()Lsun/jvm/hotspot/memory/Dictionary;
            astore 4 /* dict */
        start local 4 // sun.jvm.hotspot.memory.Dictionary dict
         1: .line 157
            aload 4 /* dict */
            aload 1 /* className */
            aload 2 /* classLoader */
            invokevirtual sun.jvm.hotspot.memory.Dictionary.computeHash:(Lsun/jvm/hotspot/oops/Symbol;Lsun/jvm/hotspot/oops/Oop;)J
            lstore 5 /* hash */
        start local 5 // long hash
         2: .line 158
            aload 4 /* dict */
            lload 5 /* hash */
            invokevirtual sun.jvm.hotspot.memory.Dictionary.hashToIndex:(J)I
            istore 7 /* index */
        start local 7 // int index
         3: .line 159
            aload 4 /* dict */
            iload 7 /* index */
            lload 5 /* hash */
            aload 1 /* className */
            aload 2 /* classLoader */
            aload 3 /* protectionDomain */
            invokevirtual sun.jvm.hotspot.memory.Dictionary.find:(IJLsun/jvm/hotspot/oops/Symbol;Lsun/jvm/hotspot/oops/Oop;Lsun/jvm/hotspot/oops/Oop;)Lsun/jvm/hotspot/oops/Klass;
            areturn
        end local 7 // int index
        end local 5 // long hash
        end local 4 // sun.jvm.hotspot.memory.Dictionary dict
        end local 3 // sun.jvm.hotspot.oops.Oop protectionDomain
        end local 2 // sun.jvm.hotspot.oops.Oop classLoader
        end local 1 // sun.jvm.hotspot.oops.Symbol className
        end local 0 // sun.jvm.hotspot.memory.SystemDictionary this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lsun/jvm/hotspot/memory/SystemDictionary;
            0    4     1         className  Lsun/jvm/hotspot/oops/Symbol;
            0    4     2       classLoader  Lsun/jvm/hotspot/oops/Oop;
            0    4     3  protectionDomain  Lsun/jvm/hotspot/oops/Oop;
            1    4     4              dict  Lsun/jvm/hotspot/memory/Dictionary;
            2    4     5              hash  J
            3    4     7             index  I
    MethodParameters:
                  Name  Flags
      className         
      classLoader       
      protectionDomain  

  public void allClassesDo(sun.jvm.hotspot.memory.SystemDictionary$ClassVisitor);
    descriptor: (Lsun/jvm/hotspot/memory/SystemDictionary$ClassVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.jvm.hotspot.memory.SystemDictionary this
        start local 1 // sun.jvm.hotspot.memory.SystemDictionary$ClassVisitor v
         0: .line 176
            new sun.jvm.hotspot.memory.SystemDictionary$2
            dup
            aload 0 /* this */
            aload 1 /* v */
            invokespecial sun.jvm.hotspot.memory.SystemDictionary$2.<init>:(Lsun/jvm/hotspot/memory/SystemDictionary;Lsun/jvm/hotspot/memory/SystemDictionary$ClassVisitor;)V
            astore 2 /* visitor */
        start local 2 // sun.jvm.hotspot.memory.SystemDictionary$ClassVisitor visitor
         1: .line 183
            aload 0 /* this */
            aload 2 /* visitor */
            invokevirtual sun.jvm.hotspot.memory.SystemDictionary.classesDo:(Lsun/jvm/hotspot/memory/SystemDictionary$ClassVisitor;)V
         2: .line 184
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getUniverse:()Lsun/jvm/hotspot/memory/Universe;
            aload 2 /* visitor */
            invokevirtual sun.jvm.hotspot.memory.Universe.basicTypeClassesDo:(Lsun/jvm/hotspot/memory/SystemDictionary$ClassVisitor;)V
         3: .line 185
            return
        end local 2 // sun.jvm.hotspot.memory.SystemDictionary$ClassVisitor visitor
        end local 1 // sun.jvm.hotspot.memory.SystemDictionary$ClassVisitor v
        end local 0 // sun.jvm.hotspot.memory.SystemDictionary this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lsun/jvm/hotspot/memory/SystemDictionary;
            0    4     1        v  Lsun/jvm/hotspot/memory/SystemDictionary$ClassVisitor;
            1    4     2  visitor  Lsun/jvm/hotspot/memory/SystemDictionary$ClassVisitor;
    MethodParameters:
      Name  Flags
      v     final

  public void classesDo(sun.jvm.hotspot.memory.SystemDictionary$ClassVisitor);
    descriptor: (Lsun/jvm/hotspot/memory/SystemDictionary$ClassVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.memory.SystemDictionary this
        start local 1 // sun.jvm.hotspot.memory.SystemDictionary$ClassVisitor v
         0: .line 190
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.memory.SystemDictionary.dictionary:()Lsun/jvm/hotspot/memory/Dictionary;
            aload 1 /* v */
            invokevirtual sun.jvm.hotspot.memory.Dictionary.classesDo:(Lsun/jvm/hotspot/memory/SystemDictionary$ClassVisitor;)V
         1: .line 191
            return
        end local 1 // sun.jvm.hotspot.memory.SystemDictionary$ClassVisitor v
        end local 0 // sun.jvm.hotspot.memory.SystemDictionary this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/jvm/hotspot/memory/SystemDictionary;
            0    2     1     v  Lsun/jvm/hotspot/memory/SystemDictionary$ClassVisitor;
    MethodParameters:
      Name  Flags
      v     

  public void classesDo(sun.jvm.hotspot.memory.SystemDictionary$ClassAndLoaderVisitor);
    descriptor: (Lsun/jvm/hotspot/memory/SystemDictionary$ClassAndLoaderVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.memory.SystemDictionary this
        start local 1 // sun.jvm.hotspot.memory.SystemDictionary$ClassAndLoaderVisitor v
         0: .line 195
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.memory.SystemDictionary.dictionary:()Lsun/jvm/hotspot/memory/Dictionary;
            aload 1 /* v */
            invokevirtual sun.jvm.hotspot.memory.Dictionary.classesDo:(Lsun/jvm/hotspot/memory/SystemDictionary$ClassAndLoaderVisitor;)V
         1: .line 196
            return
        end local 1 // sun.jvm.hotspot.memory.SystemDictionary$ClassAndLoaderVisitor v
        end local 0 // sun.jvm.hotspot.memory.SystemDictionary this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/jvm/hotspot/memory/SystemDictionary;
            0    2     1     v  Lsun/jvm/hotspot/memory/SystemDictionary$ClassAndLoaderVisitor;
    MethodParameters:
      Name  Flags
      v     

  public void primArrayClassesDo(sun.jvm.hotspot.memory.SystemDictionary$ClassAndLoaderVisitor);
    descriptor: (Lsun/jvm/hotspot/memory/SystemDictionary$ClassAndLoaderVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.memory.SystemDictionary this
        start local 1 // sun.jvm.hotspot.memory.SystemDictionary$ClassAndLoaderVisitor v
         0: .line 200
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.memory.SystemDictionary.placeholders:()Lsun/jvm/hotspot/memory/PlaceholderTable;
            aload 1 /* v */
            invokevirtual sun.jvm.hotspot.memory.PlaceholderTable.primArrayClassesDo:(Lsun/jvm/hotspot/memory/SystemDictionary$ClassAndLoaderVisitor;)V
         1: .line 201
            return
        end local 1 // sun.jvm.hotspot.memory.SystemDictionary$ClassAndLoaderVisitor v
        end local 0 // sun.jvm.hotspot.memory.SystemDictionary this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/jvm/hotspot/memory/SystemDictionary;
            0    2     1     v  Lsun/jvm/hotspot/memory/SystemDictionary$ClassAndLoaderVisitor;
    MethodParameters:
      Name  Flags
      v     
}
SourceFile: "SystemDictionary.java"
NestMembers:
  sun.jvm.hotspot.memory.SystemDictionary$1  sun.jvm.hotspot.memory.SystemDictionary$2  sun.jvm.hotspot.memory.SystemDictionary$ClassAndLoaderVisitor  sun.jvm.hotspot.memory.SystemDictionary$ClassVisitor
InnerClasses:
  sun.jvm.hotspot.memory.SystemDictionary$1
  sun.jvm.hotspot.memory.SystemDictionary$2
  public abstract ClassAndLoaderVisitor = sun.jvm.hotspot.memory.SystemDictionary$ClassAndLoaderVisitor of sun.jvm.hotspot.memory.SystemDictionary
  public abstract ClassVisitor = sun.jvm.hotspot.memory.SystemDictionary$ClassVisitor of sun.jvm.hotspot.memory.SystemDictionary