comparison src/share/vm/runtime/arguments.cpp @ 21819:b1cf34d57e78

Merge
author asaha
date Thu, 06 Nov 2014 09:39:49 -0800
parents 12478c5eb000 86307d477907
children f3ffb37f88a6
comparison
equal deleted inserted replaced
21818:5ca2ea5eeff0 21819:b1cf34d57e78
64 #include "gc_implementation/g1/g1CollectedHeap.inline.hpp" 64 #include "gc_implementation/g1/g1CollectedHeap.inline.hpp"
65 #include "gc_implementation/parallelScavenge/parallelScavengeHeap.hpp" 65 #include "gc_implementation/parallelScavenge/parallelScavengeHeap.hpp"
66 #endif // INCLUDE_ALL_GCS 66 #endif // INCLUDE_ALL_GCS
67 67
68 // Note: This is a special bug reporting site for the JVM 68 // Note: This is a special bug reporting site for the JVM
69 #define DEFAULT_VENDOR_URL_BUG "http://bugreport.sun.com/bugreport/crash.jsp" 69 #define DEFAULT_VENDOR_URL_BUG "http://bugreport.java.com/bugreport/crash.jsp"
70 #define DEFAULT_JAVA_LAUNCHER "generic" 70 #define DEFAULT_JAVA_LAUNCHER "generic"
71 71
72 // Disable options not supported in this release, with a warning if they 72 // Disable options not supported in this release, with a warning if they
73 // were explicitly requested on the command-line 73 // were explicitly requested on the command-line
74 #define UNSUPPORTED_OPTION(opt, description) \ 74 #define UNSUPPORTED_OPTION(opt, description) \
298 { "UsePermISM", JDK_Version::jdk(8), JDK_Version::jdk(9) }, 298 { "UsePermISM", JDK_Version::jdk(8), JDK_Version::jdk(9) },
299 { "UseMPSS", JDK_Version::jdk(8), JDK_Version::jdk(9) }, 299 { "UseMPSS", JDK_Version::jdk(8), JDK_Version::jdk(9) },
300 { "UseStringCache", JDK_Version::jdk(8), JDK_Version::jdk(9) }, 300 { "UseStringCache", JDK_Version::jdk(8), JDK_Version::jdk(9) },
301 { "UseOldInlining", JDK_Version::jdk(9), JDK_Version::jdk(10) }, 301 { "UseOldInlining", JDK_Version::jdk(9), JDK_Version::jdk(10) },
302 { "AutoShutdownNMT", JDK_Version::jdk(9), JDK_Version::jdk(10) }, 302 { "AutoShutdownNMT", JDK_Version::jdk(9), JDK_Version::jdk(10) },
303 { "CompilationRepeat", JDK_Version::jdk(8), JDK_Version::jdk(9) },
303 #ifdef PRODUCT 304 #ifdef PRODUCT
304 { "DesiredMethodLimit", 305 { "DesiredMethodLimit",
305 JDK_Version::jdk_update(7, 2), JDK_Version::jdk(8) }, 306 JDK_Version::jdk_update(7, 2), JDK_Version::jdk(8) },
306 #endif // PRODUCT 307 #endif // PRODUCT
307 { NULL, JDK_Version(0), JDK_Version(0) } 308 { NULL, JDK_Version(0), JDK_Version(0) }
1142 Tier3InvokeNotifyFreqLog = 0; 1143 Tier3InvokeNotifyFreqLog = 0;
1143 Tier4InvocationThreshold = 0; 1144 Tier4InvocationThreshold = 0;
1144 } 1145 }
1145 } 1146 }
1146 1147
1148 /**
1149 * Returns the minimum number of compiler threads needed to run the JVM. The following
1150 * configurations are possible.
1151 *
1152 * 1) The JVM is build using an interpreter only. As a result, the minimum number of
1153 * compiler threads is 0.
1154 * 2) The JVM is build using the compiler(s) and tiered compilation is disabled. As
1155 * a result, either C1 or C2 is used, so the minimum number of compiler threads is 1.
1156 * 3) The JVM is build using the compiler(s) and tiered compilation is enabled. However,
1157 * the option "TieredStopAtLevel < CompLevel_full_optimization". As a result, only
1158 * C1 can be used, so the minimum number of compiler threads is 1.
1159 * 4) The JVM is build using the compilers and tiered compilation is enabled. The option
1160 * 'TieredStopAtLevel = CompLevel_full_optimization' (the default value). As a result,
1161 * the minimum number of compiler threads is 2.
1162 */
1163 int Arguments::get_min_number_of_compiler_threads() {
1164 #if !defined(COMPILER1) && !defined(COMPILER2) && !defined(SHARK)
1165 return 0; // case 1
1166 #else
1167 if (!TieredCompilation || (TieredStopAtLevel < CompLevel_full_optimization)) {
1168 return 1; // case 2 or case 3
1169 }
1170 return 2; // case 4 (tiered)
1171 #endif
1172 }
1173
1147 #if INCLUDE_ALL_GCS 1174 #if INCLUDE_ALL_GCS
1148 static void disable_adaptive_size_policy(const char* collector_name) { 1175 static void disable_adaptive_size_policy(const char* collector_name) {
1149 if (UseAdaptiveSizePolicy) { 1176 if (UseAdaptiveSizePolicy) {
1150 if (FLAG_IS_CMDLINE(UseAdaptiveSizePolicy)) { 1177 if (FLAG_IS_CMDLINE(UseAdaptiveSizePolicy)) {
1151 warning("disabling UseAdaptiveSizePolicy; it is incompatible with %s.", 1178 warning("disabling UseAdaptiveSizePolicy; it is incompatible with %s.",
2458 } 2485 }
2459 2486
2460 #ifdef COMPILER1 2487 #ifdef COMPILER1
2461 status &= verify_interval(SafepointPollOffset, 0, os::vm_page_size() - BytesPerWord, "SafepointPollOffset"); 2488 status &= verify_interval(SafepointPollOffset, 0, os::vm_page_size() - BytesPerWord, "SafepointPollOffset");
2462 #endif 2489 #endif
2490
2491 int min_number_of_compiler_threads = get_min_number_of_compiler_threads();
2492 // The default CICompilerCount's value is CI_COMPILER_COUNT.
2493 assert(min_number_of_compiler_threads <= CI_COMPILER_COUNT, "minimum should be less or equal default number");
2494 // Check the minimum number of compiler threads
2495 status &=verify_min_value(CICompilerCount, min_number_of_compiler_threads, "CICompilerCount");
2463 2496
2464 return status; 2497 return status;
2465 } 2498 }
2466 2499
2467 bool Arguments::is_bad_option(const JavaVMOption* option, jboolean ignore, 2500 bool Arguments::is_bad_option(const JavaVMOption* option, jboolean ignore,
3615 // If flag "-XX:Flags=flags-file" is used it will be the first option to be processed. 3648 // If flag "-XX:Flags=flags-file" is used it will be the first option to be processed.
3616 const char* hotspotrc = ".hotspotrc"; 3649 const char* hotspotrc = ".hotspotrc";
3617 bool settings_file_specified = false; 3650 bool settings_file_specified = false;
3618 bool needs_hotspotrc_warning = false; 3651 bool needs_hotspotrc_warning = false;
3619 3652
3653 ArgumentsExt::process_options(args);
3654
3620 const char* flags_file; 3655 const char* flags_file;
3621 int index; 3656 int index;
3622 for (index = 0; index < args->nOptions; index++) { 3657 for (index = 0; index < args->nOptions; index++) {
3623 const JavaVMOption *option = args->options + index; 3658 const JavaVMOption *option = args->options + index;
3624 if (match_option(option, "-XX:Flags=", &tail)) { 3659 if (match_option(option, "-XX:Flags=", &tail)) {