src/hotspot/share/classfile/dictionary.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File webrev Cdiff src/hotspot/share/classfile/dictionary.hpp

src/hotspot/share/classfile/dictionary.hpp

Print this page

        

*** 41,65 **** // dictionary). class Dictionary : public Hashtable<InstanceKlass*, mtClass> { friend class VMStructs; ClassLoaderData* _loader_data; // backpointer to owning loader ClassLoaderData* loader_data() const { return _loader_data; } DictionaryEntry* get_entry(int index, unsigned int hash, Symbol* name); protected: static size_t entry_size(); public: ! Dictionary(ClassLoaderData* loader_data, int table_size); ! Dictionary(ClassLoaderData* loader_data, int table_size, HashtableBucket<mtClass>* t, int number_of_entries); ~Dictionary(); DictionaryEntry* new_entry(unsigned int hash, InstanceKlass* klass); ! void add_klass(int index, unsigned int hash, Symbol* class_name, InstanceKlass* obj); InstanceKlass* find_class(int index, unsigned int hash, Symbol* name); InstanceKlass* find_shared_class(int index, unsigned int hash, Symbol* name); --- 41,73 ---- // dictionary). class Dictionary : public Hashtable<InstanceKlass*, mtClass> { friend class VMStructs; + static bool _some_dictionary_needs_resizing; + bool _resizable; + bool _needs_resizing; + void check_if_needs_resize(); + ClassLoaderData* _loader_data; // backpointer to owning loader ClassLoaderData* loader_data() const { return _loader_data; } DictionaryEntry* get_entry(int index, unsigned int hash, Symbol* name); protected: static size_t entry_size(); public: ! Dictionary(ClassLoaderData* loader_data, int table_size, bool resizable = false); ! Dictionary(ClassLoaderData* loader_data, int table_size, HashtableBucket<mtClass>* t, int number_of_entries, bool resizable = false); ~Dictionary(); + static bool does_any_dictionary_needs_resizing(); + bool resize_if_needed(); + DictionaryEntry* new_entry(unsigned int hash, InstanceKlass* klass); ! void add_klass(unsigned int hash, Symbol* class_name, InstanceKlass* obj); InstanceKlass* find_class(int index, unsigned int hash, Symbol* name); InstanceKlass* find_shared_class(int index, unsigned int hash, Symbol* name);
*** 77,88 **** // Unload classes whose defining loaders are unloaded void do_unloading(); // Protection domains ! InstanceKlass* find(int index, unsigned int hash, Symbol* name, Handle protection_domain); ! bool is_valid_protection_domain(int index, unsigned int hash, Symbol* name, Handle protection_domain); void add_protection_domain(int index, unsigned int hash, InstanceKlass* klass, Handle protection_domain, TRAPS); --- 85,96 ---- // Unload classes whose defining loaders are unloaded void do_unloading(); // Protection domains ! InstanceKlass* find(unsigned int hash, Symbol* name, Handle protection_domain); ! bool is_valid_protection_domain(unsigned int hash, Symbol* name, Handle protection_domain); void add_protection_domain(int index, unsigned int hash, InstanceKlass* klass, Handle protection_domain, TRAPS);
src/hotspot/share/classfile/dictionary.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File