< prev index next >

src/hotspot/share/runtime/globals.hpp

Print this page

 107 
 108 // Default and minimum StringTable and SymbolTable size values
 109 // Must be powers of 2
 110 const size_t defaultStringTableSize = NOT_LP64(1024) LP64_ONLY(65536);
 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, UseCompactObjectHeaders, false,                             \
 128           "Use compact 64-bit object headers in 64-bit VM")                 \
 129                                                                             \
 130   product(int, ObjectAlignmentInBytes, 8,                                   \
 131           "Default object alignment in bytes, 8 is minimum")                \
 132           range(8, 256)                                                     \
 133           constraint(ObjectAlignmentInBytesConstraintFunc, AtParse)
 134 
 135 #else
 136 // !_LP64
 137 
 138 #define LP64_RUNTIME_FLAGS(develop,                                         \
 139                            develop_pd,                                      \
 140                            product,                                         \
 141                            product_pd,                                      \
 142                            range,                                           \
 143                            constraint)
 144 const bool UseCompressedOops = false;
 145 const bool UseCompactObjectHeaders = false;
 146 const int ObjectAlignmentInBytes = 8;

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






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

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

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



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




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



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

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

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












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



1977   product(bool, UseSecondarySupersCache, true, DIAGNOSTIC,                  \
1978                 "Use secondary supers cache during subtype checks.")        \
1979                                                                             \
1980   product(bool, UseSecondarySupersTable, false, DIAGNOSTIC,                 \
1981                 "Use hash table to lookup secondary supers.")               \
1982                                                                             \
1983   product(bool, VerifySecondarySupers, false, DIAGNOSTIC,                   \
1984           "Check that linear and hashed secondary lookups return the same result.") \
1985                                                                             \
1986   product(bool, StressSecondarySupers, false, DIAGNOSTIC,                   \
1987           "Use a terrible hash function in order to generate many collisions.") \
1988                                                                             \



1989   product(bool, UseThreadsLockThrottleLock, true, DIAGNOSTIC,               \
1990           "Use an extra lock during Thread start and exit to alleviate"     \
1991           "contention on Threads_lock.")                                    \
1992                                                                             \
1993   develop(uint, BinarySearchThreshold, 16,                                  \
1994           "Minimal number of elements in a sorted collection to prefer"     \
1995           "binary search over simple linear search." )                      \
1996                                                                             \
1997 

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

 107 
 108 // Default and minimum StringTable and SymbolTable size values
 109 // Must be powers of 2
 110 const size_t defaultStringTableSize = NOT_LP64(1024) LP64_ONLY(65536);
 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   /* Leyden */                                                              \
 128   product(bool, UseCompatibleCompressedOops, false,                         \
 129           "Always use HeapBasedNarrowOop mode, so that AOT code can be "    \
 130           "always work regardless of runtime heap range")                   \
 131                                                                             \
 132   product(bool, UseCompactObjectHeaders, false,                             \
 133           "Use compact 64-bit object headers in 64-bit VM")                 \
 134                                                                             \
 135   product(int, ObjectAlignmentInBytes, 8,                                   \
 136           "Default object alignment in bytes, 8 is minimum")                \
 137           range(8, 256)                                                     \
 138           constraint(ObjectAlignmentInBytesConstraintFunc, AtParse)
 139 
 140 #else
 141 // !_LP64
 142 
 143 #define LP64_RUNTIME_FLAGS(develop,                                         \
 144                            develop_pd,                                      \
 145                            product,                                         \
 146                            product_pd,                                      \
 147                            range,                                           \
 148                            constraint)
 149 const bool UseCompressedOops = false;
 150 const bool UseCompactObjectHeaders = false;
 151 const int ObjectAlignmentInBytes = 8;

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

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

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

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

1966              "fence. Add cleanliness checks.")                              \
1967                                                                             \
1968   product(bool, UseObjectMonitorTable, false, DIAGNOSTIC,                   \
1969           "Use a table to record inflated monitors rather than the first "  \
1970           "word of the object.")                                            \
1971                                                                             \
1972   product(int, FastLockingSpins, 13, DIAGNOSTIC,                            \
1973           "Specifies the number of times fast locking will attempt to "     \
1974           "CAS the markWord before inflating. Between each CAS it will "    \
1975           "spin for exponentially more time, resulting in a total number "  \
1976           "of spins on the order of O(2^value)")                            \
1977           range(1, 30)                                                      \
1978                                                                             \
1979   product(uint, TrimNativeHeapInterval, 0,                                  \
1980           "Interval, in ms, at which the JVM will trim the native heap if " \
1981           "the platform supports that. Lower values will reclaim memory "   \
1982           "more eagerly at the cost of higher overhead. A value of 0 "      \
1983           "(default) disables native heap trimming.")                       \
1984           range(0, UINT_MAX)                                                \
1985                                                                             \
1986   product(bool, ProfileVMLocks, false, DIAGNOSTIC,                          \
1987           "Profile VM locks usage on main thread")                          \
1988                                                                             \
1989   product(bool, ProfileVMCalls, false, DIAGNOSTIC,                          \
1990           "Profile VM calls on main thread")                                \
1991                                                                             \
1992   product(bool, ProfileVMOps, true, DIAGNOSTIC,                             \
1993           "Profile VM operations on main thread")                           \
1994                                                                             \
1995   product(bool, ProfileRuntimeCalls, false, DIAGNOSTIC,                     \
1996           "Profile calls into VM runtime on main thread")                   \
1997                                                                             \
1998   develop(bool, SimulateFullAddressSpace, false,                            \
1999           "Simulates a very populated, fragmented address space; no "       \
2000           "targeted reservations will succeed.")                            \
2001                                                                             \
2002   product(bool, ProfileExceptionHandlers, true,                             \
2003           "Profile exception handlers")                                     \
2004                                                                             \
2005   product(bool, AlwaysRecordEvolDependencies, true, EXPERIMENTAL,           \
2006                 "Unconditionally record nmethod dependencies on class "     \
2007                 "rewriting/transformation independently of the JVMTI "      \
2008                 "can_{retransform/redefine}_classes capabilities.")         \
2009                                                                             \
2010   product(bool, TraceThreadTime, false,                                     \
2011           "Enable tracing of thread time in Perf counters")                 \
2012                                                                             \
2013   product(bool, UseSecondarySupersCache, true, DIAGNOSTIC,                  \
2014                 "Use secondary supers cache during subtype checks.")        \
2015                                                                             \
2016   product(bool, UseSecondarySupersTable, false, DIAGNOSTIC,                 \
2017                 "Use hash table to lookup secondary supers.")               \
2018                                                                             \
2019   product(bool, VerifySecondarySupers, false, DIAGNOSTIC,                   \
2020           "Check that linear and hashed secondary lookups return the same result.") \
2021                                                                             \
2022   product(bool, StressSecondarySupers, false, DIAGNOSTIC,                   \
2023           "Use a terrible hash function in order to generate many collisions.") \
2024                                                                             \
2025   develop(bool, TestAdapterLinkFailure, false,                              \
2026           "Test failure of adapter linking when loading from AOT cache.")   \
2027                                                                             \
2028   product(bool, UseThreadsLockThrottleLock, true, DIAGNOSTIC,               \
2029           "Use an extra lock during Thread start and exit to alleviate"     \
2030           "contention on Threads_lock.")                                    \
2031                                                                             \
2032   develop(uint, BinarySearchThreshold, 16,                                  \
2033           "Minimal number of elements in a sorted collection to prefer"     \
2034           "binary search over simple linear search." )                      \
2035                                                                             \
2036 
2037 
2038 // end of RUNTIME_FLAGS
2039 
2040 DECLARE_FLAGS(LP64_RUNTIME_FLAGS)
2041 DECLARE_ARCH_FLAGS(ARCH_FLAGS)
2042 DECLARE_FLAGS(RUNTIME_FLAGS)
2043 DECLARE_FLAGS(RUNTIME_OS_FLAGS)
2044 
2045 #endif // SHARE_RUNTIME_GLOBALS_HPP
< prev index next >