src/hotspot/share/classfile/classLoaderExt.cpp
changeset 58447 319173c62caa
parent 58110 85e1de070bef
child 58679 9c3209ff7550
equal deleted inserted replaced
58446:5c83830390ba 58447:319173c62caa
    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)) {