8008549: NPG: SystemDictionary::find(...) unnecessarily keeps class loaders alive

SystemDictionary::find(...) should not create and register ClassLoaderData objects for class loaders.

Co-authored-by: Erik Helin <erik.helin@oracle.com>
Reviewed-by: coleenp, acorn
This commit is contained in:
Stefan Karlsson 2013-02-21 17:22:15 +01:00
parent 1a74b23a2f
commit 9ed09d08f5
4 changed files with 20 additions and 6 deletions

View file

@ -347,6 +347,7 @@ void Dictionary::add_klass(Symbol* class_name, ClassLoaderData* loader_data,
assert_locked_or_safepoint(SystemDictionary_lock);
assert(obj() != NULL, "adding NULL obj");
assert(obj()->name() == class_name, "sanity check on name");
assert(loader_data != NULL, "Must be non-NULL");
unsigned int hash = compute_hash(class_name, loader_data);
int index = hash_to_index(hash);