src/hotspot/share/classfile/classLoaderExt.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
*** old/src/hotspot/share/classfile/classLoaderExt.cpp Mon Apr 9 15:29:54 2018
--- new/src/hotspot/share/classfile/classLoaderExt.cpp Mon Apr 9 15:29:53 2018
*** 69,100 ****
--- 69,99 ----
shared_paths_misc_info()->add_app_classpath(app_class_path);
ClassLoader::setup_app_search_path(app_class_path);
}
}
! void ClassLoaderExt::process_module_table(ModuleEntryTable* met, TRAPS) {
ResourceMark rm;
for (int i = 0; i < met->table_size(); i++) {
for (ModuleEntry* m = met->bucket(i); m != NULL;) {
char* path = m->location()->as_C_string();
if (strncmp(path, "file:", 5) == 0 && ClassLoader::string_ends_with(path, ".jar")) {
m->print();
path = ClassLoader::skip_uri_protocol(path);
! ClassLoader::setup_module_search_path(path, THREAD);
}
m = m->next();
}
}
}
! void ClassLoaderExt::setup_module_search_path(TRAPS) {
assert(DumpSharedSpaces, "this function is only used with -Xshare:dump and -XX:+UseAppCDS");
_app_module_paths_start_index = ClassLoader::num_boot_classpath_entries() +
ClassLoader::num_app_classpath_entries();
! Thread* thread = Thread::current();
Handle system_class_loader (thread, SystemDictionary::java_system_loader());
! Handle system_class_loader (THREAD, SystemDictionary::java_system_loader());
ModuleEntryTable* met = Modules::get_module_entry_table(system_class_loader);
! process_module_table(met, THREAD);
}
char* ClassLoaderExt::read_manifest(ClassPathEntry* entry, jint *manifest_size, bool clean_text, TRAPS) {
const char* name = "META-INF/MANIFEST.MF";
char* manifest;
*** 220,232 ****
--- 219,231 ----
shared_paths_misc_info()->record_app_offset();
ClassLoaderExt::setup_app_search_path();
}
}
! void ClassLoaderExt::setup_module_paths(TRAPS) {
if (UseAppCDS) {
! ClassLoaderExt::setup_module_search_path(THREAD);
}
}
Thread* ClassLoaderExt::Context::_dump_thread = NULL;
src/hotspot/share/classfile/classLoaderExt.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File