< prev index next >

src/hotspot/share/classfile/dictionary.hpp

Print this page




  57 protected:
  58   static size_t entry_size();
  59 public:
  60   Dictionary(ClassLoaderData* loader_data, int table_size, bool resizable = false);
  61   Dictionary(ClassLoaderData* loader_data, int table_size, HashtableBucket<mtClass>* t, int number_of_entries, bool resizable = false);
  62   ~Dictionary();
  63 
  64   static bool does_any_dictionary_needs_resizing();
  65   bool resize_if_needed();
  66 
  67   DictionaryEntry* new_entry(unsigned int hash, InstanceKlass* klass);
  68 
  69   void add_klass(unsigned int hash, Symbol* class_name, InstanceKlass* obj);
  70 
  71   InstanceKlass* find_class(int index, unsigned int hash, Symbol* name);
  72 
  73   InstanceKlass* find_shared_class(int index, unsigned int hash, Symbol* name);
  74 
  75   void classes_do(void f(InstanceKlass*));
  76   void classes_do(void f(InstanceKlass*, TRAPS), TRAPS);
  77   void all_entries_do(void f(InstanceKlass*, ClassLoaderData*));
  78   void classes_do(MetaspaceClosure* it);
  79 
  80   void unlink();
  81   void remove_classes_in_error_state();
  82 
  83   // Unload classes whose defining loaders are unloaded
  84   void do_unloading();
  85 
  86   // Protection domains
  87   InstanceKlass* find(unsigned int hash, Symbol* name, Handle protection_domain);
  88   bool is_valid_protection_domain(unsigned int hash,
  89                                   Symbol* name,
  90                                   Handle protection_domain);
  91   void add_protection_domain(int index, unsigned int hash,
  92                              InstanceKlass* klass,
  93                              Handle protection_domain, TRAPS);
  94 
  95   // Sharing support
  96   void reorder_dictionary_for_sharing() NOT_CDS_RETURN;
  97 




  57 protected:
  58   static size_t entry_size();
  59 public:
  60   Dictionary(ClassLoaderData* loader_data, int table_size, bool resizable = false);
  61   Dictionary(ClassLoaderData* loader_data, int table_size, HashtableBucket<mtClass>* t, int number_of_entries, bool resizable = false);
  62   ~Dictionary();
  63 
  64   static bool does_any_dictionary_needs_resizing();
  65   bool resize_if_needed();
  66 
  67   DictionaryEntry* new_entry(unsigned int hash, InstanceKlass* klass);
  68 
  69   void add_klass(unsigned int hash, Symbol* class_name, InstanceKlass* obj);
  70 
  71   InstanceKlass* find_class(int index, unsigned int hash, Symbol* name);
  72 
  73   InstanceKlass* find_shared_class(int index, unsigned int hash, Symbol* name);
  74 
  75   void classes_do(void f(InstanceKlass*));
  76   void classes_do(void f(InstanceKlass*, TRAPS), TRAPS);
  77   void all_entries_do(KlassClosure* closure);
  78   void classes_do(MetaspaceClosure* it);
  79 
  80   void unlink();
  81   void remove_classes_in_error_state();
  82 
  83   // Unload classes whose defining loaders are unloaded
  84   void do_unloading();
  85 
  86   // Protection domains
  87   InstanceKlass* find(unsigned int hash, Symbol* name, Handle protection_domain);
  88   bool is_valid_protection_domain(unsigned int hash,
  89                                   Symbol* name,
  90                                   Handle protection_domain);
  91   void add_protection_domain(int index, unsigned int hash,
  92                              InstanceKlass* klass,
  93                              Handle protection_domain, TRAPS);
  94 
  95   // Sharing support
  96   void reorder_dictionary_for_sharing() NOT_CDS_RETURN;
  97 


< prev index next >