public class sun.jvm.hotspot.memory.Dictionary extends sun.jvm.hotspot.utilities.TwoOopHashtable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.jvm.hotspot.memory.Dictionary
  super_class: sun.jvm.hotspot.utilities.TwoOopHashtable
{
  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 36
            new sun.jvm.hotspot.memory.Dictionary$1
            dup
            invokespecial sun.jvm.hotspot.memory.Dictionary$1.<init>:()V
            invokestatic sun.jvm.hotspot.runtime.VM.registerVMInitializedObserver:(Ljava/util/Observer;)V
         1: .line 41
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  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=1, args_size=1
        start local 0 // sun.jvm.hotspot.types.TypeDataBase db
         0: .line 45
            aload 0 /* db */
            ldc "Dictionary"
            invokeinterface sun.jvm.hotspot.types.TypeDataBase.lookupType:(Ljava/lang/String;)Lsun/jvm/hotspot/types/Type;
            pop
         1: .line 46
            return
        end local 0 // sun.jvm.hotspot.types.TypeDataBase db
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    db  Lsun/jvm/hotspot/types/TypeDataBase;
    MethodParameters:
      Name  Flags
      db    

  public void <init>(sun.jvm.hotspot.debugger.Address);
    descriptor: (Lsun/jvm/hotspot/debugger/Address;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.jvm.hotspot.memory.Dictionary this
        start local 1 // sun.jvm.hotspot.debugger.Address addr
         0: .line 49
            aload 0 /* this */
            aload 1 /* addr */
            invokespecial sun.jvm.hotspot.utilities.TwoOopHashtable.<init>:(Lsun/jvm/hotspot/debugger/Address;)V
         1: .line 50
            return
        end local 1 // sun.jvm.hotspot.debugger.Address addr
        end local 0 // sun.jvm.hotspot.memory.Dictionary this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/jvm/hotspot/memory/Dictionary;
            0    2     1  addr  Lsun/jvm/hotspot/debugger/Address;
    MethodParameters:
      Name  Flags
      addr  

  protected java.lang.Class getHashtableEntryClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.memory.Dictionary this
         0: .line 55
            ldc Lsun/jvm/hotspot/memory/DictionaryEntry;
            areturn
        end local 0 // sun.jvm.hotspot.memory.Dictionary this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/memory/Dictionary;

  public void classesDo(sun.jvm.hotspot.memory.SystemDictionary$ClassVisitor);
    descriptor: (Lsun/jvm/hotspot/memory/SystemDictionary$ClassVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // sun.jvm.hotspot.memory.Dictionary this
        start local 1 // sun.jvm.hotspot.memory.SystemDictionary$ClassVisitor v
         0: .line 61
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getObjectHeap:()Lsun/jvm/hotspot/oops/ObjectHeap;
            astore 2 /* heap */
        start local 2 // sun.jvm.hotspot.oops.ObjectHeap heap
         1: .line 62
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.memory.Dictionary.tableSize:()I
            istore 3 /* tblSize */
        start local 3 // int tblSize
         2: .line 63
            iconst_0
            istore 4 /* index */
        start local 4 // int index
         3: goto 12
         4: .line 64
      StackMap locals: sun.jvm.hotspot.oops.ObjectHeap int int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* index */
            invokevirtual sun.jvm.hotspot.memory.Dictionary.bucket:(I)Lsun/jvm/hotspot/utilities/BasicHashtableEntry;
            checkcast sun.jvm.hotspot.memory.DictionaryEntry
            astore 5 /* probe */
        start local 5 // sun.jvm.hotspot.memory.DictionaryEntry probe
         5: goto 10
         6: .line 66
      StackMap locals: sun.jvm.hotspot.memory.DictionaryEntry
      StackMap stack:
            aload 5 /* probe */
            invokevirtual sun.jvm.hotspot.memory.DictionaryEntry.klass:()Lsun/jvm/hotspot/oops/Klass;
            astore 6 /* k */
        start local 6 // sun.jvm.hotspot.oops.Klass k
         7: .line 67
            aload 2 /* heap */
            aload 5 /* probe */
            invokevirtual sun.jvm.hotspot.memory.DictionaryEntry.loader:()Lsun/jvm/hotspot/oops/Oop;
            aload 6 /* k */
            checkcast sun.jvm.hotspot.oops.InstanceKlass
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getClassLoader:()Lsun/jvm/hotspot/oops/Oop;
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.equal:(Lsun/jvm/hotspot/oops/Oop;Lsun/jvm/hotspot/oops/Oop;)Z
            ifeq 9
         8: .line 68
            aload 1 /* v */
            aload 6 /* k */
            invokeinterface sun.jvm.hotspot.memory.SystemDictionary$ClassVisitor.visit:(Lsun/jvm/hotspot/oops/Klass;)V
        end local 6 // sun.jvm.hotspot.oops.Klass k
         9: .line 65
      StackMap locals:
      StackMap stack:
            aload 5 /* probe */
            invokevirtual sun.jvm.hotspot.memory.DictionaryEntry.next:()Lsun/jvm/hotspot/utilities/BasicHashtableEntry;
            checkcast sun.jvm.hotspot.memory.DictionaryEntry
            astore 5 /* probe */
        10: .line 64
      StackMap locals:
      StackMap stack:
            aload 5 /* probe */
            ifnonnull 6
        end local 5 // sun.jvm.hotspot.memory.DictionaryEntry probe
        11: .line 63
            iinc 4 /* index */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* index */
            iload 3 /* tblSize */
            if_icmplt 4
        end local 4 // int index
        13: .line 72
            return
        end local 3 // int tblSize
        end local 2 // sun.jvm.hotspot.oops.ObjectHeap heap
        end local 1 // sun.jvm.hotspot.memory.SystemDictionary$ClassVisitor v
        end local 0 // sun.jvm.hotspot.memory.Dictionary this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lsun/jvm/hotspot/memory/Dictionary;
            0   14     1        v  Lsun/jvm/hotspot/memory/SystemDictionary$ClassVisitor;
            1   14     2     heap  Lsun/jvm/hotspot/oops/ObjectHeap;
            2   14     3  tblSize  I
            3   13     4    index  I
            5   11     5    probe  Lsun/jvm/hotspot/memory/DictionaryEntry;
            7    9     6        k  Lsun/jvm/hotspot/oops/Klass;
    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=3, locals=6, args_size=2
        start local 0 // sun.jvm.hotspot.memory.Dictionary this
        start local 1 // sun.jvm.hotspot.memory.SystemDictionary$ClassAndLoaderVisitor v
         0: .line 76
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.memory.Dictionary.tableSize:()I
            istore 2 /* tblSize */
        start local 2 // int tblSize
         1: .line 77
            iconst_0
            istore 3 /* index */
        start local 3 // int index
         2: goto 10
         3: .line 78
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* index */
            invokevirtual sun.jvm.hotspot.memory.Dictionary.bucket:(I)Lsun/jvm/hotspot/utilities/BasicHashtableEntry;
            checkcast sun.jvm.hotspot.memory.DictionaryEntry
            astore 4 /* probe */
        start local 4 // sun.jvm.hotspot.memory.DictionaryEntry probe
         4: goto 8
         5: .line 80
      StackMap locals: sun.jvm.hotspot.memory.DictionaryEntry
      StackMap stack:
            aload 4 /* probe */
            invokevirtual sun.jvm.hotspot.memory.DictionaryEntry.klass:()Lsun/jvm/hotspot/oops/Klass;
            astore 5 /* k */
        start local 5 // sun.jvm.hotspot.oops.Klass k
         6: .line 81
            aload 1 /* v */
            aload 5 /* k */
            aload 4 /* probe */
            invokevirtual sun.jvm.hotspot.memory.DictionaryEntry.loader:()Lsun/jvm/hotspot/oops/Oop;
            invokeinterface sun.jvm.hotspot.memory.SystemDictionary$ClassAndLoaderVisitor.visit:(Lsun/jvm/hotspot/oops/Klass;Lsun/jvm/hotspot/oops/Oop;)V
        end local 5 // sun.jvm.hotspot.oops.Klass k
         7: .line 79
            aload 4 /* probe */
            invokevirtual sun.jvm.hotspot.memory.DictionaryEntry.next:()Lsun/jvm/hotspot/utilities/BasicHashtableEntry;
            checkcast sun.jvm.hotspot.memory.DictionaryEntry
            astore 4 /* probe */
         8: .line 78
      StackMap locals:
      StackMap stack:
            aload 4 /* probe */
            ifnonnull 5
        end local 4 // sun.jvm.hotspot.memory.DictionaryEntry probe
         9: .line 77
            iinc 3 /* index */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* index */
            iload 2 /* tblSize */
            if_icmplt 3
        end local 3 // int index
        11: .line 84
            return
        end local 2 // int tblSize
        end local 1 // sun.jvm.hotspot.memory.SystemDictionary$ClassAndLoaderVisitor v
        end local 0 // sun.jvm.hotspot.memory.Dictionary this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lsun/jvm/hotspot/memory/Dictionary;
            0   12     1        v  Lsun/jvm/hotspot/memory/SystemDictionary$ClassAndLoaderVisitor;
            1   12     2  tblSize  I
            2   11     3    index  I
            4    9     4    probe  Lsun/jvm/hotspot/memory/DictionaryEntry;
            6    7     5        k  Lsun/jvm/hotspot/oops/Klass;
    MethodParameters:
      Name  Flags
      v     

  public sun.jvm.hotspot.oops.Klass find(int, long, sun.jvm.hotspot.oops.Symbol, sun.jvm.hotspot.oops.Oop, sun.jvm.hotspot.oops.Oop);
    descriptor: (IJLsun/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=6, locals=8, args_size=6
        start local 0 // sun.jvm.hotspot.memory.Dictionary this
        start local 1 // int index
        start local 2 // long hash
        start local 4 // sun.jvm.hotspot.oops.Symbol className
        start local 5 // sun.jvm.hotspot.oops.Oop classLoader
        start local 6 // sun.jvm.hotspot.oops.Oop protectionDomain
         0: .line 87
            aload 0 /* this */
            iload 1 /* index */
            lload 2 /* hash */
            aload 4 /* className */
            aload 5 /* classLoader */
            invokevirtual sun.jvm.hotspot.memory.Dictionary.getEntry:(IJLsun/jvm/hotspot/oops/Symbol;Lsun/jvm/hotspot/oops/Oop;)Lsun/jvm/hotspot/memory/DictionaryEntry;
            astore 7 /* entry */
        start local 7 // sun.jvm.hotspot.memory.DictionaryEntry entry
         1: .line 88
            aload 7 /* entry */
            ifnull 3
            aload 7 /* entry */
            aload 6 /* protectionDomain */
            invokevirtual sun.jvm.hotspot.memory.DictionaryEntry.isValidProtectionDomain:(Lsun/jvm/hotspot/oops/Oop;)Z
            ifeq 3
         2: .line 89
            aload 7 /* entry */
            invokevirtual sun.jvm.hotspot.memory.DictionaryEntry.klass:()Lsun/jvm/hotspot/oops/Klass;
            areturn
         3: .line 91
      StackMap locals: sun.jvm.hotspot.memory.DictionaryEntry
      StackMap stack:
            aconst_null
            areturn
        end local 7 // sun.jvm.hotspot.memory.DictionaryEntry entry
        end local 6 // sun.jvm.hotspot.oops.Oop protectionDomain
        end local 5 // sun.jvm.hotspot.oops.Oop classLoader
        end local 4 // sun.jvm.hotspot.oops.Symbol className
        end local 2 // long hash
        end local 1 // int index
        end local 0 // sun.jvm.hotspot.memory.Dictionary this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lsun/jvm/hotspot/memory/Dictionary;
            0    4     1             index  I
            0    4     2              hash  J
            0    4     4         className  Lsun/jvm/hotspot/oops/Symbol;
            0    4     5       classLoader  Lsun/jvm/hotspot/oops/Oop;
            0    4     6  protectionDomain  Lsun/jvm/hotspot/oops/Oop;
            1    4     7             entry  Lsun/jvm/hotspot/memory/DictionaryEntry;
    MethodParameters:
                  Name  Flags
      index             
      hash              
      className         
      classLoader       
      protectionDomain  

  private sun.jvm.hotspot.memory.DictionaryEntry getEntry(int, long, sun.jvm.hotspot.oops.Symbol, sun.jvm.hotspot.oops.Oop);
    descriptor: (IJLsun/jvm/hotspot/oops/Symbol;Lsun/jvm/hotspot/oops/Oop;)Lsun/jvm/hotspot/memory/DictionaryEntry;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // sun.jvm.hotspot.memory.Dictionary this
        start local 1 // int index
        start local 2 // long hash
        start local 4 // sun.jvm.hotspot.oops.Symbol className
        start local 5 // sun.jvm.hotspot.oops.Oop classLoader
         0: .line 97
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual sun.jvm.hotspot.memory.Dictionary.bucket:(I)Lsun/jvm/hotspot/utilities/BasicHashtableEntry;
            checkcast sun.jvm.hotspot.memory.DictionaryEntry
            astore 6 /* entry */
        start local 6 // sun.jvm.hotspot.memory.DictionaryEntry entry
         1: goto 5
         2: .line 99
      StackMap locals: sun.jvm.hotspot.memory.DictionaryEntry
      StackMap stack:
            aload 6 /* entry */
            invokevirtual sun.jvm.hotspot.memory.DictionaryEntry.hash:()J
            lload 2 /* hash */
            lcmp
            ifne 4
            aload 6 /* entry */
            aload 4 /* className */
            aload 5 /* classLoader */
            invokevirtual sun.jvm.hotspot.memory.DictionaryEntry.equals:(Lsun/jvm/hotspot/oops/Symbol;Lsun/jvm/hotspot/oops/Oop;)Z
            ifeq 4
         3: .line 100
            aload 6 /* entry */
            areturn
         4: .line 98
      StackMap locals:
      StackMap stack:
            aload 6 /* entry */
            invokevirtual sun.jvm.hotspot.memory.DictionaryEntry.next:()Lsun/jvm/hotspot/utilities/BasicHashtableEntry;
            checkcast sun.jvm.hotspot.memory.DictionaryEntry
            astore 6 /* entry */
         5: .line 97
      StackMap locals:
      StackMap stack:
            aload 6 /* entry */
            ifnonnull 2
        end local 6 // sun.jvm.hotspot.memory.DictionaryEntry entry
         6: .line 103
            aconst_null
            areturn
        end local 5 // sun.jvm.hotspot.oops.Oop classLoader
        end local 4 // sun.jvm.hotspot.oops.Symbol className
        end local 2 // long hash
        end local 1 // int index
        end local 0 // sun.jvm.hotspot.memory.Dictionary this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lsun/jvm/hotspot/memory/Dictionary;
            0    7     1        index  I
            0    7     2         hash  J
            0    7     4    className  Lsun/jvm/hotspot/oops/Symbol;
            0    7     5  classLoader  Lsun/jvm/hotspot/oops/Oop;
            1    6     6        entry  Lsun/jvm/hotspot/memory/DictionaryEntry;
    MethodParameters:
             Name  Flags
      index        
      hash         
      className    
      classLoader  

  public boolean contains(sun.jvm.hotspot.oops.Klass, sun.jvm.hotspot.oops.Oop);
    descriptor: (Lsun/jvm/hotspot/oops/Klass;Lsun/jvm/hotspot/oops/Oop;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // sun.jvm.hotspot.memory.Dictionary this
        start local 1 // sun.jvm.hotspot.oops.Klass c
        start local 2 // sun.jvm.hotspot.oops.Oop classLoader
         0: .line 107
            aload 0 /* this */
            aload 1 /* c */
            invokevirtual sun.jvm.hotspot.oops.Klass.getName:()Lsun/jvm/hotspot/oops/Symbol;
            aload 2 /* classLoader */
            invokevirtual sun.jvm.hotspot.memory.Dictionary.computeHash:(Lsun/jvm/hotspot/oops/Symbol;Lsun/jvm/hotspot/oops/Oop;)J
            lstore 3 /* hash */
        start local 3 // long hash
         1: .line 108
            aload 0 /* this */
            lload 3 /* hash */
            invokevirtual sun.jvm.hotspot.memory.Dictionary.hashToIndex:(J)I
            istore 5 /* index */
        start local 5 // int index
         2: .line 110
            aload 0 /* this */
            iload 5 /* index */
            invokevirtual sun.jvm.hotspot.memory.Dictionary.bucket:(I)Lsun/jvm/hotspot/utilities/BasicHashtableEntry;
            checkcast sun.jvm.hotspot.memory.DictionaryEntry
            astore 6 /* entry */
        start local 6 // sun.jvm.hotspot.memory.DictionaryEntry entry
         3: goto 7
         4: .line 112
      StackMap locals: long int sun.jvm.hotspot.memory.DictionaryEntry
      StackMap stack:
            aload 6 /* entry */
            invokevirtual sun.jvm.hotspot.memory.DictionaryEntry.literalValue:()Lsun/jvm/hotspot/debugger/Address;
            aload 1 /* c */
            invokevirtual sun.jvm.hotspot.oops.Klass.getAddress:()Lsun/jvm/hotspot/debugger/Address;
            invokeinterface sun.jvm.hotspot.debugger.Address.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 113
            iconst_1
            ireturn
         6: .line 111
      StackMap locals:
      StackMap stack:
            aload 6 /* entry */
            invokevirtual sun.jvm.hotspot.memory.DictionaryEntry.next:()Lsun/jvm/hotspot/utilities/BasicHashtableEntry;
            checkcast sun.jvm.hotspot.memory.DictionaryEntry
            astore 6 /* entry */
         7: .line 110
      StackMap locals:
      StackMap stack:
            aload 6 /* entry */
            ifnonnull 4
        end local 6 // sun.jvm.hotspot.memory.DictionaryEntry entry
         8: .line 116
            iconst_0
            ireturn
        end local 5 // int index
        end local 3 // long hash
        end local 2 // sun.jvm.hotspot.oops.Oop classLoader
        end local 1 // sun.jvm.hotspot.oops.Klass c
        end local 0 // sun.jvm.hotspot.memory.Dictionary this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lsun/jvm/hotspot/memory/Dictionary;
            0    9     1            c  Lsun/jvm/hotspot/oops/Klass;
            0    9     2  classLoader  Lsun/jvm/hotspot/oops/Oop;
            1    9     3         hash  J
            2    9     5        index  I
            3    8     6        entry  Lsun/jvm/hotspot/memory/DictionaryEntry;
    MethodParameters:
             Name  Flags
      c            
      classLoader  
}
SourceFile: "Dictionary.java"
NestMembers:
  sun.jvm.hotspot.memory.Dictionary$1
InnerClasses:
  sun.jvm.hotspot.memory.Dictionary$1
  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