371
372 static ClassPathEntry* classpath_entry(int n);
373
374 static bool is_in_patch_mod_entries(Symbol* module_name);
375
376 #if INCLUDE_CDS
377 // Sharing dump and restore
378
379 // Helper function used by CDS code to get the number of boot classpath
380 // entries during shared classpath setup time.
381 static int num_boot_classpath_entries();
382
383 static ClassPathEntry* get_next_boot_classpath_entry(ClassPathEntry* e);
384
385 // Helper function used by CDS code to get the number of app classpath
386 // entries during shared classpath setup time.
387 static int num_app_classpath_entries();
388
389 // Helper function used by CDS code to get the number of module path
390 // entries during shared classpath setup time.
391 static int num_module_path_entries() {
392 Arguments::assert_is_dumping_archive();
393 int num_entries = 0;
394 ClassPathEntry* e= ClassLoader::_module_path_entries;
395 while (e != NULL) {
396 num_entries ++;
397 e = e->next();
398 }
399 return num_entries;
400 }
401 static void exit_with_path_failure(const char* error, const char* message);
402 static char* skip_uri_protocol(char* source);
403 static void record_result(InstanceKlass* ik, const ClassFileStream* stream, TRAPS);
404 #endif
405
406 static char* lookup_vm_options();
407
408 static JImageLocationRef jimage_find_resource(JImageFile* jf, const char* module_name,
409 const char* file_name, jlong &size);
410
411 static void trace_class_path(const char* msg, const char* name = NULL);
412
413 // VM monitoring and management support
414 static jlong classloader_time_ms();
415 static jlong class_method_total_size();
416 static jlong class_init_count();
417 static jlong class_init_time_ms();
418 static jlong class_verify_time_ms();
419 static jlong class_link_count();
420 static jlong class_link_time_ms();
|
371
372 static ClassPathEntry* classpath_entry(int n);
373
374 static bool is_in_patch_mod_entries(Symbol* module_name);
375
376 #if INCLUDE_CDS
377 // Sharing dump and restore
378
379 // Helper function used by CDS code to get the number of boot classpath
380 // entries during shared classpath setup time.
381 static int num_boot_classpath_entries();
382
383 static ClassPathEntry* get_next_boot_classpath_entry(ClassPathEntry* e);
384
385 // Helper function used by CDS code to get the number of app classpath
386 // entries during shared classpath setup time.
387 static int num_app_classpath_entries();
388
389 // Helper function used by CDS code to get the number of module path
390 // entries during shared classpath setup time.
391 static int num_module_path_entries();
392 static void exit_with_path_failure(const char* error, const char* message);
393 static char* skip_uri_protocol(char* source);
394 static void record_result(InstanceKlass* ik, const ClassFileStream* stream, TRAPS);
395 #endif
396
397 static char* lookup_vm_options();
398
399 static JImageLocationRef jimage_find_resource(JImageFile* jf, const char* module_name,
400 const char* file_name, jlong &size);
401
402 static void trace_class_path(const char* msg, const char* name = NULL);
403
404 // VM monitoring and management support
405 static jlong classloader_time_ms();
406 static jlong class_method_total_size();
407 static jlong class_init_count();
408 static jlong class_init_time_ms();
409 static jlong class_verify_time_ms();
410 static jlong class_link_count();
411 static jlong class_link_time_ms();
|