8240204: Optimize package handling for archived classes

ClassLoader::add_package just sets classpath_index to PackageEntry, moved the code to InstanceKlass. Also avoid calling check_prohibited_package since CDS does not archive prohibited classe in set_package.

Reviewed-by: hseigel, lfoltan, redestad, iklam
This commit is contained in:
Yumin Qi 2020-04-20 16:36:15 -07:00
parent 8da1ee7833
commit 7b8c373494
6 changed files with 34 additions and 45 deletions

View file

@ -1357,7 +1357,7 @@ void SystemDictionary::load_shared_class_misc(InstanceKlass* ik, ClassLoaderData
// package was loaded.
if (loader_data->is_the_null_class_loader_data()) {
int path_index = ik->shared_classpath_index();
ClassLoader::add_package(ik, path_index, THREAD);
ik->set_classpath_index(path_index, THREAD);
}
if (DumpLoadedClassList != NULL && classlist_file->is_open()) {