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
496 static bool create_property(const char* prop_name, const char* prop_value, PropertyInternal internal);
618 // Scale compile thresholds
619 // Returns threshold scaled with CompileThresholdScaling
620 static intx scaled_compile_threshold(intx threshold, double scale);
621 static intx scaled_compile_threshold(intx threshold) {
622 return scaled_compile_threshold(threshold, CompileThresholdScaling);
623 }
624 // Returns freq_log scaled with CompileThresholdScaling
625 static intx scaled_freq_log(intx freq_log, double scale);
626 static intx scaled_freq_log(intx freq_log) {
627 return scaled_freq_log(freq_log, CompileThresholdScaling);
628 }
629
630 // Parses the arguments, first phase
631 static jint parse(const JavaVMInitArgs* args);
632 // Apply ergonomics
633 static jint apply_ergo();
634 // Adjusts the arguments after the OS have adjusted the arguments
635 static jint adjust_after_os();
636
637 static void set_gc_specific_flags();
638 static bool gc_selected(); // whether a gc has been selected
639 static void select_gc_ergonomically();
640 #if INCLUDE_JVMCI
641 // Check consistency of jvmci vm argument settings.
642 static bool check_jvmci_args_consistency();
643 static void set_jvmci_specific_flags();
644 #endif
645 // Check for consistency in the selection of the garbage collector.
646 static bool check_gc_consistency(); // Check user-selected gc
647 // Check consistency or otherwise of VM argument settings
648 static bool check_vm_args_consistency();
649 // Used by os_solaris
650 static bool process_settings_file(const char* file_name, bool should_exist, jboolean ignore_unrecognized);
651
652 static size_t conservative_max_heap_alignment() { return _conservative_max_heap_alignment; }
653 // Return the maximum size a heap with compressed oops can take
654 static size_t max_heap_for_compressed_oops();
655
656 // return a char* array containing all options
657 static char** jvm_flags_array() { return _jvm_flags_array; }
658 static char** jvm_args_array() { return _jvm_args_array; }
659 static int num_jvm_flags() { return _num_jvm_flags; }
|
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 jint set_ergonomics_flags();
476 static void set_shared_spaces_flags();
477 // limits the given memory size by the maximum amount of memory this process is
478 // currently allowed to allocate or reserve.
479 static julong limit_by_allocatable_memory(julong size);
480 // Setup heap size
481 static void set_heap_size();
482
483 // Bytecode rewriting
484 static void set_bytecode_flags();
485
486 // Invocation API hooks
487 static abort_hook_t _abort_hook;
488 static exit_hook_t _exit_hook;
489 static vfprintf_hook_t _vfprintf_hook;
490
491 // System properties
492 static bool add_property(const char* prop, PropertyWriteable writeable=WriteableProperty,
493 PropertyInternal internal=ExternalProperty);
494
495 static bool create_property(const char* prop_name, const char* prop_value, PropertyInternal internal);
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 #if INCLUDE_JVMCI
638 // Check consistency of jvmci vm argument settings.
639 static bool check_jvmci_args_consistency();
640 static void set_jvmci_specific_flags();
641 #endif
642 // Check for consistency in the selection of the garbage collector.
643 static bool check_gc_consistency(); // Check user-selected gc
644 // Check consistency or otherwise of VM argument settings
645 static bool check_vm_args_consistency();
646 // Used by os_solaris
647 static bool process_settings_file(const char* file_name, bool should_exist, jboolean ignore_unrecognized);
648
649 static size_t conservative_max_heap_alignment() { return _conservative_max_heap_alignment; }
650 // Return the maximum size a heap with compressed oops can take
651 static size_t max_heap_for_compressed_oops();
652
653 // return a char* array containing all options
654 static char** jvm_flags_array() { return _jvm_flags_array; }
655 static char** jvm_args_array() { return _jvm_args_array; }
656 static int num_jvm_flags() { return _num_jvm_flags; }
|