< prev index next >

src/hotspot/share/classfile/dictionary.hpp

Print this page




  44 
  45   static bool _some_dictionary_needs_resizing;
  46   bool _resizable;
  47   bool _needs_resizing;
  48   void check_if_needs_resize();
  49 
  50   ClassLoaderData* _loader_data;  // backpointer to owning loader
  51   ClassLoaderData* loader_data() const { return _loader_data; }
  52 
  53   DictionaryEntry* get_entry(int index, unsigned int hash, Symbol* name);
  54 
  55 public:
  56   Dictionary(ClassLoaderData* loader_data, int table_size, bool resizable = false);
  57   Dictionary(ClassLoaderData* loader_data, int table_size, HashtableBucket<mtClass>* t, int number_of_entries, bool resizable = false);
  58   ~Dictionary();
  59 
  60   static bool does_any_dictionary_needs_resizing();
  61   bool resize_if_needed();
  62 
  63   void add_klass(unsigned int hash, Symbol* class_name, InstanceKlass* obj);


  64 
  65   InstanceKlass* find_class(int index, unsigned int hash, Symbol* name);
  66 
  67   void classes_do(void f(InstanceKlass*));
  68   void classes_do(void f(InstanceKlass*, TRAPS), TRAPS);
  69   void all_entries_do(KlassClosure* closure);
  70   void classes_do(MetaspaceClosure* it);
  71 
  72   void clean_cached_protection_domains();
  73 
  74   // Protection domains
  75   InstanceKlass* find(unsigned int hash, Symbol* name, Handle protection_domain);
  76   bool is_valid_protection_domain(unsigned int hash,
  77                                   Symbol* name,
  78                                   Handle protection_domain);
  79   void add_protection_domain(int index, unsigned int hash,
  80                              InstanceKlass* klass,
  81                              Handle protection_domain, TRAPS);
  82 
  83   void print_on(outputStream* st) const;




  44 
  45   static bool _some_dictionary_needs_resizing;
  46   bool _resizable;
  47   bool _needs_resizing;
  48   void check_if_needs_resize();
  49 
  50   ClassLoaderData* _loader_data;  // backpointer to owning loader
  51   ClassLoaderData* loader_data() const { return _loader_data; }
  52 
  53   DictionaryEntry* get_entry(int index, unsigned int hash, Symbol* name);
  54 
  55 public:
  56   Dictionary(ClassLoaderData* loader_data, int table_size, bool resizable = false);
  57   Dictionary(ClassLoaderData* loader_data, int table_size, HashtableBucket<mtClass>* t, int number_of_entries, bool resizable = false);
  58   ~Dictionary();
  59 
  60   static bool does_any_dictionary_needs_resizing();
  61   bool resize_if_needed();
  62 
  63   void add_klass(unsigned int hash, Symbol* class_name, InstanceKlass* obj);
  64   // replace the existing class with k, return old class.
  65   InstanceKlass* replace_class(int index, unsigned hash, Symbol* class_name, InstanceKlass* k);
  66 
  67   InstanceKlass* find_class(int index, unsigned int hash, Symbol* name);
  68 
  69   void classes_do(void f(InstanceKlass*));
  70   void classes_do(void f(InstanceKlass*, TRAPS), TRAPS);
  71   void all_entries_do(KlassClosure* closure);
  72   void classes_do(MetaspaceClosure* it);
  73 
  74   void clean_cached_protection_domains();
  75 
  76   // Protection domains
  77   InstanceKlass* find(unsigned int hash, Symbol* name, Handle protection_domain);
  78   bool is_valid_protection_domain(unsigned int hash,
  79                                   Symbol* name,
  80                                   Handle protection_domain);
  81   void add_protection_domain(int index, unsigned int hash,
  82                              InstanceKlass* klass,
  83                              Handle protection_domain, TRAPS);
  84 
  85   void print_on(outputStream* st) const;


< prev index next >