243 244 // an array containing all flags specified in the .hotspotrc file 245 static char** _jvm_flags_array; 246 static int _num_jvm_flags; 247 // an array containing all jvm arguments specified in the command line 248 static char** _jvm_args_array; 249 static int _num_jvm_args; 250 // string containing all java command (class/jarfile name and app args) 251 static char* _java_command; 252 253 // Property list 254 static SystemProperty* _system_properties; 255 256 // Quick accessor to System properties in the list: 257 static SystemProperty *_sun_boot_library_path; 258 static SystemProperty *_java_library_path; 259 static SystemProperty *_java_home; 260 static SystemProperty *_java_class_path; 261 static SystemProperty *_sun_boot_class_path; 262 263 // Meta-index for knowing what packages are in the boot class path 264 static char* _meta_index_path; 265 static char* _meta_index_dir; 266 267 // temporary: to emit warning if the default ext dirs are not empty. 268 // remove this variable when the warning is no longer needed. 269 static char* _ext_dirs; 270 271 // java.vendor.url.bug, bug reporting URL for fatal errors. 272 static const char* _java_vendor_url_bug; 273 274 // sun.java.launcher, private property to provide information about 275 // java launcher 276 static const char* _sun_java_launcher; 277 278 // sun.java.launcher.pid, private property 279 static int _sun_java_launcher_pid; 280 281 // was this VM created via the -XXaltjvm=<path> option 282 static bool _sun_java_launcher_is_altjvm; 283 284 // Option flags 285 static bool _has_profile; 286 static const char* _gc_log_filename; 583 // Property List manipulation 584 static void PropertyList_add(SystemProperty *element); 585 static void PropertyList_add(SystemProperty** plist, SystemProperty *element); 586 static void PropertyList_add(SystemProperty** plist, const char* k, char* v); 587 static void PropertyList_unique_add(SystemProperty** plist, const char* k, char* v) { 588 PropertyList_unique_add(plist, k, v, false); 589 } 590 static void PropertyList_unique_add(SystemProperty** plist, const char* k, char* v, jboolean append); 591 static const char* PropertyList_get_value(SystemProperty* plist, const char* key); 592 static int PropertyList_count(SystemProperty* pl); 593 static const char* PropertyList_get_key_at(SystemProperty* pl,int index); 594 static char* PropertyList_get_value_at(SystemProperty* pl,int index); 595 596 // Miscellaneous System property value getter and setters. 597 static void set_dll_dir(char *value) { _sun_boot_library_path->set_value(value); } 598 static void set_java_home(char *value) { _java_home->set_value(value); } 599 static void set_library_path(char *value) { _java_library_path->set_value(value); } 600 static void set_ext_dirs(char *value) { _ext_dirs = os::strdup_check_oom(value); } 601 static void set_sysclasspath(char *value) { _sun_boot_class_path->set_value(value); } 602 static void append_sysclasspath(const char *value) { _sun_boot_class_path->append_value(value); } 603 static void set_meta_index_path(char* meta_index_path, char* meta_index_dir) { 604 _meta_index_path = meta_index_path; 605 _meta_index_dir = meta_index_dir; 606 } 607 608 static char* get_java_home() { return _java_home->value(); } 609 static char* get_dll_dir() { return _sun_boot_library_path->value(); } 610 static char* get_sysclasspath() { return _sun_boot_class_path->value(); } 611 static char* get_meta_index_path() { return _meta_index_path; } 612 static char* get_meta_index_dir() { return _meta_index_dir; } 613 static char* get_ext_dirs() { return _ext_dirs; } 614 static char* get_appclasspath() { return _java_class_path->value(); } 615 static void fix_appclasspath(); 616 617 618 // Operation modi 619 static Mode mode() { return _mode; } 620 static bool is_interpreter_only() { return mode() == _int; } 621 622 623 // Utility: copies src into buf, replacing "%%" with "%" and "%p" with pid. 624 static bool copy_expand_pid(const char* src, size_t srclen, char* buf, size_t buflen); 625 }; 626 627 bool Arguments::gc_selected() { 628 return UseConcMarkSweepGC || UseG1GC || UseParallelGC || UseParallelOldGC || UseSerialGC; 629 } 630 631 bool Arguments::check_gc_consistency_ergo() { 632 return check_gc_consistency_user(); | 243 244 // an array containing all flags specified in the .hotspotrc file 245 static char** _jvm_flags_array; 246 static int _num_jvm_flags; 247 // an array containing all jvm arguments specified in the command line 248 static char** _jvm_args_array; 249 static int _num_jvm_args; 250 // string containing all java command (class/jarfile name and app args) 251 static char* _java_command; 252 253 // Property list 254 static SystemProperty* _system_properties; 255 256 // Quick accessor to System properties in the list: 257 static SystemProperty *_sun_boot_library_path; 258 static SystemProperty *_java_library_path; 259 static SystemProperty *_java_home; 260 static SystemProperty *_java_class_path; 261 static SystemProperty *_sun_boot_class_path; 262 263 // temporary: to emit warning if the default ext dirs are not empty. 264 // remove this variable when the warning is no longer needed. 265 static char* _ext_dirs; 266 267 // java.vendor.url.bug, bug reporting URL for fatal errors. 268 static const char* _java_vendor_url_bug; 269 270 // sun.java.launcher, private property to provide information about 271 // java launcher 272 static const char* _sun_java_launcher; 273 274 // sun.java.launcher.pid, private property 275 static int _sun_java_launcher_pid; 276 277 // was this VM created via the -XXaltjvm=<path> option 278 static bool _sun_java_launcher_is_altjvm; 279 280 // Option flags 281 static bool _has_profile; 282 static const char* _gc_log_filename; 579 // Property List manipulation 580 static void PropertyList_add(SystemProperty *element); 581 static void PropertyList_add(SystemProperty** plist, SystemProperty *element); 582 static void PropertyList_add(SystemProperty** plist, const char* k, char* v); 583 static void PropertyList_unique_add(SystemProperty** plist, const char* k, char* v) { 584 PropertyList_unique_add(plist, k, v, false); 585 } 586 static void PropertyList_unique_add(SystemProperty** plist, const char* k, char* v, jboolean append); 587 static const char* PropertyList_get_value(SystemProperty* plist, const char* key); 588 static int PropertyList_count(SystemProperty* pl); 589 static const char* PropertyList_get_key_at(SystemProperty* pl,int index); 590 static char* PropertyList_get_value_at(SystemProperty* pl,int index); 591 592 // Miscellaneous System property value getter and setters. 593 static void set_dll_dir(char *value) { _sun_boot_library_path->set_value(value); } 594 static void set_java_home(char *value) { _java_home->set_value(value); } 595 static void set_library_path(char *value) { _java_library_path->set_value(value); } 596 static void set_ext_dirs(char *value) { _ext_dirs = os::strdup_check_oom(value); } 597 static void set_sysclasspath(char *value) { _sun_boot_class_path->set_value(value); } 598 static void append_sysclasspath(const char *value) { _sun_boot_class_path->append_value(value); } 599 600 static char* get_java_home() { return _java_home->value(); } 601 static char* get_dll_dir() { return _sun_boot_library_path->value(); } 602 static char* get_sysclasspath() { return _sun_boot_class_path->value(); } 603 static char* get_ext_dirs() { return _ext_dirs; } 604 static char* get_appclasspath() { return _java_class_path->value(); } 605 static void fix_appclasspath(); 606 607 608 // Operation modi 609 static Mode mode() { return _mode; } 610 static bool is_interpreter_only() { return mode() == _int; } 611 612 613 // Utility: copies src into buf, replacing "%%" with "%" and "%p" with pid. 614 static bool copy_expand_pid(const char* src, size_t srclen, char* buf, size_t buflen); 615 }; 616 617 bool Arguments::gc_selected() { 618 return UseConcMarkSweepGC || UseG1GC || UseParallelGC || UseParallelOldGC || UseSerialGC; 619 } 620 621 bool Arguments::check_gc_consistency_ergo() { 622 return check_gc_consistency_user(); |