< prev index next >
src/hotspot/share/classfile/systemDictionaryShared.cpp
Print this page
*** 869,879 ****
--- 869,889 ----
//
// Note that if an element of these 3 _shared_xxx arrays is NULL, it will be initialized by
// the corresponding SystemDictionaryShared::get_shared_xxx() function.
Handle manifest = get_shared_jar_manifest(index, CHECK_(pd));
Handle url = get_shared_jar_url(index, CHECK_(pd));
+ int index_offset = index - ClassLoaderExt::app_class_paths_start_index();
+ if (index_offset < MAX_BITMAP_BITS) {
+ if (pkg_entry == NULL || !pkg_entry->is_defined_by_cds_in_class_path(index_offset)) {
define_shared_package(class_name, class_loader, manifest, url, CHECK_(pd));
+ if (pkg_entry != NULL) {
+ pkg_entry->set_defined_in_class_path(index_offset);
+ }
+ }
+ } else {
+ define_shared_package(class_name, class_loader, manifest, url, CHECK_(pd));
+ }
pd = get_shared_protection_domain(class_loader, index, url, CHECK_(pd));
}
}
return pd;
}
< prev index next >