hotspot/src/share/vm/classfile/systemDictionary.hpp
changeset 13195 be27e1b6a4b9
parent 12957 f3cc386f349e
child 13391 30245956af37
equal deleted inserted replaced
13099:64752e56d721 13195:be27e1b6a4b9
    30 #include "oops/objArrayOop.hpp"
    30 #include "oops/objArrayOop.hpp"
    31 #include "oops/symbol.hpp"
    31 #include "oops/symbol.hpp"
    32 #include "runtime/java.hpp"
    32 #include "runtime/java.hpp"
    33 #include "runtime/reflectionUtils.hpp"
    33 #include "runtime/reflectionUtils.hpp"
    34 #include "utilities/hashtable.hpp"
    34 #include "utilities/hashtable.hpp"
       
    35 #include "utilities/hashtable.inline.hpp"
    35 
    36 
    36 // The system dictionary stores all loaded classes and maps:
    37 // The system dictionary stores all loaded classes and maps:
    37 //
    38 //
    38 //   [class name,class loader] -> class   i.e.  [Symbol*,oop] -> klassOop
    39 //   [class name,class loader] -> class   i.e.  [Symbol*,oop] -> klassOop
    39 //
    40 //
    70 //
    71 //
    71 
    72 
    72 class Dictionary;
    73 class Dictionary;
    73 class PlaceholderTable;
    74 class PlaceholderTable;
    74 class LoaderConstraintTable;
    75 class LoaderConstraintTable;
    75 class HashtableBucket;
    76 template <MEMFLAGS F> class HashtableBucket;
    76 class ResolutionErrorTable;
    77 class ResolutionErrorTable;
    77 class SymbolPropertyTable;
    78 class SymbolPropertyTable;
    78 
    79 
    79 // Certain classes are preloaded, such as java.lang.Object and java.lang.String.
    80 // Certain classes are preloaded, such as java.lang.Object and java.lang.String.
    80 // They are all "well-known", in the sense that no class loader is allowed
    81 // They are all "well-known", in the sense that no class loader is allowed
   361   // Sharing support.
   362   // Sharing support.
   362   static void reorder_dictionary();
   363   static void reorder_dictionary();
   363   static void copy_buckets(char** top, char* end);
   364   static void copy_buckets(char** top, char* end);
   364   static void copy_table(char** top, char* end);
   365   static void copy_table(char** top, char* end);
   365   static void reverse();
   366   static void reverse();
   366   static void set_shared_dictionary(HashtableBucket* t, int length,
   367   static void set_shared_dictionary(HashtableBucket<mtClass>* t, int length,
   367                                     int number_of_entries);
   368                                     int number_of_entries);
   368   // Printing
   369   // Printing
   369   static void print()                   PRODUCT_RETURN;
   370   static void print()                   PRODUCT_RETURN;
   370   static void print_class_statistics()  PRODUCT_RETURN;
   371   static void print_class_statistics()  PRODUCT_RETURN;
   371   static void print_method_statistics() PRODUCT_RETURN;
   372   static void print_method_statistics() PRODUCT_RETURN;