mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 07:14:30 +02:00
8202605: Standardize on ClassLoaderData::loader_name() throughout the VM to obtain a class loader's name
Introduced ClassLoaderData::name() and ClassLoaderData::name_and_id() for use when obtaining a class loader's name. Reviewed-by: coleenp, goetz, mchung, stuefe
This commit is contained in:
parent
731d9b1499
commit
425e1a8bb8
27 changed files with 243 additions and 171 deletions
|
@ -312,6 +312,10 @@ void Modules::define_module(jobject module, jboolean is_open, jstring version,
|
|||
"Class loader is an invalid delegating class loader");
|
||||
}
|
||||
Handle h_loader = Handle(THREAD, loader);
|
||||
// define_module can be called during start-up, before the class loader's ClassLoaderData
|
||||
// has been created. SystemDictionary::register_loader ensures creation, if needed.
|
||||
ClassLoaderData* loader_data = SystemDictionary::register_loader(h_loader);
|
||||
assert(loader_data != NULL, "class loader data shouldn't be null");
|
||||
|
||||
// Check that the list of packages has no duplicates and that the
|
||||
// packages are syntactically ok.
|
||||
|
@ -329,7 +333,7 @@ void Modules::define_module(jobject module, jboolean is_open, jstring version,
|
|||
!SystemDictionary::is_platform_class_loader(h_loader()) &&
|
||||
(strncmp(package_name, JAVAPKG, JAVAPKG_LEN) == 0 &&
|
||||
(package_name[JAVAPKG_LEN] == '/' || package_name[JAVAPKG_LEN] == '\0'))) {
|
||||
const char* class_loader_name = SystemDictionary::loader_name(h_loader());
|
||||
const char* class_loader_name = loader_data->loader_name_and_id();
|
||||
size_t pkg_len = strlen(package_name);
|
||||
char* pkg_name = NEW_RESOURCE_ARRAY_IN_THREAD(THREAD, char, pkg_len);
|
||||
strncpy(pkg_name, package_name, pkg_len);
|
||||
|
@ -373,9 +377,6 @@ void Modules::define_module(jobject module, jboolean is_open, jstring version,
|
|||
}
|
||||
}
|
||||
|
||||
ClassLoaderData* loader_data = ClassLoaderData::class_loader_data_or_null(h_loader());
|
||||
assert(loader_data != NULL, "class loader data shouldn't be null");
|
||||
|
||||
PackageEntryTable* package_table = NULL;
|
||||
PackageEntry* existing_pkg = NULL;
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue