equal
deleted
inserted
replaced
60 } |
60 } |
61 ClassLoader::add_to_boot_append_entries(new_entry); |
61 ClassLoader::add_to_boot_append_entries(new_entry); |
62 } |
62 } |
63 |
63 |
64 void ClassLoaderExt::setup_app_search_path() { |
64 void ClassLoaderExt::setup_app_search_path() { |
65 assert(DumpSharedSpaces || DynamicDumpSharedSpaces, |
65 Arguments::assert_is_dumping_archive(); |
66 "this function is only used at CDS dump time"); |
|
67 _app_class_paths_start_index = ClassLoader::num_boot_classpath_entries(); |
66 _app_class_paths_start_index = ClassLoader::num_boot_classpath_entries(); |
68 char* app_class_path = os::strdup(Arguments::get_appclasspath()); |
67 char* app_class_path = os::strdup(Arguments::get_appclasspath()); |
69 |
68 |
70 if (strcmp(app_class_path, ".") == 0) { |
69 if (strcmp(app_class_path, ".") == 0) { |
71 // This doesn't make any sense, even for AppCDS, so let's skip it. We |
70 // This doesn't make any sense, even for AppCDS, so let's skip it. We |
90 m = m->next(); |
89 m = m->next(); |
91 } |
90 } |
92 } |
91 } |
93 } |
92 } |
94 void ClassLoaderExt::setup_module_paths(TRAPS) { |
93 void ClassLoaderExt::setup_module_paths(TRAPS) { |
95 assert(DumpSharedSpaces || DynamicDumpSharedSpaces, |
94 Arguments::assert_is_dumping_archive(); |
96 "this function is only used with CDS dump time"); |
|
97 _app_module_paths_start_index = ClassLoader::num_boot_classpath_entries() + |
95 _app_module_paths_start_index = ClassLoader::num_boot_classpath_entries() + |
98 ClassLoader::num_app_classpath_entries(); |
96 ClassLoader::num_app_classpath_entries(); |
99 Handle system_class_loader (THREAD, SystemDictionary::java_system_loader()); |
97 Handle system_class_loader (THREAD, SystemDictionary::java_system_loader()); |
100 ModuleEntryTable* met = Modules::get_module_entry_table(system_class_loader); |
98 ModuleEntryTable* met = Modules::get_module_entry_table(system_class_loader); |
101 process_module_table(met, THREAD); |
99 process_module_table(met, THREAD); |
229 } |
227 } |
230 |
228 |
231 void ClassLoaderExt::record_result(const s2 classpath_index, |
229 void ClassLoaderExt::record_result(const s2 classpath_index, |
232 InstanceKlass* result, |
230 InstanceKlass* result, |
233 TRAPS) { |
231 TRAPS) { |
234 assert(DumpSharedSpaces || DynamicDumpSharedSpaces, "Sanity"); |
232 Arguments::assert_is_dumping_archive(); |
235 |
233 |
236 // We need to remember where the class comes from during dumping. |
234 // We need to remember where the class comes from during dumping. |
237 oop loader = result->class_loader(); |
235 oop loader = result->class_loader(); |
238 s2 classloader_type = ClassLoader::BOOT_LOADER; |
236 s2 classloader_type = ClassLoader::BOOT_LOADER; |
239 if (SystemDictionary::is_system_class_loader(loader)) { |
237 if (SystemDictionary::is_system_class_loader(loader)) { |