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