383 { "MaxRAMFraction", JDK_Version::jdk(10), JDK_Version::undefined(), JDK_Version::undefined() }, |
383 { "MaxRAMFraction", JDK_Version::jdk(10), JDK_Version::undefined(), JDK_Version::undefined() }, |
384 { "MinRAMFraction", JDK_Version::jdk(10), JDK_Version::undefined(), JDK_Version::undefined() }, |
384 { "MinRAMFraction", JDK_Version::jdk(10), JDK_Version::undefined(), JDK_Version::undefined() }, |
385 { "InitialRAMFraction", JDK_Version::jdk(10), JDK_Version::undefined(), JDK_Version::undefined() }, |
385 { "InitialRAMFraction", JDK_Version::jdk(10), JDK_Version::undefined(), JDK_Version::undefined() }, |
386 { "UseMembar", JDK_Version::jdk(10), JDK_Version::jdk(11), JDK_Version::jdk(12) }, |
386 { "UseMembar", JDK_Version::jdk(10), JDK_Version::jdk(11), JDK_Version::jdk(12) }, |
387 { "FastTLABRefill", JDK_Version::jdk(10), JDK_Version::jdk(11), JDK_Version::jdk(12) }, |
387 { "FastTLABRefill", JDK_Version::jdk(10), JDK_Version::jdk(11), JDK_Version::jdk(12) }, |
|
388 { "UseCGroupMemoryLimitForHeap", JDK_Version::jdk(10), JDK_Version::undefined(), JDK_Version::jdk(11) }, |
388 { "IgnoreUnverifiableClassesDuringDump", JDK_Version::jdk(10), JDK_Version::undefined(), JDK_Version::undefined() }, |
389 { "IgnoreUnverifiableClassesDuringDump", JDK_Version::jdk(10), JDK_Version::undefined(), JDK_Version::undefined() }, |
389 |
390 |
390 // --- Deprecated alias flags (see also aliased_jvm_flags) - sorted by obsolete_in then expired_in: |
391 // --- Deprecated alias flags (see also aliased_jvm_flags) - sorted by obsolete_in then expired_in: |
391 { "DefaultMaxRAMFraction", JDK_Version::jdk(8), JDK_Version::undefined(), JDK_Version::undefined() }, |
392 { "DefaultMaxRAMFraction", JDK_Version::jdk(8), JDK_Version::undefined(), JDK_Version::undefined() }, |
392 { "CreateMinidumpOnCrash", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::undefined() }, |
393 { "CreateMinidumpOnCrash", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::undefined() }, |
2687 result = parse_each_vm_init_arg(java_options_args, &patch_mod_javabase, Flag::ENVIRON_VAR); |
2688 result = parse_each_vm_init_arg(java_options_args, &patch_mod_javabase, Flag::ENVIRON_VAR); |
2688 if (result != JNI_OK) { |
2689 if (result != JNI_OK) { |
2689 return result; |
2690 return result; |
2690 } |
2691 } |
2691 |
2692 |
|
2693 // We need to ensure processor and memory resources have been properly |
|
2694 // configured - which may rely on arguments we just processed - before |
|
2695 // doing the final argument processing. Any argument processing that |
|
2696 // needs to know about processor and memory resources must occur after |
|
2697 // this point. |
|
2698 |
|
2699 os::init_container_support(); |
|
2700 |
2692 // Do final processing now that all arguments have been parsed |
2701 // Do final processing now that all arguments have been parsed |
2693 result = finalize_vm_init_args(patch_mod_javabase); |
2702 result = finalize_vm_init_args(patch_mod_javabase); |
2694 if (result != JNI_OK) { |
2703 if (result != JNI_OK) { |
2695 return result; |
2704 return result; |
2696 } |
2705 } |
3362 _vfprintf_hook = CAST_TO_FN_PTR(vfprintf_hook_t, option->extraInfo); |
3371 _vfprintf_hook = CAST_TO_FN_PTR(vfprintf_hook_t, option->extraInfo); |
3363 } else if (match_option(option, "exit")) { |
3372 } else if (match_option(option, "exit")) { |
3364 _exit_hook = CAST_TO_FN_PTR(exit_hook_t, option->extraInfo); |
3373 _exit_hook = CAST_TO_FN_PTR(exit_hook_t, option->extraInfo); |
3365 } else if (match_option(option, "abort")) { |
3374 } else if (match_option(option, "abort")) { |
3366 _abort_hook = CAST_TO_FN_PTR(abort_hook_t, option->extraInfo); |
3375 _abort_hook = CAST_TO_FN_PTR(abort_hook_t, option->extraInfo); |
3367 // -XX:+AggressiveHeap |
|
3368 } else if (match_option(option, "-XX:+AggressiveHeap")) { |
|
3369 jint result = set_aggressive_heap_flags(); |
|
3370 if (result != JNI_OK) { |
|
3371 return result; |
|
3372 } |
|
3373 // Need to keep consistency of MaxTenuringThreshold and AlwaysTenure/NeverTenure; |
3376 // Need to keep consistency of MaxTenuringThreshold and AlwaysTenure/NeverTenure; |
3374 // and the last option wins. |
3377 // and the last option wins. |
3375 } else if (match_option(option, "-XX:+NeverTenure")) { |
3378 } else if (match_option(option, "-XX:+NeverTenure")) { |
3376 if (FLAG_SET_CMDLINE(bool, NeverTenure, true) != Flag::SUCCESS) { |
3379 if (FLAG_SET_CMDLINE(bool, NeverTenure, true) != Flag::SUCCESS) { |
3377 return JNI_EINVAL; |
3380 return JNI_EINVAL; |
3647 jio_fprintf(defaultStream::output_stream(), |
3650 jio_fprintf(defaultStream::output_stream(), |
3648 "<JAVA_HOME>/lib/ext exists, extensions mechanism no longer supported; " |
3651 "<JAVA_HOME>/lib/ext exists, extensions mechanism no longer supported; " |
3649 "Use -classpath instead.\n."); |
3652 "Use -classpath instead.\n."); |
3650 os::closedir(dir); |
3653 os::closedir(dir); |
3651 return JNI_ERR; |
3654 return JNI_ERR; |
|
3655 } |
|
3656 |
|
3657 // This must be done after all arguments have been processed |
|
3658 // and the container support has been initialized since AggressiveHeap |
|
3659 // relies on the amount of total memory available. |
|
3660 if (AggressiveHeap) { |
|
3661 jint result = set_aggressive_heap_flags(); |
|
3662 if (result != JNI_OK) { |
|
3663 return result; |
|
3664 } |
3652 } |
3665 } |
3653 |
3666 |
3654 // This must be done after all arguments have been processed. |
3667 // This must be done after all arguments have been processed. |
3655 // java_compiler() true means set to "NONE" or empty. |
3668 // java_compiler() true means set to "NONE" or empty. |
3656 if (java_compiler() && !xdebug_mode()) { |
3669 if (java_compiler() && !xdebug_mode()) { |