444 // -Xdebug flag
445 static bool _xdebug_mode;
446 static void set_xdebug_mode(bool arg) { _xdebug_mode = arg; }
447 static bool xdebug_mode() { return _xdebug_mode; }
448
449 // Used to save default settings
450 static bool _AlwaysCompileLoopMethods;
451 static bool _UseOnStackReplacement;
452 static bool _BackgroundCompilation;
453 static bool _ClipInlining;
454 static bool _CIDynamicCompilePriority;
455 static intx _Tier3InvokeNotifyFreqLog;
456 static intx _Tier4InvocationThreshold;
457
458 // Compilation mode.
459 static bool compilation_mode_selected();
460 static void select_compilation_mode_ergonomically();
461
462 // Tiered
463 static void set_tiered_flags();
464 // CMS/ParNew garbage collectors
465 static void set_parnew_gc_flags();
466 static void set_cms_and_parnew_gc_flags();
467 // UseParallel[Old]GC
468 static void set_parallel_gc_flags();
469 // Garbage-First (UseG1GC)
470 static void set_g1_gc_flags();
471 // GC ergonomics
472 static void set_conservative_max_heap_alignment();
473 static void set_use_compressed_oops();
474 static void set_use_compressed_klass_ptrs();
475 static void select_gc();
476 static void set_ergonomics_flags();
477 static void set_shared_spaces_flags();
478 // limits the given memory size by the maximum amount of memory this process is
479 // currently allowed to allocate or reserve.
480 static julong limit_by_allocatable_memory(julong size);
481 // Setup heap size
482 static void set_heap_size();
483
484 // Bytecode rewriting
485 static void set_bytecode_flags();
486
487 // Invocation API hooks
488 static abort_hook_t _abort_hook;
489 static exit_hook_t _exit_hook;
490 static vfprintf_hook_t _vfprintf_hook;
491
492 // System properties
493 static bool add_property(const char* prop, PropertyWriteable writeable=WriteableProperty,
494 PropertyInternal internal=ExternalProperty);
495
612 static bool CheckCompileOnly;
613
614 static char* SharedArchivePath;
615
616 public:
617 // Scale compile thresholds
618 // Returns threshold scaled with CompileThresholdScaling
619 static intx scaled_compile_threshold(intx threshold, double scale);
620 static intx scaled_compile_threshold(intx threshold) {
621 return scaled_compile_threshold(threshold, CompileThresholdScaling);
622 }
623 // Returns freq_log scaled with CompileThresholdScaling
624 static intx scaled_freq_log(intx freq_log, double scale);
625 static intx scaled_freq_log(intx freq_log) {
626 return scaled_freq_log(freq_log, CompileThresholdScaling);
627 }
628
629 // Parses the arguments, first phase
630 static jint parse(const JavaVMInitArgs* args);
631 // Apply ergonomics
632 static jint apply_ergo();
633 // Adjusts the arguments after the OS have adjusted the arguments
634 static jint adjust_after_os();
635
636 static void set_gc_specific_flags();
637 static bool gc_selected(); // whether a gc has been selected
638 static void select_gc_ergonomically();
639 #if INCLUDE_JVMCI
640 // Check consistency of jvmci vm argument settings.
641 static bool check_jvmci_args_consistency();
642 static void set_jvmci_specific_flags();
643 #endif
644 // Check for consistency in the selection of the garbage collector.
645 static bool check_gc_consistency(); // Check user-selected gc
646 // Check consistency or otherwise of VM argument settings
647 static bool check_vm_args_consistency();
648 // Used by os_solaris
649 static bool process_settings_file(const char* file_name, bool should_exist, jboolean ignore_unrecognized);
650
651 static size_t conservative_max_heap_alignment() { return _conservative_max_heap_alignment; }
|
444 // -Xdebug flag
445 static bool _xdebug_mode;
446 static void set_xdebug_mode(bool arg) { _xdebug_mode = arg; }
447 static bool xdebug_mode() { return _xdebug_mode; }
448
449 // Used to save default settings
450 static bool _AlwaysCompileLoopMethods;
451 static bool _UseOnStackReplacement;
452 static bool _BackgroundCompilation;
453 static bool _ClipInlining;
454 static bool _CIDynamicCompilePriority;
455 static intx _Tier3InvokeNotifyFreqLog;
456 static intx _Tier4InvocationThreshold;
457
458 // Compilation mode.
459 static bool compilation_mode_selected();
460 static void select_compilation_mode_ergonomically();
461
462 // Tiered
463 static void set_tiered_flags();
464 // GC ergonomics
465 static void set_conservative_max_heap_alignment();
466 static void set_use_compressed_oops();
467 static void set_use_compressed_klass_ptrs();
468 static void set_ergonomics_flags();
469 static void set_shared_spaces_flags();
470 // limits the given memory size by the maximum amount of memory this process is
471 // currently allowed to allocate or reserve.
472 static julong limit_by_allocatable_memory(julong size);
473 // Setup heap size
474 static void set_heap_size();
475
476 // Bytecode rewriting
477 static void set_bytecode_flags();
478
479 // Invocation API hooks
480 static abort_hook_t _abort_hook;
481 static exit_hook_t _exit_hook;
482 static vfprintf_hook_t _vfprintf_hook;
483
484 // System properties
485 static bool add_property(const char* prop, PropertyWriteable writeable=WriteableProperty,
486 PropertyInternal internal=ExternalProperty);
487
604 static bool CheckCompileOnly;
605
606 static char* SharedArchivePath;
607
608 public:
609 // Scale compile thresholds
610 // Returns threshold scaled with CompileThresholdScaling
611 static intx scaled_compile_threshold(intx threshold, double scale);
612 static intx scaled_compile_threshold(intx threshold) {
613 return scaled_compile_threshold(threshold, CompileThresholdScaling);
614 }
615 // Returns freq_log scaled with CompileThresholdScaling
616 static intx scaled_freq_log(intx freq_log, double scale);
617 static intx scaled_freq_log(intx freq_log) {
618 return scaled_freq_log(freq_log, CompileThresholdScaling);
619 }
620
621 // Parses the arguments, first phase
622 static jint parse(const JavaVMInitArgs* args);
623 // Apply ergonomics
624 static void select_gc();
625 static jint apply_ergo();
626 // Adjusts the arguments after the OS have adjusted the arguments
627 static jint adjust_after_os();
628
629 static void set_gc_specific_flags();
630 static bool gc_selected(); // whether a gc has been selected
631 static void select_gc_ergonomically();
632 #if INCLUDE_JVMCI
633 // Check consistency of jvmci vm argument settings.
634 static bool check_jvmci_args_consistency();
635 static void set_jvmci_specific_flags();
636 #endif
637 // Check for consistency in the selection of the garbage collector.
638 static bool check_gc_consistency(); // Check user-selected gc
639 // Check consistency or otherwise of VM argument settings
640 static bool check_vm_args_consistency();
641 // Used by os_solaris
642 static bool process_settings_file(const char* file_name, bool should_exist, jboolean ignore_unrecognized);
643
644 static size_t conservative_max_heap_alignment() { return _conservative_max_heap_alignment; }
|