7133093: Improve system dictionary performance

Implement one dictionary per ClassLoaderData for faster lookup and removal during class unloading

Reviewed-by: iklam, acorn, jiangli
This commit is contained in:
Coleen Phillimore 2017-07-28 10:48:35 -04:00
parent b170f01ddd
commit a1f70549e4
52 changed files with 781 additions and 1466 deletions

View file

@ -198,12 +198,7 @@ PackageEntryTable::~PackageEntryTable() {
PackageEntry* PackageEntryTable::new_entry(unsigned int hash, Symbol* name, ModuleEntry* module) {
assert(Module_lock->owned_by_self(), "should have the Module_lock");
PackageEntry* entry = (PackageEntry*) NEW_C_HEAP_ARRAY(char, entry_size(), mtModule);
// Initialize everything BasicHashtable would
entry->set_next(NULL);
entry->set_hash(hash);
entry->set_literal(name);
PackageEntry* entry = (PackageEntry*)Hashtable<Symbol*, mtModule>::allocate_new_entry(hash, name);
TRACE_INIT_ID(entry);