2233 check_prohibited_package(name(), loader_data->class_loader(), CHECK); 2234 2235 TempNewSymbol pkg_name = package_from_name(name(), CHECK); 2236 2237 if (pkg_name != NULL && loader_data != NULL) { 2238 2239 // Find in class loader's package entry table. 2240 _package_entry = loader_data->packages()->lookup_only(pkg_name); 2241 2242 // If the package name is not found in the loader's package 2243 // entry table, it is an indication that the package has not 2244 // been defined. Consider it defined within the unnamed module. 2245 if (_package_entry == NULL) { 2246 ResourceMark rm; 2247 2248 if (!ModuleEntryTable::javabase_defined()) { 2249 // Before java.base is defined during bootstrapping, define all packages in 2250 // the java.base module. If a non-java.base package is erroneously placed 2251 // in the java.base module it will be caught later when java.base 2252 // is defined by ModuleEntryTable::verify_javabase_packages check. 2253 assert(ModuleEntryTable::javabase_module() != NULL, "java.base module is NULL"); 2254 _package_entry = loader_data->packages()->lookup(pkg_name, ModuleEntryTable::javabase_module()); 2255 } else { 2256 assert(loader_data->modules()->unnamed_module() != NULL, "unnamed module is NULL"); 2257 _package_entry = loader_data->packages()->lookup(pkg_name, 2258 loader_data->modules()->unnamed_module()); 2259 } 2260 2261 // A package should have been successfully created 2262 assert(_package_entry != NULL, "Package entry for class %s not found, loader %s", 2263 name()->as_C_string(), loader_data->loader_name()); 2264 } 2265 2266 if (log_is_enabled(Debug, modules)) { 2267 ResourceMark rm; 2268 ModuleEntry* m = _package_entry->module(); 2269 log_trace(modules)("Setting package: class: %s, package: %s, loader: %s, module: %s", 2270 external_name(), 2271 pkg_name->as_C_string(), 2272 loader_data->loader_name(), 2273 (m->is_named() ? m->name()->as_C_string() : UNNAMED_MODULE)); 2274 } | 2233 check_prohibited_package(name(), loader_data->class_loader(), CHECK); 2234 2235 TempNewSymbol pkg_name = package_from_name(name(), CHECK); 2236 2237 if (pkg_name != NULL && loader_data != NULL) { 2238 2239 // Find in class loader's package entry table. 2240 _package_entry = loader_data->packages()->lookup_only(pkg_name); 2241 2242 // If the package name is not found in the loader's package 2243 // entry table, it is an indication that the package has not 2244 // been defined. Consider it defined within the unnamed module. 2245 if (_package_entry == NULL) { 2246 ResourceMark rm; 2247 2248 if (!ModuleEntryTable::javabase_defined()) { 2249 // Before java.base is defined during bootstrapping, define all packages in 2250 // the java.base module. If a non-java.base package is erroneously placed 2251 // in the java.base module it will be caught later when java.base 2252 // is defined by ModuleEntryTable::verify_javabase_packages check. 2253 assert(ModuleEntryTable::javabase_moduleEntry() != NULL, "java.base module is NULL"); 2254 _package_entry = loader_data->packages()->lookup(pkg_name, ModuleEntryTable::javabase_moduleEntry()); 2255 } else { 2256 assert(loader_data->modules()->unnamed_module() != NULL, "unnamed module is NULL"); 2257 _package_entry = loader_data->packages()->lookup(pkg_name, 2258 loader_data->modules()->unnamed_module()); 2259 } 2260 2261 // A package should have been successfully created 2262 assert(_package_entry != NULL, "Package entry for class %s not found, loader %s", 2263 name()->as_C_string(), loader_data->loader_name()); 2264 } 2265 2266 if (log_is_enabled(Debug, modules)) { 2267 ResourceMark rm; 2268 ModuleEntry* m = _package_entry->module(); 2269 log_trace(modules)("Setting package: class: %s, package: %s, loader: %s, module: %s", 2270 external_name(), 2271 pkg_name->as_C_string(), 2272 loader_data->loader_name(), 2273 (m->is_named() ? m->name()->as_C_string() : UNNAMED_MODULE)); 2274 } |