public class sun.jvm.hotspot.utilities.SystemDictionaryHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.jvm.hotspot.utilities.SystemDictionaryHelper
  super_class: java.lang.Object
{
  private static sun.jvm.hotspot.oops.InstanceKlass[] klasses;
    descriptor: [Lsun/jvm/hotspot/oops/InstanceKlass;
    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 37
            new sun.jvm.hotspot.utilities.SystemDictionaryHelper$1
            dup
            invokespecial sun.jvm.hotspot.utilities.SystemDictionaryHelper$1.<init>:()V
            invokestatic sun.jvm.hotspot.runtime.VM.registerVMInitializedObserver:(Lsun/jvm/hotspot/utilities/Observer;)V
         1: .line 49
            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.utilities.SystemDictionaryHelper this
         0: .line 35
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.jvm.hotspot.utilities.SystemDictionaryHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/utilities/SystemDictionaryHelper;

  private static synchronized void initialize();
    descriptor: ()V
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=0, args_size=0
         0: .line 45
            aconst_null
            putstatic sun.jvm.hotspot.utilities.SystemDictionaryHelper.klasses:[Lsun/jvm/hotspot/oops/InstanceKlass;
         1: .line 46
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static synchronized sun.jvm.hotspot.oops.InstanceKlass[] getAllInstanceKlasses();
    descriptor: ()[Lsun/jvm/hotspot/oops/InstanceKlass;
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=3, args_size=0
         0: .line 53
            getstatic sun.jvm.hotspot.utilities.SystemDictionaryHelper.klasses:[Lsun/jvm/hotspot/oops/InstanceKlass;
            ifnull 2
         1: .line 54
            getstatic sun.jvm.hotspot.utilities.SystemDictionaryHelper.klasses:[Lsun/jvm/hotspot/oops/InstanceKlass;
            areturn
         2: .line 57
      StackMap locals:
      StackMap stack:
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 0 /* tmp */
        start local 0 // java.util.Vector tmp
         3: .line 58
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getClassLoaderDataGraph:()Lsun/jvm/hotspot/classfile/ClassLoaderDataGraph;
            astore 1 /* cldg */
        start local 1 // sun.jvm.hotspot.classfile.ClassLoaderDataGraph cldg
         4: .line 59
            aload 1 /* cldg */
            new sun.jvm.hotspot.utilities.SystemDictionaryHelper$2
            dup
            aload 0 /* tmp */
            invokespecial sun.jvm.hotspot.utilities.SystemDictionaryHelper$2.<init>:(Ljava/util/Vector;)V
            invokevirtual sun.jvm.hotspot.classfile.ClassLoaderDataGraph.classesDo:(Lsun/jvm/hotspot/classfile/ClassLoaderDataGraph$ClassVisitor;)V
         5: .line 68
            aload 0 /* tmp */
            invokevirtual java.util.Vector.toArray:()[Ljava/lang/Object;
            astore 2 /* tmpArray */
        start local 2 // java.lang.Object[] tmpArray
         6: .line 69
            aload 2 /* tmpArray */
            arraylength
            anewarray sun.jvm.hotspot.oops.InstanceKlass
            putstatic sun.jvm.hotspot.utilities.SystemDictionaryHelper.klasses:[Lsun/jvm/hotspot/oops/InstanceKlass;
         7: .line 70
            aload 2 /* tmpArray */
            iconst_0
            getstatic sun.jvm.hotspot.utilities.SystemDictionaryHelper.klasses:[Lsun/jvm/hotspot/oops/InstanceKlass;
            iconst_0
            aload 2 /* tmpArray */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         8: .line 71
            getstatic sun.jvm.hotspot.utilities.SystemDictionaryHelper.klasses:[Lsun/jvm/hotspot/oops/InstanceKlass;
            new sun.jvm.hotspot.utilities.SystemDictionaryHelper$3
            dup
            invokespecial sun.jvm.hotspot.utilities.SystemDictionaryHelper$3.<init>:()V
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
         9: .line 78
            getstatic sun.jvm.hotspot.utilities.SystemDictionaryHelper.klasses:[Lsun/jvm/hotspot/oops/InstanceKlass;
            areturn
        end local 2 // java.lang.Object[] tmpArray
        end local 1 // sun.jvm.hotspot.classfile.ClassLoaderDataGraph cldg
        end local 0 // java.util.Vector tmp
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            3   10     0       tmp  Ljava/util/Vector<Lsun/jvm/hotspot/oops/InstanceKlass;>;
            4   10     1      cldg  Lsun/jvm/hotspot/classfile/ClassLoaderDataGraph;
            6   10     2  tmpArray  [Ljava/lang/Object;

  public static sun.jvm.hotspot.oops.InstanceKlass[] findInstanceKlasses(java.lang.String);
    descriptor: (Ljava/lang/String;)[Lsun/jvm/hotspot/oops/InstanceKlass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // java.lang.String namePart
         0: .line 83
            aload 0 /* namePart */
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 0 /* namePart */
         1: .line 84
            invokestatic sun.jvm.hotspot.utilities.SystemDictionaryHelper.getAllInstanceKlasses:()[Lsun/jvm/hotspot/oops/InstanceKlass;
            astore 1 /* tmpKlasses */
        start local 1 // sun.jvm.hotspot.oops.InstanceKlass[] tmpKlasses
         2: .line 86
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 2 /* tmp */
        start local 2 // java.util.Vector tmp
         3: .line 87
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 88
      StackMap locals: sun.jvm.hotspot.oops.InstanceKlass[] java.util.Vector int
      StackMap stack:
            aload 1 /* tmpKlasses */
            iload 3 /* i */
            aaload
            invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getName:()Lsun/jvm/hotspot/oops/Symbol;
            invokevirtual sun.jvm.hotspot.oops.Symbol.asString:()Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
         6: .line 89
            aload 4 /* name */
            aload 0 /* namePart */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmpeq 8
         7: .line 90
            aload 2 /* tmp */
            aload 1 /* tmpKlasses */
            iload 3 /* i */
            aaload
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String name
         8: .line 87
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            aload 1 /* tmpKlasses */
            arraylength
            if_icmplt 5
        end local 3 // int i
        10: .line 94
            aload 2 /* tmp */
            invokevirtual java.util.Vector.toArray:()[Ljava/lang/Object;
            astore 3 /* tmpArray */
        start local 3 // java.lang.Object[] tmpArray
        11: .line 95
            aload 3 /* tmpArray */
            arraylength
            anewarray sun.jvm.hotspot.oops.InstanceKlass
            astore 4 /* searchResult */
        start local 4 // sun.jvm.hotspot.oops.InstanceKlass[] searchResult
        12: .line 96
            aload 3 /* tmpArray */
            iconst_0
            aload 4 /* searchResult */
            iconst_0
            aload 3 /* tmpArray */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        13: .line 97
            aload 4 /* searchResult */
            areturn
        end local 4 // sun.jvm.hotspot.oops.InstanceKlass[] searchResult
        end local 3 // java.lang.Object[] tmpArray
        end local 2 // java.util.Vector tmp
        end local 1 // sun.jvm.hotspot.oops.InstanceKlass[] tmpKlasses
        end local 0 // java.lang.String namePart
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0      namePart  Ljava/lang/String;
            2   14     1    tmpKlasses  [Lsun/jvm/hotspot/oops/InstanceKlass;
            3   14     2           tmp  Ljava/util/Vector<Lsun/jvm/hotspot/oops/InstanceKlass;>;
            4   10     3             i  I
            6    8     4          name  Ljava/lang/String;
           11   14     3      tmpArray  [Ljava/lang/Object;
           12   14     4  searchResult  [Lsun/jvm/hotspot/oops/InstanceKlass;
    MethodParameters:
          Name  Flags
      namePart  

  public static sun.jvm.hotspot.oops.InstanceKlass findInstanceKlass(java.lang.String);
    descriptor: (Ljava/lang/String;)Lsun/jvm/hotspot/oops/InstanceKlass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.String className
         0: .line 103
            aload 0 /* className */
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 0 /* className */
         1: .line 104
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getClassLoaderDataGraph:()Lsun/jvm/hotspot/classfile/ClassLoaderDataGraph;
            astore 1 /* cldg */
        start local 1 // sun.jvm.hotspot.classfile.ClassLoaderDataGraph cldg
         2: .line 107
            aload 1 /* cldg */
            aload 0 /* className */
            invokevirtual sun.jvm.hotspot.classfile.ClassLoaderDataGraph.find:(Ljava/lang/String;)Lsun/jvm/hotspot/oops/Klass;
            astore 2 /* klass */
        start local 2 // sun.jvm.hotspot.oops.Klass klass
         3: .line 108
            aload 2 /* klass */
            ifnull 5
            aload 2 /* klass */
            instanceof sun.jvm.hotspot.oops.InstanceKlass
            ifeq 5
         4: .line 109
            aload 2 /* klass */
            checkcast sun.jvm.hotspot.oops.InstanceKlass
            areturn
         5: .line 112
      StackMap locals: sun.jvm.hotspot.classfile.ClassLoaderDataGraph sun.jvm.hotspot.oops.Klass
      StackMap stack:
            aconst_null
            areturn
        end local 2 // sun.jvm.hotspot.oops.Klass klass
        end local 1 // sun.jvm.hotspot.classfile.ClassLoaderDataGraph cldg
        end local 0 // java.lang.String className
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0  className  Ljava/lang/String;
            2    6     1       cldg  Lsun/jvm/hotspot/classfile/ClassLoaderDataGraph;
            3    6     2      klass  Lsun/jvm/hotspot/oops/Klass;
    MethodParameters:
           Name  Flags
      className  
}
SourceFile: "SystemDictionaryHelper.java"
NestMembers:
  sun.jvm.hotspot.utilities.SystemDictionaryHelper$1  sun.jvm.hotspot.utilities.SystemDictionaryHelper$2  sun.jvm.hotspot.utilities.SystemDictionaryHelper$3
InnerClasses:
  public abstract ClassVisitor = sun.jvm.hotspot.classfile.ClassLoaderDataGraph$ClassVisitor of sun.jvm.hotspot.classfile.ClassLoaderDataGraph
  sun.jvm.hotspot.utilities.SystemDictionaryHelper$1
  sun.jvm.hotspot.utilities.SystemDictionaryHelper$2
  sun.jvm.hotspot.utilities.SystemDictionaryHelper$3