equal
deleted
inserted
replaced
242 const char *pkg_name = ClassLoader::package_from_name(class_name); |
242 const char *pkg_name = ClassLoader::package_from_name(class_name); |
243 if (pkg_name == NULL) { |
243 if (pkg_name == NULL) { |
244 return NULL; |
244 return NULL; |
245 } |
245 } |
246 PackageEntryTable* pkgEntryTable = loader_data->packages(); |
246 PackageEntryTable* pkgEntryTable = loader_data->packages(); |
247 TempNewSymbol pkg_symbol = SymbolTable::new_symbol(pkg_name, CHECK_NULL); |
247 TempNewSymbol pkg_symbol = SymbolTable::new_symbol(pkg_name); |
248 return pkgEntryTable->lookup_only(pkg_symbol); |
248 return pkgEntryTable->lookup_only(pkg_symbol); |
249 } |
249 } |
250 |
250 |
251 ClassPathDirEntry::ClassPathDirEntry(const char* dir) : ClassPathEntry() { |
251 ClassPathDirEntry::ClassPathDirEntry(const char* dir) : ClassPathEntry() { |
252 char* copy = NEW_C_HEAP_ARRAY(char, strlen(dir)+1, mtClass); |
252 char* copy = NEW_C_HEAP_ARRAY(char, strlen(dir)+1, mtClass); |
644 // Set up the boot loader's _patch_mod_entries list |
644 // Set up the boot loader's _patch_mod_entries list |
645 _patch_mod_entries = new (ResourceObj::C_HEAP, mtModule) GrowableArray<ModuleClassPathList*>(num_of_entries, true); |
645 _patch_mod_entries = new (ResourceObj::C_HEAP, mtModule) GrowableArray<ModuleClassPathList*>(num_of_entries, true); |
646 |
646 |
647 for (int i = 0; i < num_of_entries; i++) { |
647 for (int i = 0; i < num_of_entries; i++) { |
648 const char* module_name = (patch_mod_args->at(i))->module_name(); |
648 const char* module_name = (patch_mod_args->at(i))->module_name(); |
649 Symbol* const module_sym = SymbolTable::lookup(module_name, (int)strlen(module_name), CHECK); |
649 Symbol* const module_sym = SymbolTable::new_symbol(module_name); |
650 assert(module_sym != NULL, "Failed to obtain Symbol for module name"); |
650 assert(module_sym != NULL, "Failed to obtain Symbol for module name"); |
651 ModuleClassPathList* module_cpl = new ModuleClassPathList(module_sym); |
651 ModuleClassPathList* module_cpl = new ModuleClassPathList(module_sym); |
652 |
652 |
653 char* class_path = (patch_mod_args->at(i))->path_string(); |
653 char* class_path = (patch_mod_args->at(i))->path_string(); |
654 int len = (int)strlen(class_path); |
654 int len = (int)strlen(class_path); |
1124 // Get package name from fully qualified class name. |
1124 // Get package name from fully qualified class name. |
1125 ResourceMark rm; |
1125 ResourceMark rm; |
1126 const char *cp = package_from_name(fullq_class_name); |
1126 const char *cp = package_from_name(fullq_class_name); |
1127 if (cp != NULL) { |
1127 if (cp != NULL) { |
1128 PackageEntryTable* pkg_entry_tbl = ClassLoaderData::the_null_class_loader_data()->packages(); |
1128 PackageEntryTable* pkg_entry_tbl = ClassLoaderData::the_null_class_loader_data()->packages(); |
1129 TempNewSymbol pkg_symbol = SymbolTable::new_symbol(cp, CHECK_false); |
1129 TempNewSymbol pkg_symbol = SymbolTable::new_symbol(cp); |
1130 PackageEntry* pkg_entry = pkg_entry_tbl->lookup_only(pkg_symbol); |
1130 PackageEntry* pkg_entry = pkg_entry_tbl->lookup_only(pkg_symbol); |
1131 if (pkg_entry != NULL) { |
1131 if (pkg_entry != NULL) { |
1132 assert(classpath_index != -1, "Unexpected classpath_index"); |
1132 assert(classpath_index != -1, "Unexpected classpath_index"); |
1133 pkg_entry->set_classpath_index(classpath_index); |
1133 pkg_entry->set_classpath_index(classpath_index); |
1134 } else { |
1134 } else { |
1139 } |
1139 } |
1140 |
1140 |
1141 oop ClassLoader::get_system_package(const char* name, TRAPS) { |
1141 oop ClassLoader::get_system_package(const char* name, TRAPS) { |
1142 // Look up the name in the boot loader's package entry table. |
1142 // Look up the name in the boot loader's package entry table. |
1143 if (name != NULL) { |
1143 if (name != NULL) { |
1144 TempNewSymbol package_sym = SymbolTable::new_symbol(name, (int)strlen(name), CHECK_NULL); |
1144 TempNewSymbol package_sym = SymbolTable::new_symbol(name); |
1145 // Look for the package entry in the boot loader's package entry table. |
1145 // Look for the package entry in the boot loader's package entry table. |
1146 PackageEntry* package = |
1146 PackageEntry* package = |
1147 ClassLoaderData::the_null_class_loader_data()->packages()->lookup_only(package_sym); |
1147 ClassLoaderData::the_null_class_loader_data()->packages()->lookup_only(package_sym); |
1148 |
1148 |
1149 // Return NULL if package does not exist or if no classes in that package |
1149 // Return NULL if package does not exist or if no classes in that package |