216 // to load a class. 217 218 // 1. Contains the module/path pairs specified to --patch-module 219 static GrowableArray<ModuleClassPathList*>* _patch_mod_entries; 220 221 // 2. the base piece 222 // Contains the ClassPathEntry of the modular java runtime image. 223 // If no java runtime image is present, this indicates a 224 // build with exploded modules is being used instead. 225 static ClassPathEntry* _jrt_entry; 226 static GrowableArray<ModuleClassPathList*>* _exploded_entries; 227 enum { EXPLODED_ENTRY_SIZE = 80 }; // Initial number of exploded modules 228 229 // 3. the boot loader's append path 230 // [-Xbootclasspath/a]; [jvmti appended entries] 231 // Note: boot loader append path does not support named modules. 232 static ClassPathEntry* _first_append_entry; 233 // Last entry in linked list of appended ClassPathEntry instances 234 static ClassPathEntry* _last_append_entry; 235 236 // Array of module names associated with the boot class loader 237 CDS_ONLY(static GrowableArray<char*>* _boot_modules_array;) 238 239 // Array of module names associated with the platform class loader 240 CDS_ONLY(static GrowableArray<char*>* _platform_modules_array;) 241 242 // Info used by CDS 243 CDS_ONLY(static SharedPathsMiscInfo * _shared_paths_misc_info;) 244 245 CDS_ONLY(static ClassPathEntry* _app_classpath_entries;) 246 CDS_ONLY(static ClassPathEntry* _last_app_classpath_entry;) 247 CDS_ONLY(static void setup_app_search_path(const char *class_path);) 248 static void add_to_app_classpath_entries(const char* path, 249 ClassPathEntry* entry, 250 bool check_for_duplicates); 251 public: 252 CDS_ONLY(static ClassPathEntry* app_classpath_entries() {return _app_classpath_entries;}) 253 254 protected: 255 // Initialization: 256 // - setup the boot loader's system class path 257 // - setup the boot loader's patch mod entries, if present 258 // - create the ModuleEntry for java.base 259 static void setup_bootstrap_search_path(); 260 static void setup_boot_search_path(const char *class_path); 261 static void setup_patch_mod_entries(); | 216 // to load a class. 217 218 // 1. Contains the module/path pairs specified to --patch-module 219 static GrowableArray<ModuleClassPathList*>* _patch_mod_entries; 220 221 // 2. the base piece 222 // Contains the ClassPathEntry of the modular java runtime image. 223 // If no java runtime image is present, this indicates a 224 // build with exploded modules is being used instead. 225 static ClassPathEntry* _jrt_entry; 226 static GrowableArray<ModuleClassPathList*>* _exploded_entries; 227 enum { EXPLODED_ENTRY_SIZE = 80 }; // Initial number of exploded modules 228 229 // 3. the boot loader's append path 230 // [-Xbootclasspath/a]; [jvmti appended entries] 231 // Note: boot loader append path does not support named modules. 232 static ClassPathEntry* _first_append_entry; 233 // Last entry in linked list of appended ClassPathEntry instances 234 static ClassPathEntry* _last_append_entry; 235 236 // Info used by CDS 237 CDS_ONLY(static SharedPathsMiscInfo * _shared_paths_misc_info;) 238 239 CDS_ONLY(static ClassPathEntry* _app_classpath_entries;) 240 CDS_ONLY(static ClassPathEntry* _last_app_classpath_entry;) 241 CDS_ONLY(static void setup_app_search_path(const char *class_path);) 242 static void add_to_app_classpath_entries(const char* path, 243 ClassPathEntry* entry, 244 bool check_for_duplicates); 245 public: 246 CDS_ONLY(static ClassPathEntry* app_classpath_entries() {return _app_classpath_entries;}) 247 248 protected: 249 // Initialization: 250 // - setup the boot loader's system class path 251 // - setup the boot loader's patch mod entries, if present 252 // - create the ModuleEntry for java.base 253 static void setup_bootstrap_search_path(); 254 static void setup_boot_search_path(const char *class_path); 255 static void setup_patch_mod_entries(); |