1009 "Print all VM flags after argument and ergonomic processing") \
1010 \
1011 develop(bool, PrintFlagsWithComments, false, \
1012 "Print all VM flags with default values and descriptions and " \
1013 "exit") \
1014 \
1015 product(bool, PrintFlagsRanges, false, \
1016 "Print VM flags and their ranges") \
1017 \
1018 product(bool, SerializeVMOutput, true, DIAGNOSTIC, \
1019 "Use a mutex to serialize output to tty and LogFile") \
1020 \
1021 product(bool, DisplayVMOutput, true, DIAGNOSTIC, \
1022 "Display all VM output on the tty, independently of LogVMOutput") \
1023 \
1024 product(bool, LogVMOutput, false, DIAGNOSTIC, \
1025 "Save VM output to LogFile") \
1026 \
1027 product(ccstr, LogFile, nullptr, DIAGNOSTIC, \
1028 "If LogVMOutput or LogCompilation is on, save VM output to " \
1029 "this file [default: ./hotspot_pid%p.log] (%p replaced with pid)")\
1030 \
1031 product(ccstr, ErrorFile, nullptr, \
1032 "If an error occurs, save the error data to this file " \
1033 "[default: ./hs_err_pid%p.log] (%p replaced with pid)") \
1034 \
1035 product(bool, ExtensiveErrorReports, \
1036 PRODUCT_ONLY(false) NOT_PRODUCT(true), \
1037 "Error reports are more extensive.") \
1038 \
1039 product(bool, DisplayVMOutputToStderr, false, \
1040 "If DisplayVMOutput is true, display all VM output to stderr") \
1041 \
1042 product(bool, DisplayVMOutputToStdout, false, \
1043 "If DisplayVMOutput is true, display all VM output to stdout") \
1044 \
1045 product(bool, ErrorFileToStderr, false, \
1046 "If true, error data is printed to stderr instead of a file") \
1047 \
1048 product(bool, ErrorFileToStdout, false, \
1049 "If true, error data is printed to stdout instead of a file") \
1050 \
1051 develop(bool, VerifyHeavyMonitors, false, \
1052 "Checks that no stack locking happens when using " \
1053 "-XX:LockingMode=0 (LM_MONITOR)") \
1133 product(bool, UseInterpreter, true, \
1134 "Use interpreter for non-compiled methods") \
1135 \
1136 develop(bool, UseFastSignatureHandlers, true, \
1137 "Use fast signature handlers for native calls") \
1138 \
1139 product(bool, UseLoopCounter, true, \
1140 "Increment invocation counter on backward branch") \
1141 \
1142 product_pd(bool, UseOnStackReplacement, \
1143 "Use on stack replacement, calls runtime if invoc. counter " \
1144 "overflows in loop") \
1145 \
1146 develop(bool, TraceOnStackReplacement, false, \
1147 "Trace on stack replacement") \
1148 \
1149 product_pd(bool, PreferInterpreterNativeStubs, \
1150 "Use always interpreter stubs for native methods invoked via " \
1151 "interpreter") \
1152 \
1153 develop(bool, CountBytecodes, false, \
1154 "Count number of bytecodes executed") \
1155 \
1156 develop(bool, PrintBytecodeHistogram, false, \
1157 "Print histogram of the executed bytecodes") \
1158 \
1159 develop(bool, PrintBytecodePairHistogram, false, \
1160 "Print histogram of the executed bytecode pairs") \
1161 \
1162 product(bool, PrintSignatureHandlers, false, DIAGNOSTIC, \
1163 "Print code generated for native method signature handlers") \
1164 \
1165 develop(bool, VerifyOops, false, \
1166 "Do plausibility checks for oops") \
1167 \
1168 develop(bool, CheckUnhandledOops, false, \
1169 "Check for unhandled oops in VM code") \
1170 \
1171 develop(bool, VerifyJNIFields, trueInDebug, \
1172 "Verify jfieldIDs for instance fields") \
1173 \
1174 develop(bool, VerifyFPU, false, \
1175 "Verify FPU state (check for NaN's, etc.)") \
1176 \
1177 develop(bool, VerifyActivationFrameSize, false, \
1178 "Verify that activation frame didn't become smaller than its " \
1179 "minimal size") \
1180 \
1181 develop(bool, TraceFrequencyInlining, false, \
1182 "Trace frequency based inlining") \
1183 \
1184 develop_pd(bool, InlineIntrinsics, \
1185 "Use intrinsics in Interpreter that can be statically resolved") \
1186 \
1187 product_pd(bool, ProfileInterpreter, \
1188 "Profile at the bytecode level during interpretation") \
1189 \
1190 develop_pd(bool, ProfileTraps, \
1191 "Profile deoptimization traps at the bytecode level") \
1192 \
1193 product(intx, ProfileMaturityPercentage, 20, \
1194 "number of method invocations/branches (expressed as % of " \
1195 "CompileThreshold) before using the method's profile") \
1196 range(0, 100) \
1197 \
1198 product(bool, PrintMethodData, false, DIAGNOSTIC, \
1199 "Print the results of +ProfileInterpreter at end of run") \
1200 \
1201 develop(bool, VerifyDataPointer, trueInDebug, \
1202 "Verify the method data pointer during interpreter profiling") \
1203 \
1204 develop(bool, CrashGCForDumpingJavaThread, false, \
1205 "Manually make GC thread crash then dump java stack trace; " \
1206 "Test only") \
1207 \
1208 /* compilation */ \
1209 product(bool, UseCompiler, true, \
1210 "Use Just-In-Time compilation") \
1211 \
1212 develop(intx, CounterHalfLifeTime, 30, \
1213 "Half-life time of invocation counters (in seconds)") \
1214 \
1215 product(bool, AlwaysCompileLoopMethods, false, \
1216 "When using recompilation, never interpret methods " \
1217 "containing loops") \
1720 product(bool, UsePerfData, true, \
1721 "Flag to disable jvmstat instrumentation for performance testing "\
1722 "and problem isolation purposes") \
1723 \
1724 product(bool, PerfDataSaveToFile, false, \
1725 "Save PerfData memory to hsperfdata_<pid> file on exit") \
1726 \
1727 product(ccstr, PerfDataSaveFile, nullptr, \
1728 "Save PerfData memory to the specified absolute pathname. " \
1729 "The string %p in the file name (if present) " \
1730 "will be replaced by pid") \
1731 \
1732 product(int, PerfDataSamplingInterval, 50, \
1733 "Data sampling interval (in milliseconds)") \
1734 range(PeriodicTask::min_interval, max_jint) \
1735 constraint(PerfDataSamplingIntervalFunc, AfterErgo) \
1736 \
1737 product(bool, PerfDisableSharedMem, false, \
1738 "Store performance data in standard memory") \
1739 \
1740 product(int, PerfDataMemorySize, 32*K, \
1741 "Size of performance data memory region. Will be rounded " \
1742 "up to a multiple of the native os page size.") \
1743 range(128, 32*64*K) \
1744 \
1745 product(int, PerfMaxStringConstLength, 1024, \
1746 "Maximum PerfStringConstant string length before truncation") \
1747 range(32, 32*K) \
1748 \
1749 product(bool, PerfAllowAtExitRegistration, false, \
1750 "Allow registration of atexit() methods") \
1751 \
1752 product(bool, PerfBypassFileSystemCheck, false, \
1753 "Bypass Win32 file system criteria checks (Windows Only)") \
1754 \
1755 product(int, UnguardOnExecutionViolation, 0, \
1756 "Unguard page and retry on no-execute fault (Win32 only) " \
1757 "0=off, 1=conservative, 2=aggressive") \
1758 range(0, 2) \
1759 \
1760 /* Serviceability Support */ \
1960 \
1961 develop(bool, VerifyCrossModifyFence, \
1962 false AARCH64_ONLY(DEBUG_ONLY(||true)), \
1963 "Mark all threads after a safepoint, and clear on a modify " \
1964 "fence. Add cleanliness checks.") \
1965 \
1966 product(int, LockingMode, LM_LIGHTWEIGHT, \
1967 "Select locking mode: " \
1968 "0: monitors only (LM_MONITOR), " \
1969 "1: monitors & legacy stack-locking (LM_LEGACY), " \
1970 "2: monitors & new lightweight locking (LM_LIGHTWEIGHT, default)") \
1971 range(0, 2) \
1972 \
1973 product(uint, TrimNativeHeapInterval, 0, \
1974 "Interval, in ms, at which the JVM will trim the native heap if " \
1975 "the platform supports that. Lower values will reclaim memory " \
1976 "more eagerly at the cost of higher overhead. A value of 0 " \
1977 "(default) disables native heap trimming.") \
1978 range(0, UINT_MAX) \
1979 \
1980 develop(bool, SimulateFullAddressSpace, false, \
1981 "Simulates a very populated, fragmented address space; no " \
1982 "targeted reservations will succeed.") \
1983 \
1984 product(bool, ProfileExceptionHandlers, true, \
1985 "Profile exception handlers") \
1986 \
1987 product(bool, AlwaysRecordEvolDependencies, true, EXPERIMENTAL, \
1988 "Unconditionally record nmethod dependencies on class " \
1989 "rewriting/transformation independently of the JVMTI " \
1990 "can_{retransform/redefine}_classes capabilities.") \
1991 \
1992 product(bool, UseSecondarySupersCache, true, DIAGNOSTIC, \
1993 "Use secondary supers cache during subtype checks.") \
1994 \
1995 product(bool, UseSecondarySupersTable, false, DIAGNOSTIC, \
1996 "Use hash table to lookup secondary supers.") \
1997 \
1998 product(bool, VerifySecondarySupers, false, DIAGNOSTIC, \
1999 "Check that linear and hashed secondary lookups return the same result.") \
2000 \
2001 product(bool, StressSecondarySupers, false, DIAGNOSTIC, \
2002 "Use a terrible hash function in order to generate many collisions.") \
2003
2004 // end of RUNTIME_FLAGS
2005
2006 DECLARE_FLAGS(LP64_RUNTIME_FLAGS)
2007 DECLARE_ARCH_FLAGS(ARCH_FLAGS)
2008 DECLARE_FLAGS(RUNTIME_FLAGS)
2009 DECLARE_FLAGS(RUNTIME_OS_FLAGS)
2010
2011 #endif // SHARE_RUNTIME_GLOBALS_HPP
|
1009 "Print all VM flags after argument and ergonomic processing") \
1010 \
1011 develop(bool, PrintFlagsWithComments, false, \
1012 "Print all VM flags with default values and descriptions and " \
1013 "exit") \
1014 \
1015 product(bool, PrintFlagsRanges, false, \
1016 "Print VM flags and their ranges") \
1017 \
1018 product(bool, SerializeVMOutput, true, DIAGNOSTIC, \
1019 "Use a mutex to serialize output to tty and LogFile") \
1020 \
1021 product(bool, DisplayVMOutput, true, DIAGNOSTIC, \
1022 "Display all VM output on the tty, independently of LogVMOutput") \
1023 \
1024 product(bool, LogVMOutput, false, DIAGNOSTIC, \
1025 "Save VM output to LogFile") \
1026 \
1027 product(ccstr, LogFile, nullptr, DIAGNOSTIC, \
1028 "If LogVMOutput or LogCompilation is on, save VM output to " \
1029 "this file [default: ./hotspot_%p.log] (%p replaced with pidNNN)")\
1030 \
1031 product(ccstr, ErrorFile, nullptr, \
1032 "If an error occurs, save the error data to this file " \
1033 "[default: ./hs_err_%p.log] (%p replaced with pidNNN)") \
1034 \
1035 product(bool, ExtensiveErrorReports, \
1036 PRODUCT_ONLY(false) NOT_PRODUCT(true), \
1037 "Error reports are more extensive.") \
1038 \
1039 product(bool, DisplayVMOutputToStderr, false, \
1040 "If DisplayVMOutput is true, display all VM output to stderr") \
1041 \
1042 product(bool, DisplayVMOutputToStdout, false, \
1043 "If DisplayVMOutput is true, display all VM output to stdout") \
1044 \
1045 product(bool, ErrorFileToStderr, false, \
1046 "If true, error data is printed to stderr instead of a file") \
1047 \
1048 product(bool, ErrorFileToStdout, false, \
1049 "If true, error data is printed to stdout instead of a file") \
1050 \
1051 develop(bool, VerifyHeavyMonitors, false, \
1052 "Checks that no stack locking happens when using " \
1053 "-XX:LockingMode=0 (LM_MONITOR)") \
1133 product(bool, UseInterpreter, true, \
1134 "Use interpreter for non-compiled methods") \
1135 \
1136 develop(bool, UseFastSignatureHandlers, true, \
1137 "Use fast signature handlers for native calls") \
1138 \
1139 product(bool, UseLoopCounter, true, \
1140 "Increment invocation counter on backward branch") \
1141 \
1142 product_pd(bool, UseOnStackReplacement, \
1143 "Use on stack replacement, calls runtime if invoc. counter " \
1144 "overflows in loop") \
1145 \
1146 develop(bool, TraceOnStackReplacement, false, \
1147 "Trace on stack replacement") \
1148 \
1149 product_pd(bool, PreferInterpreterNativeStubs, \
1150 "Use always interpreter stubs for native methods invoked via " \
1151 "interpreter") \
1152 \
1153 product(bool, CountBytecodes, false, DIAGNOSTIC, \
1154 "Count number of bytecodes executed") \
1155 \
1156 product(bool, CountBytecodesPerThread, false, DIAGNOSTIC, \
1157 "Count number of bytecodes executed per thread") \
1158 \
1159 product(bool, PrintBytecodeHistogram, false, DIAGNOSTIC, \
1160 "Print histogram of the executed bytecodes") \
1161 \
1162 product(double, PrintBytecodeHistogramCutoff, 0.01, \
1163 "Print cutoff for histogram of the executed bytecodes") \
1164 range(0.0, 100.0) \
1165 \
1166 develop(bool, PrintBytecodePairHistogram, false, \
1167 "Print histogram of the executed bytecode pairs") \
1168 \
1169 product(bool, PrintSignatureHandlers, false, DIAGNOSTIC, \
1170 "Print code generated for native method signature handlers") \
1171 \
1172 develop(bool, VerifyOops, false, \
1173 "Do plausibility checks for oops") \
1174 \
1175 develop(bool, CheckUnhandledOops, false, \
1176 "Check for unhandled oops in VM code") \
1177 \
1178 develop(bool, VerifyJNIFields, trueInDebug, \
1179 "Verify jfieldIDs for instance fields") \
1180 \
1181 develop(bool, VerifyFPU, false, \
1182 "Verify FPU state (check for NaN's, etc.)") \
1183 \
1184 develop(bool, VerifyActivationFrameSize, false, \
1185 "Verify that activation frame didn't become smaller than its " \
1186 "minimal size") \
1187 \
1188 develop(bool, TraceFrequencyInlining, false, \
1189 "Trace frequency based inlining") \
1190 \
1191 develop_pd(bool, InlineIntrinsics, \
1192 "Use intrinsics in Interpreter that can be statically resolved") \
1193 \
1194 product_pd(bool, ProfileInterpreter, \
1195 "Profile at the bytecode level during interpretation") \
1196 \
1197 develop_pd(bool, ProfileTraps, \
1198 "Profile deoptimization traps at the bytecode level") \
1199 \
1200 product(intx, ProfileMaturityPercentage, 20, \
1201 "number of method invocations/branches (expressed as % of " \
1202 "CompileThreshold) before using the method's profile") \
1203 range(0, 100) \
1204 \
1205 product(bool, ForceProfiling, false, DIAGNOSTIC, \
1206 "Eagerly allocate MDOs") \
1207 \
1208 product(bool, PrintMethodData, false, DIAGNOSTIC, \
1209 "Print the results of +ProfileInterpreter at end of run") \
1210 \
1211 develop(bool, VerifyDataPointer, trueInDebug, \
1212 "Verify the method data pointer during interpreter profiling") \
1213 \
1214 develop(bool, CrashGCForDumpingJavaThread, false, \
1215 "Manually make GC thread crash then dump java stack trace; " \
1216 "Test only") \
1217 \
1218 /* compilation */ \
1219 product(bool, UseCompiler, true, \
1220 "Use Just-In-Time compilation") \
1221 \
1222 develop(intx, CounterHalfLifeTime, 30, \
1223 "Half-life time of invocation counters (in seconds)") \
1224 \
1225 product(bool, AlwaysCompileLoopMethods, false, \
1226 "When using recompilation, never interpret methods " \
1227 "containing loops") \
1730 product(bool, UsePerfData, true, \
1731 "Flag to disable jvmstat instrumentation for performance testing "\
1732 "and problem isolation purposes") \
1733 \
1734 product(bool, PerfDataSaveToFile, false, \
1735 "Save PerfData memory to hsperfdata_<pid> file on exit") \
1736 \
1737 product(ccstr, PerfDataSaveFile, nullptr, \
1738 "Save PerfData memory to the specified absolute pathname. " \
1739 "The string %p in the file name (if present) " \
1740 "will be replaced by pid") \
1741 \
1742 product(int, PerfDataSamplingInterval, 50, \
1743 "Data sampling interval (in milliseconds)") \
1744 range(PeriodicTask::min_interval, max_jint) \
1745 constraint(PerfDataSamplingIntervalFunc, AfterErgo) \
1746 \
1747 product(bool, PerfDisableSharedMem, false, \
1748 "Store performance data in standard memory") \
1749 \
1750 product(int, PerfDataMemorySize, 64*K, \
1751 "Size of performance data memory region. Will be rounded " \
1752 "up to a multiple of the native os page size.") \
1753 range(128, 32*64*K) \
1754 \
1755 product(int, PerfMaxStringConstLength, 1024, \
1756 "Maximum PerfStringConstant string length before truncation") \
1757 range(32, 32*K) \
1758 \
1759 product(bool, PerfAllowAtExitRegistration, false, \
1760 "Allow registration of atexit() methods") \
1761 \
1762 product(bool, PerfBypassFileSystemCheck, false, \
1763 "Bypass Win32 file system criteria checks (Windows Only)") \
1764 \
1765 product(int, UnguardOnExecutionViolation, 0, \
1766 "Unguard page and retry on no-execute fault (Win32 only) " \
1767 "0=off, 1=conservative, 2=aggressive") \
1768 range(0, 2) \
1769 \
1770 /* Serviceability Support */ \
1970 \
1971 develop(bool, VerifyCrossModifyFence, \
1972 false AARCH64_ONLY(DEBUG_ONLY(||true)), \
1973 "Mark all threads after a safepoint, and clear on a modify " \
1974 "fence. Add cleanliness checks.") \
1975 \
1976 product(int, LockingMode, LM_LIGHTWEIGHT, \
1977 "Select locking mode: " \
1978 "0: monitors only (LM_MONITOR), " \
1979 "1: monitors & legacy stack-locking (LM_LEGACY), " \
1980 "2: monitors & new lightweight locking (LM_LIGHTWEIGHT, default)") \
1981 range(0, 2) \
1982 \
1983 product(uint, TrimNativeHeapInterval, 0, \
1984 "Interval, in ms, at which the JVM will trim the native heap if " \
1985 "the platform supports that. Lower values will reclaim memory " \
1986 "more eagerly at the cost of higher overhead. A value of 0 " \
1987 "(default) disables native heap trimming.") \
1988 range(0, UINT_MAX) \
1989 \
1990 product(bool, ProfileVMLocks, false, DIAGNOSTIC, \
1991 "Profile VM locks usage on main thread") \
1992 \
1993 product(bool, ProfileVMCalls, false, DIAGNOSTIC, \
1994 "Profile VM calls on main thread") \
1995 \
1996 product(bool, ProfileVMOps, true, DIAGNOSTIC, \
1997 "Profile VM operations on main thread") \
1998 \
1999 product(bool, ProfileRuntimeCalls, false, DIAGNOSTIC, \
2000 "Profile calls into VM runtime on main thread") \
2001 \
2002 develop(bool, SimulateFullAddressSpace, false, \
2003 "Simulates a very populated, fragmented address space; no " \
2004 "targeted reservations will succeed.") \
2005 \
2006 product(bool, ProfileExceptionHandlers, true, \
2007 "Profile exception handlers") \
2008 \
2009 product(bool, AlwaysRecordEvolDependencies, true, EXPERIMENTAL, \
2010 "Unconditionally record nmethod dependencies on class " \
2011 "rewriting/transformation independently of the JVMTI " \
2012 "can_{retransform/redefine}_classes capabilities.") \
2013 \
2014 product(bool, TraceThreadTime, false, \
2015 "Enable tracing of thread time in Perf counters") \
2016 \
2017 product(bool, UseSecondarySupersCache, true, DIAGNOSTIC, \
2018 "Use secondary supers cache during subtype checks.") \
2019 \
2020 product(bool, UseSecondarySupersTable, false, DIAGNOSTIC, \
2021 "Use hash table to lookup secondary supers.") \
2022 \
2023 product(bool, VerifySecondarySupers, false, DIAGNOSTIC, \
2024 "Check that linear and hashed secondary lookups return the same result.") \
2025 \
2026 product(bool, StressSecondarySupers, false, DIAGNOSTIC, \
2027 "Use a terrible hash function in order to generate many collisions.") \
2028
2029
2030 // end of RUNTIME_FLAGS
2031
2032 DECLARE_FLAGS(LP64_RUNTIME_FLAGS)
2033 DECLARE_ARCH_FLAGS(ARCH_FLAGS)
2034 DECLARE_FLAGS(RUNTIME_FLAGS)
2035 DECLARE_FLAGS(RUNTIME_OS_FLAGS)
2036
2037 #endif // SHARE_RUNTIME_GLOBALS_HPP
|