354
355 // Record how many times SystemDictionary::load_instance_class call
356 // fails with linkageError when Unsyncloadclass flag is set.
357 static PerfCounter* load_instance_class_failCounter() {
358 return _load_instance_class_failCounter;
359 }
360
361 // Modular java runtime image is present vs. a build with exploded modules
362 static bool has_jrt_entry() { return (_jrt_entry != NULL); }
363 static ClassPathEntry* get_jrt_entry() { return _jrt_entry; }
364
365 // Add a module's exploded directory to the boot loader's exploded module build list
366 static void add_to_exploded_build_list(Symbol* module_name, TRAPS);
367
368 // Attempt load of individual class from either the patched or exploded modules build lists
369 static ClassFileStream* search_module_entries(const GrowableArray<ModuleClassPathList*>* const module_list,
370 const char* const class_name,
371 const char* const file_name, TRAPS);
372
373 // Load individual .class file
374 static instanceKlassHandle load_class(Symbol* class_name, bool search_append_only, TRAPS);
375
376 // If the specified package has been loaded by the system, then returns
377 // the name of the directory or ZIP file that the package was loaded from.
378 // Returns null if the package was not loaded.
379 // Note: The specified name can either be the name of a class or package.
380 // If a package name is specified, then it must be "/"-separator and also
381 // end with a trailing "/".
382 static oop get_system_package(const char* name, TRAPS);
383
384 // Returns an array of Java strings representing all of the currently
385 // loaded system packages.
386 // Note: The package names returned are "/"-separated and end with a
387 // trailing "/".
388 static objArrayOop get_system_packages(TRAPS);
389
390 // Initialization
391 static void initialize();
392 static void classLoader_init2(TRAPS);
393 CDS_ONLY(static void initialize_shared_path();)
394
|
354
355 // Record how many times SystemDictionary::load_instance_class call
356 // fails with linkageError when Unsyncloadclass flag is set.
357 static PerfCounter* load_instance_class_failCounter() {
358 return _load_instance_class_failCounter;
359 }
360
361 // Modular java runtime image is present vs. a build with exploded modules
362 static bool has_jrt_entry() { return (_jrt_entry != NULL); }
363 static ClassPathEntry* get_jrt_entry() { return _jrt_entry; }
364
365 // Add a module's exploded directory to the boot loader's exploded module build list
366 static void add_to_exploded_build_list(Symbol* module_name, TRAPS);
367
368 // Attempt load of individual class from either the patched or exploded modules build lists
369 static ClassFileStream* search_module_entries(const GrowableArray<ModuleClassPathList*>* const module_list,
370 const char* const class_name,
371 const char* const file_name, TRAPS);
372
373 // Load individual .class file
374 static InstanceKlass* load_class(Symbol* class_name, bool search_append_only, TRAPS);
375
376 // If the specified package has been loaded by the system, then returns
377 // the name of the directory or ZIP file that the package was loaded from.
378 // Returns null if the package was not loaded.
379 // Note: The specified name can either be the name of a class or package.
380 // If a package name is specified, then it must be "/"-separator and also
381 // end with a trailing "/".
382 static oop get_system_package(const char* name, TRAPS);
383
384 // Returns an array of Java strings representing all of the currently
385 // loaded system packages.
386 // Note: The package names returned are "/"-separated and end with a
387 // trailing "/".
388 static objArrayOop get_system_packages(TRAPS);
389
390 // Initialization
391 static void initialize();
392 static void classLoader_init2(TRAPS);
393 CDS_ONLY(static void initialize_shared_path();)
394
|