< prev index next >

src/hotspot/share/runtime/globals.hpp

Print this page

 111 const size_t minimumStringTableSize = 128;
 112 const size_t defaultSymbolTableSize = 32768; // 2^15
 113 const size_t minimumSymbolTableSize = 1024;
 114 
 115 #ifdef _LP64
 116 #define LP64_RUNTIME_FLAGS(develop,                                         \
 117                            develop_pd,                                      \
 118                            product,                                         \
 119                            product_pd,                                      \
 120                            range,                                           \
 121                            constraint)                                      \
 122                                                                             \
 123   product(bool, UseCompressedOops, false,                                   \
 124           "Use 32-bit object references in 64-bit VM. "                     \
 125           "lp64_product means flag is always constant in 32 bit VM")        \
 126                                                                             \
 127   product(bool, UseCompressedClassPointers, true,                           \
 128           "Use 32-bit class pointers in 64-bit VM. "                        \
 129           "lp64_product means flag is always constant in 32 bit VM")        \
 130                                                                             \





 131   product(bool, UseCompactObjectHeaders, false, EXPERIMENTAL,               \
 132           "Use compact 64-bit object headers in 64-bit VM")                 \
 133                                                                             \
 134   product(int, ObjectAlignmentInBytes, 8,                                   \
 135           "Default object alignment in bytes, 8 is minimum")                \
 136           range(8, 256)                                                     \
 137           constraint(ObjectAlignmentInBytesConstraintFunc, AtParse)
 138 
 139 #else
 140 // !_LP64
 141 
 142 #define LP64_RUNTIME_FLAGS(develop,                                         \
 143                            develop_pd,                                      \
 144                            product,                                         \
 145                            product_pd,                                      \
 146                            range,                                           \
 147                            constraint)
 148 const bool UseCompressedOops = false;
 149 const bool UseCompressedClassPointers = false;
 150 const bool UseCompactObjectHeaders = false;

 360           "Enables intrinsification of ArraysSupport.vectorizedHashCode()") \
 361                                                                             \
 362   product(bool, UseCopySignIntrinsic, false, DIAGNOSTIC,                    \
 363           "Enables intrinsification of Math.copySign")                      \
 364                                                                             \
 365   product(bool, UseSignumIntrinsic, false, DIAGNOSTIC,                      \
 366           "Enables intrinsification of Math.signum")                        \
 367                                                                             \
 368   product_pd(bool, DelayCompilerStubsGeneration, DIAGNOSTIC,                \
 369           "Use Compiler thread for compiler's stubs generation")            \
 370                                                                             \
 371   product(ccstrlist, DisableIntrinsic, "", DIAGNOSTIC,                      \
 372          "do not expand intrinsics whose (internal) names appear here")     \
 373          constraint(DisableIntrinsicConstraintFunc,AfterErgo)               \
 374                                                                             \
 375   product(ccstrlist, ControlIntrinsic, "", DIAGNOSTIC,                      \
 376          "Control intrinsics using a list of +/- (internal) names, "        \
 377          "separated by commas")                                             \
 378          constraint(ControlIntrinsicConstraintFunc,AfterErgo)               \
 379                                                                             \






 380   develop(bool, TraceCallFixup, false,                                      \
 381           "Trace all call fixups")                                          \
 382                                                                             \
 383   develop(bool, DeoptimizeALot, false,                                      \
 384           "Deoptimize at every exit from the runtime system")               \
 385                                                                             \
 386   develop(ccstrlist, DeoptimizeOnlyAt, "",                                  \
 387           "A comma separated list of bcis to deoptimize at")                \
 388                                                                             \
 389   develop(bool, DeoptimizeRandom, false,                                    \
 390           "Deoptimize random frames on random exit from the runtime system")\
 391                                                                             \
 392   develop(bool, ZombieALot, false,                                          \
 393           "Create non-entrant nmethods at exit from the runtime system")    \
 394                                                                             \
 395   develop(bool, WalkStackALot, false,                                       \
 396           "Trace stack (no print) at every exit from the runtime system")   \
 397                                                                             \
 398   develop(bool, DeoptimizeObjectsALot, false,                               \
 399           "For testing purposes concurrent threads revert optimizations "   \

 996           "Print all VM flags after argument and ergonomic processing")     \
 997                                                                             \
 998   develop(bool, PrintFlagsWithComments, false,                              \
 999           "Print all VM flags with default values and descriptions and "    \
1000           "exit")                                                           \
1001                                                                             \
1002   product(bool, PrintFlagsRanges, false,                                    \
1003           "Print VM flags and their ranges")                                \
1004                                                                             \
1005   product(bool, SerializeVMOutput, true, DIAGNOSTIC,                        \
1006           "Use a mutex to serialize output to tty and LogFile")             \
1007                                                                             \
1008   product(bool, DisplayVMOutput, true, DIAGNOSTIC,                          \
1009           "Display all VM output on the tty, independently of LogVMOutput") \
1010                                                                             \
1011   product(bool, LogVMOutput, false, DIAGNOSTIC,                             \
1012           "Save VM output to LogFile")                                      \
1013                                                                             \
1014   product(ccstr, LogFile, nullptr, DIAGNOSTIC,                              \
1015           "If LogVMOutput or LogCompilation is on, save VM output to "      \
1016           "this file [default: ./hotspot_pid%p.log] (%p replaced with pid)")\
1017                                                                             \
1018   product(ccstr, ErrorFile, nullptr,                                        \
1019           "If an error occurs, save the error data to this file "           \
1020           "[default: ./hs_err_pid%p.log] (%p replaced with pid)")           \
1021                                                                             \
1022   product(bool, ExtensiveErrorReports,                                      \
1023           PRODUCT_ONLY(false) NOT_PRODUCT(true),                            \
1024           "Error reports are more extensive.")                              \
1025                                                                             \
1026   product(bool, DisplayVMOutputToStderr, false,                             \
1027           "If DisplayVMOutput is true, display all VM output to stderr")    \
1028                                                                             \
1029   product(bool, DisplayVMOutputToStdout, false,                             \
1030           "If DisplayVMOutput is true, display all VM output to stdout")    \
1031                                                                             \
1032   product(bool, ErrorFileToStderr, false,                                   \
1033           "If true, error data is printed to stderr instead of a file")     \
1034                                                                             \
1035   product(bool, ErrorFileToStdout, false,                                   \
1036           "If true, error data is printed to stdout instead of a file")     \
1037                                                                             \
1038   develop(bool, VerifyHeavyMonitors, false,                                 \
1039           "Checks that no stack locking happens when using "                \
1040           "-XX:LockingMode=0 (LM_MONITOR)")                                 \

1120   product(bool, UseInterpreter, true,                                       \
1121           "Use interpreter for non-compiled methods")                       \
1122                                                                             \
1123   develop(bool, UseFastSignatureHandlers, true,                             \
1124           "Use fast signature handlers for native calls")                   \
1125                                                                             \
1126   product(bool, UseLoopCounter, true,                                       \
1127           "Increment invocation counter on backward branch")                \
1128                                                                             \
1129   product_pd(bool, UseOnStackReplacement,                                   \
1130           "Use on stack replacement, calls runtime if invoc. counter "      \
1131           "overflows in loop")                                              \
1132                                                                             \
1133   develop(bool, TraceOnStackReplacement, false,                             \
1134           "Trace on stack replacement")                                     \
1135                                                                             \
1136   product_pd(bool, PreferInterpreterNativeStubs,                            \
1137           "Use always interpreter stubs for native methods invoked via "    \
1138           "interpreter")                                                    \
1139                                                                             \
1140   develop(bool, CountBytecodes, false,                                      \
1141           "Count number of bytecodes executed")                             \
1142                                                                             \
1143   develop(bool, PrintBytecodeHistogram, false,                              \



1144           "Print histogram of the executed bytecodes")                      \
1145                                                                             \




1146   develop(bool, PrintBytecodePairHistogram, false,                          \
1147           "Print histogram of the executed bytecode pairs")                 \
1148                                                                             \
1149   product(bool, PrintSignatureHandlers, false, DIAGNOSTIC,                  \
1150           "Print code generated for native method signature handlers")      \
1151                                                                             \
1152   develop(bool, VerifyOops, false,                                          \
1153           "Do plausibility checks for oops")                                \
1154                                                                             \
1155   develop(bool, CheckUnhandledOops, false,                                  \
1156           "Check for unhandled oops in VM code")                            \
1157                                                                             \
1158   develop(bool, VerifyJNIFields, trueInDebug,                               \
1159           "Verify jfieldIDs for instance fields")                           \
1160                                                                             \
1161   develop(bool, VerifyFPU, false,                                           \
1162           "Verify FPU state (check for NaN's, etc.)")                       \
1163                                                                             \
1164   develop(bool, VerifyActivationFrameSize, false,                           \
1165           "Verify that activation frame didn't become smaller than its "    \
1166           "minimal size")                                                   \
1167                                                                             \
1168   develop(bool, TraceFrequencyInlining, false,                              \
1169           "Trace frequency based inlining")                                 \
1170                                                                             \
1171   develop_pd(bool, InlineIntrinsics,                                        \
1172           "Use intrinsics in Interpreter that can be statically resolved")  \
1173                                                                             \
1174   product_pd(bool, ProfileInterpreter,                                      \
1175           "Profile at the bytecode level during interpretation")            \
1176                                                                             \
1177   develop_pd(bool, ProfileTraps,                                            \
1178           "Profile deoptimization traps at the bytecode level")             \
1179                                                                             \
1180   product(intx, ProfileMaturityPercentage, 20,                              \
1181           "number of method invocations/branches (expressed as % of "       \
1182           "CompileThreshold) before using the method's profile")            \
1183           range(0, 100)                                                     \
1184                                                                             \



1185   product(bool, PrintMethodData, false, DIAGNOSTIC,                         \
1186           "Print the results of +ProfileInterpreter at end of run")         \
1187                                                                             \
1188   develop(bool, VerifyDataPointer, trueInDebug,                             \
1189           "Verify the method data pointer during interpreter profiling")    \
1190                                                                             \
1191   develop(bool, CrashGCForDumpingJavaThread, false,                         \
1192           "Manually make GC thread crash then dump java stack trace;  "     \
1193           "Test only")                                                      \
1194                                                                             \
1195   /* compilation */                                                         \
1196   product(bool, UseCompiler, true,                                          \
1197           "Use Just-In-Time compilation")                                   \
1198                                                                             \
1199   product(bool, AlwaysCompileLoopMethods, false,                            \
1200           "When using recompilation, never interpret methods "              \
1201           "containing loops")                                               \
1202                                                                             \
1203   product(int,  AllocatePrefetchStyle, 1,                                   \
1204           "0 = no prefetch, "                                               \

1702   product(bool, UsePerfData, true,                                          \
1703           "Flag to disable jvmstat instrumentation for performance testing "\
1704           "and problem isolation purposes")                                 \
1705                                                                             \
1706   product(bool, PerfDataSaveToFile, false,                                  \
1707           "Save PerfData memory to hsperfdata_<pid> file on exit")          \
1708                                                                             \
1709   product(ccstr, PerfDataSaveFile, nullptr,                                 \
1710           "Save PerfData memory to the specified absolute pathname. "       \
1711           "The string %p in the file name (if present) "                    \
1712           "will be replaced by pid")                                        \
1713                                                                             \
1714   product(int, PerfDataSamplingInterval, 50,                                \
1715           "Data sampling interval (in milliseconds)")                       \
1716           range(PeriodicTask::min_interval, max_jint)                       \
1717           constraint(PerfDataSamplingIntervalFunc, AfterErgo)               \
1718                                                                             \
1719   product(bool, PerfDisableSharedMem, false,                                \
1720           "Store performance data in standard memory")                      \
1721                                                                             \
1722   product(int, PerfDataMemorySize, 32*K,                                    \
1723           "Size of performance data memory region. Will be rounded "        \
1724           "up to a multiple of the native os page size.")                   \
1725           range(128, 32*64*K)                                               \
1726                                                                             \
1727   product(int, PerfMaxStringConstLength, 1024,                              \
1728           "Maximum PerfStringConstant string length before truncation")     \
1729           range(32, 32*K)                                                   \
1730                                                                             \
1731   product(bool, PerfAllowAtExitRegistration, false,                         \
1732           "Allow registration of atexit() methods")                         \
1733                                                                             \
1734   product(bool, PerfBypassFileSystemCheck, false,                           \
1735           "Bypass Win32 file system criteria checks (Windows Only)")        \
1736                                                                             \
1737   product(int, UnguardOnExecutionViolation, 0,                              \
1738           "Unguard page and retry on no-execute fault (Win32 only) "        \
1739           "0=off, 1=conservative, 2=aggressive")                            \
1740           range(0, 2)                                                       \
1741                                                                             \
1742   /* Serviceability Support */                                              \

1949           range(0, 2)                                                       \
1950                                                                             \
1951   product(bool, UseObjectMonitorTable, false, DIAGNOSTIC,                   \
1952           "With Lightweight Locking mode, use a table to record inflated "  \
1953           "monitors rather than the first word of the object.")             \
1954                                                                             \
1955   product(int, LightweightFastLockingSpins, 13, DIAGNOSTIC,                 \
1956           "Specifies the number of times lightweight fast locking will "    \
1957           "attempt to CAS the markWord before inflating. Between each "     \
1958           "CAS it will spin for exponentially more time, resulting in "     \
1959           "a total number of spins on the order of O(2^value)")             \
1960           range(1, 30)                                                      \
1961                                                                             \
1962   product(uint, TrimNativeHeapInterval, 0,                                  \
1963           "Interval, in ms, at which the JVM will trim the native heap if " \
1964           "the platform supports that. Lower values will reclaim memory "   \
1965           "more eagerly at the cost of higher overhead. A value of 0 "      \
1966           "(default) disables native heap trimming.")                       \
1967           range(0, UINT_MAX)                                                \
1968                                                                             \












1969   develop(bool, SimulateFullAddressSpace, false,                            \
1970           "Simulates a very populated, fragmented address space; no "       \
1971           "targeted reservations will succeed.")                            \
1972                                                                             \
1973   product(bool, ProfileExceptionHandlers, true,                             \
1974           "Profile exception handlers")                                     \
1975                                                                             \
1976   product(bool, AlwaysRecordEvolDependencies, true, EXPERIMENTAL,           \
1977                 "Unconditionally record nmethod dependencies on class "     \
1978                 "rewriting/transformation independently of the JVMTI "      \
1979                 "can_{retransform/redefine}_classes capabilities.")         \
1980                                                                             \



1981   product(bool, UseSecondarySupersCache, true, DIAGNOSTIC,                  \
1982                 "Use secondary supers cache during subtype checks.")        \
1983                                                                             \
1984   product(bool, UseSecondarySupersTable, false, DIAGNOSTIC,                 \
1985                 "Use hash table to lookup secondary supers.")               \
1986                                                                             \
1987   product(bool, VerifySecondarySupers, false, DIAGNOSTIC,                   \
1988           "Check that linear and hashed secondary lookups return the same result.") \
1989                                                                             \
1990   product(bool, StressSecondarySupers, false, DIAGNOSTIC,                   \
1991           "Use a terrible hash function in order to generate many collisions.") \
1992                                                                             \
1993   product(bool, UseThreadsLockThrottleLock, true, DIAGNOSTIC,               \
1994           "Use an extra lock during Thread start and exit to alleviate"     \
1995           "contention on Threads_lock.")                                    \
1996 

1997 // end of RUNTIME_FLAGS
1998 
1999 DECLARE_FLAGS(LP64_RUNTIME_FLAGS)
2000 DECLARE_ARCH_FLAGS(ARCH_FLAGS)
2001 DECLARE_FLAGS(RUNTIME_FLAGS)
2002 DECLARE_FLAGS(RUNTIME_OS_FLAGS)
2003 
2004 #endif // SHARE_RUNTIME_GLOBALS_HPP

 111 const size_t minimumStringTableSize = 128;
 112 const size_t defaultSymbolTableSize = 32768; // 2^15
 113 const size_t minimumSymbolTableSize = 1024;
 114 
 115 #ifdef _LP64
 116 #define LP64_RUNTIME_FLAGS(develop,                                         \
 117                            develop_pd,                                      \
 118                            product,                                         \
 119                            product_pd,                                      \
 120                            range,                                           \
 121                            constraint)                                      \
 122                                                                             \
 123   product(bool, UseCompressedOops, false,                                   \
 124           "Use 32-bit object references in 64-bit VM. "                     \
 125           "lp64_product means flag is always constant in 32 bit VM")        \
 126                                                                             \
 127   product(bool, UseCompressedClassPointers, true,                           \
 128           "Use 32-bit class pointers in 64-bit VM. "                        \
 129           "lp64_product means flag is always constant in 32 bit VM")        \
 130                                                                             \
 131   /* Leyden */                                                              \
 132   product(bool, UseCompatibleCompressedOops, false,                         \
 133           "Always use HeapBasedNarrowOop mode, so that AOT code can be "    \
 134           "always work regardless of runtime heap range")                   \
 135                                                                             \
 136   product(bool, UseCompactObjectHeaders, false, EXPERIMENTAL,               \
 137           "Use compact 64-bit object headers in 64-bit VM")                 \
 138                                                                             \
 139   product(int, ObjectAlignmentInBytes, 8,                                   \
 140           "Default object alignment in bytes, 8 is minimum")                \
 141           range(8, 256)                                                     \
 142           constraint(ObjectAlignmentInBytesConstraintFunc, AtParse)
 143 
 144 #else
 145 // !_LP64
 146 
 147 #define LP64_RUNTIME_FLAGS(develop,                                         \
 148                            develop_pd,                                      \
 149                            product,                                         \
 150                            product_pd,                                      \
 151                            range,                                           \
 152                            constraint)
 153 const bool UseCompressedOops = false;
 154 const bool UseCompressedClassPointers = false;
 155 const bool UseCompactObjectHeaders = false;

 365           "Enables intrinsification of ArraysSupport.vectorizedHashCode()") \
 366                                                                             \
 367   product(bool, UseCopySignIntrinsic, false, DIAGNOSTIC,                    \
 368           "Enables intrinsification of Math.copySign")                      \
 369                                                                             \
 370   product(bool, UseSignumIntrinsic, false, DIAGNOSTIC,                      \
 371           "Enables intrinsification of Math.signum")                        \
 372                                                                             \
 373   product_pd(bool, DelayCompilerStubsGeneration, DIAGNOSTIC,                \
 374           "Use Compiler thread for compiler's stubs generation")            \
 375                                                                             \
 376   product(ccstrlist, DisableIntrinsic, "", DIAGNOSTIC,                      \
 377          "do not expand intrinsics whose (internal) names appear here")     \
 378          constraint(DisableIntrinsicConstraintFunc,AfterErgo)               \
 379                                                                             \
 380   product(ccstrlist, ControlIntrinsic, "", DIAGNOSTIC,                      \
 381          "Control intrinsics using a list of +/- (internal) names, "        \
 382          "separated by commas")                                             \
 383          constraint(ControlIntrinsicConstraintFunc,AfterErgo)               \
 384                                                                             \
 385   develop(ccstr, AddRuntimeUpcallsNOP, nullptr,                             \
 386           "Register a runtime upcall for testing."                          \
 387           "Format is '[upcallType]:[methodFilter]'"                         \
 388           "where upcallType is one of 'onMethodEntry', 'onMethodExit'"      \
 389           "and methodFilter is one of 'none', 'all'")                       \
 390                                                                             \
 391   develop(bool, TraceCallFixup, false,                                      \
 392           "Trace all call fixups")                                          \
 393                                                                             \
 394   develop(bool, DeoptimizeALot, false,                                      \
 395           "Deoptimize at every exit from the runtime system")               \
 396                                                                             \
 397   develop(ccstrlist, DeoptimizeOnlyAt, "",                                  \
 398           "A comma separated list of bcis to deoptimize at")                \
 399                                                                             \
 400   develop(bool, DeoptimizeRandom, false,                                    \
 401           "Deoptimize random frames on random exit from the runtime system")\
 402                                                                             \
 403   develop(bool, ZombieALot, false,                                          \
 404           "Create non-entrant nmethods at exit from the runtime system")    \
 405                                                                             \
 406   develop(bool, WalkStackALot, false,                                       \
 407           "Trace stack (no print) at every exit from the runtime system")   \
 408                                                                             \
 409   develop(bool, DeoptimizeObjectsALot, false,                               \
 410           "For testing purposes concurrent threads revert optimizations "   \

1007           "Print all VM flags after argument and ergonomic processing")     \
1008                                                                             \
1009   develop(bool, PrintFlagsWithComments, false,                              \
1010           "Print all VM flags with default values and descriptions and "    \
1011           "exit")                                                           \
1012                                                                             \
1013   product(bool, PrintFlagsRanges, false,                                    \
1014           "Print VM flags and their ranges")                                \
1015                                                                             \
1016   product(bool, SerializeVMOutput, true, DIAGNOSTIC,                        \
1017           "Use a mutex to serialize output to tty and LogFile")             \
1018                                                                             \
1019   product(bool, DisplayVMOutput, true, DIAGNOSTIC,                          \
1020           "Display all VM output on the tty, independently of LogVMOutput") \
1021                                                                             \
1022   product(bool, LogVMOutput, false, DIAGNOSTIC,                             \
1023           "Save VM output to LogFile")                                      \
1024                                                                             \
1025   product(ccstr, LogFile, nullptr, DIAGNOSTIC,                              \
1026           "If LogVMOutput or LogCompilation is on, save VM output to "      \
1027           "this file [default: ./hotspot_%p.log] (%p replaced with pidNNN)")\
1028                                                                             \
1029   product(ccstr, ErrorFile, nullptr,                                        \
1030           "If an error occurs, save the error data to this file "           \
1031           "[default: ./hs_err_%p.log] (%p replaced with pidNNN)")           \
1032                                                                             \
1033   product(bool, ExtensiveErrorReports,                                      \
1034           PRODUCT_ONLY(false) NOT_PRODUCT(true),                            \
1035           "Error reports are more extensive.")                              \
1036                                                                             \
1037   product(bool, DisplayVMOutputToStderr, false,                             \
1038           "If DisplayVMOutput is true, display all VM output to stderr")    \
1039                                                                             \
1040   product(bool, DisplayVMOutputToStdout, false,                             \
1041           "If DisplayVMOutput is true, display all VM output to stdout")    \
1042                                                                             \
1043   product(bool, ErrorFileToStderr, false,                                   \
1044           "If true, error data is printed to stderr instead of a file")     \
1045                                                                             \
1046   product(bool, ErrorFileToStdout, false,                                   \
1047           "If true, error data is printed to stdout instead of a file")     \
1048                                                                             \
1049   develop(bool, VerifyHeavyMonitors, false,                                 \
1050           "Checks that no stack locking happens when using "                \
1051           "-XX:LockingMode=0 (LM_MONITOR)")                                 \

1131   product(bool, UseInterpreter, true,                                       \
1132           "Use interpreter for non-compiled methods")                       \
1133                                                                             \
1134   develop(bool, UseFastSignatureHandlers, true,                             \
1135           "Use fast signature handlers for native calls")                   \
1136                                                                             \
1137   product(bool, UseLoopCounter, true,                                       \
1138           "Increment invocation counter on backward branch")                \
1139                                                                             \
1140   product_pd(bool, UseOnStackReplacement,                                   \
1141           "Use on stack replacement, calls runtime if invoc. counter "      \
1142           "overflows in loop")                                              \
1143                                                                             \
1144   develop(bool, TraceOnStackReplacement, false,                             \
1145           "Trace on stack replacement")                                     \
1146                                                                             \
1147   product_pd(bool, PreferInterpreterNativeStubs,                            \
1148           "Use always interpreter stubs for native methods invoked via "    \
1149           "interpreter")                                                    \
1150                                                                             \
1151   product(bool, CountBytecodes, false, DIAGNOSTIC,                          \
1152           "Count number of bytecodes executed")                             \
1153                                                                             \
1154   product(bool, CountBytecodesPerThread, false, DIAGNOSTIC,                 \
1155           "Count number of bytecodes executed per thread")                  \
1156                                                                             \
1157   product(bool, PrintBytecodeHistogram, false, DIAGNOSTIC,                  \
1158           "Print histogram of the executed bytecodes")                      \
1159                                                                             \
1160   product(double, PrintBytecodeHistogramCutoff, 0.01,                       \
1161           "Print cutoff for histogram of the executed bytecodes")           \
1162           range(0.0, 100.0)                                                 \
1163                                                                             \
1164   develop(bool, PrintBytecodePairHistogram, false,                          \
1165           "Print histogram of the executed bytecode pairs")                 \
1166                                                                             \
1167   product(bool, PrintSignatureHandlers, false, DIAGNOSTIC,                  \
1168           "Print code generated for native method signature handlers")      \
1169                                                                             \
1170   develop(bool, VerifyOops, false,                                          \
1171           "Do plausibility checks for oops")                                \
1172                                                                             \
1173   develop(bool, CheckUnhandledOops, false,                                  \
1174           "Check for unhandled oops in VM code")                            \
1175                                                                             \
1176   develop(bool, VerifyJNIFields, trueInDebug,                               \
1177           "Verify jfieldIDs for instance fields")                           \
1178                                                                             \
1179   develop(bool, VerifyFPU, false,                                           \
1180           "Verify FPU state (check for NaN's, etc.)")                       \
1181                                                                             \
1182   develop(bool, VerifyActivationFrameSize, false,                           \
1183           "Verify that activation frame didn't become smaller than its "    \
1184           "minimal size")                                                   \
1185                                                                             \
1186   develop(bool, TraceFrequencyInlining, false,                              \
1187           "Trace frequency based inlining")                                 \
1188                                                                             \
1189   develop_pd(bool, InlineIntrinsics,                                        \
1190           "Use intrinsics in Interpreter that can be statically resolved")  \
1191                                                                             \
1192   product_pd(bool, ProfileInterpreter,                                      \
1193           "Profile at the bytecode level during interpretation")            \
1194                                                                             \
1195   develop_pd(bool, ProfileTraps,                                            \
1196           "Profile deoptimization traps at the bytecode level")             \
1197                                                                             \
1198   product(intx, ProfileMaturityPercentage, 20,                              \
1199           "number of method invocations/branches (expressed as % of "       \
1200           "CompileThreshold) before using the method's profile")            \
1201           range(0, 100)                                                     \
1202                                                                             \
1203   product(bool, ForceProfiling, false, DIAGNOSTIC,                          \
1204           "Eagerly allocate MDOs")                                          \
1205                                                                             \
1206   product(bool, PrintMethodData, false, DIAGNOSTIC,                         \
1207           "Print the results of +ProfileInterpreter at end of run")         \
1208                                                                             \
1209   develop(bool, VerifyDataPointer, trueInDebug,                             \
1210           "Verify the method data pointer during interpreter profiling")    \
1211                                                                             \
1212   develop(bool, CrashGCForDumpingJavaThread, false,                         \
1213           "Manually make GC thread crash then dump java stack trace;  "     \
1214           "Test only")                                                      \
1215                                                                             \
1216   /* compilation */                                                         \
1217   product(bool, UseCompiler, true,                                          \
1218           "Use Just-In-Time compilation")                                   \
1219                                                                             \
1220   product(bool, AlwaysCompileLoopMethods, false,                            \
1221           "When using recompilation, never interpret methods "              \
1222           "containing loops")                                               \
1223                                                                             \
1224   product(int,  AllocatePrefetchStyle, 1,                                   \
1225           "0 = no prefetch, "                                               \

1723   product(bool, UsePerfData, true,                                          \
1724           "Flag to disable jvmstat instrumentation for performance testing "\
1725           "and problem isolation purposes")                                 \
1726                                                                             \
1727   product(bool, PerfDataSaveToFile, false,                                  \
1728           "Save PerfData memory to hsperfdata_<pid> file on exit")          \
1729                                                                             \
1730   product(ccstr, PerfDataSaveFile, nullptr,                                 \
1731           "Save PerfData memory to the specified absolute pathname. "       \
1732           "The string %p in the file name (if present) "                    \
1733           "will be replaced by pid")                                        \
1734                                                                             \
1735   product(int, PerfDataSamplingInterval, 50,                                \
1736           "Data sampling interval (in milliseconds)")                       \
1737           range(PeriodicTask::min_interval, max_jint)                       \
1738           constraint(PerfDataSamplingIntervalFunc, AfterErgo)               \
1739                                                                             \
1740   product(bool, PerfDisableSharedMem, false,                                \
1741           "Store performance data in standard memory")                      \
1742                                                                             \
1743   product(int, PerfDataMemorySize, 64*K,                                    \
1744           "Size of performance data memory region. Will be rounded "        \
1745           "up to a multiple of the native os page size.")                   \
1746           range(128, 32*64*K)                                               \
1747                                                                             \
1748   product(int, PerfMaxStringConstLength, 1024,                              \
1749           "Maximum PerfStringConstant string length before truncation")     \
1750           range(32, 32*K)                                                   \
1751                                                                             \
1752   product(bool, PerfAllowAtExitRegistration, false,                         \
1753           "Allow registration of atexit() methods")                         \
1754                                                                             \
1755   product(bool, PerfBypassFileSystemCheck, false,                           \
1756           "Bypass Win32 file system criteria checks (Windows Only)")        \
1757                                                                             \
1758   product(int, UnguardOnExecutionViolation, 0,                              \
1759           "Unguard page and retry on no-execute fault (Win32 only) "        \
1760           "0=off, 1=conservative, 2=aggressive")                            \
1761           range(0, 2)                                                       \
1762                                                                             \
1763   /* Serviceability Support */                                              \

1970           range(0, 2)                                                       \
1971                                                                             \
1972   product(bool, UseObjectMonitorTable, false, DIAGNOSTIC,                   \
1973           "With Lightweight Locking mode, use a table to record inflated "  \
1974           "monitors rather than the first word of the object.")             \
1975                                                                             \
1976   product(int, LightweightFastLockingSpins, 13, DIAGNOSTIC,                 \
1977           "Specifies the number of times lightweight fast locking will "    \
1978           "attempt to CAS the markWord before inflating. Between each "     \
1979           "CAS it will spin for exponentially more time, resulting in "     \
1980           "a total number of spins on the order of O(2^value)")             \
1981           range(1, 30)                                                      \
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   product(bool, UseThreadsLockThrottleLock, true, DIAGNOSTIC,               \
2030           "Use an extra lock during Thread start and exit to alleviate"     \
2031           "contention on Threads_lock.")                                    \
2032 
2033 
2034 // end of RUNTIME_FLAGS
2035 
2036 DECLARE_FLAGS(LP64_RUNTIME_FLAGS)
2037 DECLARE_ARCH_FLAGS(ARCH_FLAGS)
2038 DECLARE_FLAGS(RUNTIME_FLAGS)
2039 DECLARE_FLAGS(RUNTIME_OS_FLAGS)
2040 
2041 #endif // SHARE_RUNTIME_GLOBALS_HPP
< prev index next >