src/share/vm/runtime/globals.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/runtime

src/share/vm/runtime/globals.hpp

Print this page




 499                                                                             \
 500   develop(bool, LargePagesIndividualAllocationInjectError, false,           \
 501           "Fail large pages individual allocation")                         \
 502                                                                             \
 503   develop(bool, TracePageSizes, false,                                      \
 504           "Trace page size selection and usage.")                           \
 505                                                                             \
 506   product(bool, UseNUMA, false,                                             \
 507           "Use NUMA if available")                                          \
 508                                                                             \
 509   product(bool, UseNUMAInterleaving, false,                                 \
 510           "Interleave memory across NUMA nodes if available")               \
 511                                                                             \
 512   product(uintx, NUMAInterleaveGranularity, 2*M,                            \
 513           "Granularity to use for NUMA interleaving on Windows OS")         \
 514                                                                             \
 515   product(bool, ForceNUMA, false,                                           \
 516           "Force NUMA optimizations on single-node/UMA systems")            \
 517                                                                             \
 518   product(uintx, NUMAChunkResizeWeight, 20,                                 \
 519           "Percentage (0-100) used to weigh the current sample when "      \
 520           "computing exponentially decaying average for "                   \
 521           "AdaptiveNUMAChunkSizing")                                        \
 522                                                                             \
 523   product(uintx, NUMASpaceResizeRate, 1*G,                                  \
 524           "Do not reallocate more that this amount per collection")         \
 525                                                                             \
 526   product(bool, UseAdaptiveNUMAChunkSizing, true,                           \
 527           "Enable adaptive chunk sizing for NUMA")                          \
 528                                                                             \
 529   product(bool, NUMAStats, false,                                           \
 530           "Print NUMA stats in detailed heap information")                  \
 531                                                                             \
 532   product(uintx, NUMAPageScanRate, 256,                                     \
 533           "Maximum number of pages to include in the page scan procedure")  \
 534                                                                             \
 535   product_pd(bool, NeedsDeoptSuspend,                                       \
 536           "True for register window machines (sparc/ia64)")                 \
 537                                                                             \
 538   product(intx, UseSSE, 99,                                                 \
 539           "Highest supported SSE instructions set on x86/x64")              \


 547   product(uintx, LargePageHeapSizeThreshold, 128*M,                         \
 548           "Use large pages if max heap is at least this big")               \
 549                                                                             \
 550   product(bool, ForceTimeHighResolution, false,                             \
 551           "Using high time resolution(For Win32 only)")                     \
 552                                                                             \
 553   develop(bool, TraceItables, false,                                        \
 554           "Trace initialization and use of itables")                        \
 555                                                                             \
 556   develop(bool, TracePcPatching, false,                                     \
 557           "Trace usage of frame::patch_pc")                                 \
 558                                                                             \
 559   develop(bool, TraceJumps, false,                                          \
 560           "Trace assembly jumps in thread ring buffer")                     \
 561                                                                             \
 562   develop(bool, TraceRelocator, false,                                      \
 563           "Trace the bytecode relocator")                                   \
 564                                                                             \
 565   develop(bool, TraceLongCompiles, false,                                   \
 566           "Print out every time compilation is longer than "                \
 567           "a given threashold")                                             \
 568                                                                             \
 569   develop(bool, SafepointALot, false,                                       \
 570           "Generates a lot of safepoints. Works with "                      \
 571           "GuaranteedSafepointInterval")                                    \
 572                                                                             \
 573   product_pd(bool, BackgroundCompilation,                                   \
 574           "A thread requesting compilation is not blocked during "          \
 575           "compilation")                                                    \
 576                                                                             \
 577   product(bool, PrintVMQWaitTime, false,                                    \
 578           "Prints out the waiting time in VM operation queue")              \
 579                                                                             \
 580   develop(bool, NoYieldsInMicrolock, false,                                 \
 581           "Disable yields in microlock")                                    \
 582                                                                             \
 583   develop(bool, TraceOopMapGeneration, false,                               \
 584           "Shows oopmap generation")                                        \
 585                                                                             \
 586   product(bool, MethodFlushing, true,                                       \
 587           "Reclamation of zombie and not-entrant methods")                  \


 869           "Tells whether the VM should use system time or a fake timer")    \
 870                                                                             \
 871   product(ccstr, NativeMemoryTracking, "off",                               \
 872           "Native memory tracking options")                                 \
 873                                                                             \
 874   diagnostic(bool, PrintNMTStatistics, false,                               \
 875           "Print native memory tracking summary data if it is on")          \
 876                                                                             \
 877   diagnostic(bool, AutoShutdownNMT, true,                                   \
 878           "Automatically shutdown native memory tracking under stress "     \
 879           "situation. When set to false, native memory tracking tries to "  \
 880           "stay alive at the expense of JVM performance")                   \
 881                                                                             \
 882   diagnostic(bool, LogCompilation, false,                                   \
 883           "Log compilation activity in detail to LogFile")                  \
 884                                                                             \
 885   product(bool, PrintCompilation, false,                                    \
 886           "Print compilations")                                             \
 887                                                                             \
 888   diagnostic(bool, TraceNMethodInstalls, false,                             \
 889              "Trace nmethod intallation")                                   \
 890                                                                             \
 891   diagnostic(intx, ScavengeRootsInCode, 2,                                  \
 892              "0: do not allow scavengable oops in the code cache; "         \
 893              "1: allow scavenging from the code cache; "                    \
 894              "2: emit as many constants as the compiler can see")           \
 895                                                                             \
 896   product(bool, AlwaysRestoreFPU, false,                                    \
 897           "Restore the FPU control word after every JNI call (expensive)")  \
 898                                                                             \
 899   diagnostic(bool, PrintCompilation2, false,                                \
 900           "Print additional statistics per compilation")                    \
 901                                                                             \
 902   diagnostic(bool, PrintAdapterHandlers, false,                             \
 903           "Print code generated for i2c/c2i adapters")                      \
 904                                                                             \
 905   diagnostic(bool, VerifyAdapterCalls, trueInDebug,                         \
 906           "Verify that i2c/c2i adapters are called properly")               \
 907                                                                             \
 908   develop(bool, VerifyAdapterSharing, false,                                \
 909           "Verify that the code for shared adapters is the equivalent")     \


 941                                                                             \
 942   product(bool, PrintCodeCache, false,                                      \
 943           "Print the code cache memory usage when exiting")                 \
 944                                                                             \
 945   develop(bool, PrintCodeCache2, false,                                     \
 946           "Print detailed usage info on the code cache when exiting")       \
 947                                                                             \
 948   product(bool, PrintCodeCacheOnCompilation, false,                         \
 949           "Print the code cache memory usage each time a method is compiled") \
 950                                                                             \
 951   diagnostic(bool, PrintStubCode, false,                                    \
 952           "Print generated stub code")                                      \
 953                                                                             \
 954   product(bool, StackTraceInThrowable, true,                                \
 955           "Collect backtrace in throwable when exception happens")          \
 956                                                                             \
 957   product(bool, OmitStackTraceInFastThrow, true,                            \
 958           "Omit backtraces for some 'hot' exceptions in optimized code")    \
 959                                                                             \
 960   product(bool, ProfilerPrintByteCodeStatistics, false,                     \
 961           "Prints byte code statictics when dumping profiler output")       \
 962                                                                             \
 963   product(bool, ProfilerRecordPC, false,                                    \
 964           "Collects tick for each 16 byte interval of compiled code")       \
 965                                                                             \
 966   product(bool, ProfileVM, false,                                           \
 967           "Profiles ticks that fall within VM (either in the VM Thread "    \
 968           "or VM code called through stubs)")                               \
 969                                                                             \
 970   product(bool, ProfileIntervals, false,                                    \
 971           "Prints profiles for each interval (see ProfileIntervalsTicks)")  \
 972                                                                             \
 973   notproduct(bool, ProfilerCheckIntervals, false,                           \
 974           "Collect and print info on spacing of profiler ticks")            \
 975                                                                             \
 976   develop(bool, PrintJVMWarnings, false,                                    \
 977           "Prints warnings for unimplemented JVM functions")                \
 978                                                                             \
 979   product(bool, PrintWarnings, true,                                        \
 980           "Prints JVM warnings to output stream")                           \
 981                                                                             \
 982   notproduct(uintx, WarnOnStalledSpinLock, 0,                               \
 983           "Prints warnings for stalled SpinLocks")                          \
 984                                                                             \
 985   product(bool, RegisterFinalizersAtInit, true,                             \
 986           "Register finalizable objects at end of Object.<init> or "        \
 987           "after allocation")                                               \
 988                                                                             \
 989   develop(bool, RegisterReferences, true,                                   \
 990           "Tells whether the VM should register soft/weak/final/phantom "   \
 991           "references")                                                     \
 992                                                                             \
 993   develop(bool, IgnoreRewrites, false,                                      \
 994           "Supress rewrites of bytecodes in the oopmap generator. "         \
 995           "This is unsafe!")                                                \
 996                                                                             \
 997   develop(bool, PrintCodeCacheExtension, false,                             \
 998           "Print extension of code cache")                                  \
 999                                                                             \
1000   develop(bool, UsePrivilegedStack, true,                                   \
1001           "Enable the security JVM functions")                              \
1002                                                                             \
1003   develop(bool, ProtectionDomainVerification, true,                         \
1004           "Verifies protection domain before resolution in system "         \
1005           "dictionary")                                                     \
1006                                                                             \
1007   product(bool, ClassUnloading, true,                                       \
1008           "Do unloading of classes")                                        \
1009                                                                             \
1010   develop(bool, DisableStartThread, false,                                  \
1011           "Disable starting of additional Java threads "                    \
1012           "(for debugging only)")                                           \
1013                                                                             \
1014   develop(bool, MemProfiling, false,                                        \


1256                                                                             \
1257   develop(bool, VerifyDependencies, trueInDebug,                            \
1258          "Exercise and verify the compilation dependency mechanism")        \
1259                                                                             \
1260   develop(bool, TraceNewOopMapGeneration, false,                            \
1261           "Trace OopMapGeneration")                                         \
1262                                                                             \
1263   develop(bool, TraceNewOopMapGenerationDetailed, false,                    \
1264           "Trace OopMapGeneration: print detailed cell states")             \
1265                                                                             \
1266   develop(bool, TimeOopMap, false,                                          \
1267           "Time calls to GenerateOopMap::compute_map() in sum")             \
1268                                                                             \
1269   develop(bool, TimeOopMap2, false,                                         \
1270           "Time calls to GenerateOopMap::compute_map() individually")       \
1271                                                                             \
1272   develop(bool, TraceMonitorMismatch, false,                                \
1273           "Trace monitor matching failures during OopMapGeneration")        \
1274                                                                             \
1275   develop(bool, TraceOopMapRewrites, false,                                 \
1276           "Trace rewritting of method oops during oop map generation")      \
1277                                                                             \
1278   develop(bool, TraceSafepoint, false,                                      \
1279           "Trace safepoint operations")                                     \
1280                                                                             \
1281   develop(bool, TraceICBuffer, false,                                       \
1282           "Trace usage of IC buffer")                                       \
1283                                                                             \
1284   develop(bool, TraceCompiledIC, false,                                     \
1285           "Trace changes of compiled IC")                                   \
1286                                                                             \
1287   notproduct(bool, TraceZapDeadLocals, false,                               \
1288           "Trace zapping dead locals")                                      \
1289                                                                             \
1290   develop(bool, TraceStartupTime, false,                                    \
1291           "Trace setup time")                                               \
1292                                                                             \
1293   develop(bool, TraceProtectionDomainVerification, false,                   \
1294           "Trace protection domain verifcation")                            \
1295                                                                             \
1296   develop(bool, TraceClearedExceptions, false,                              \
1297           "Prints when an exception is forcibly cleared")                   \
1298                                                                             \
1299   product(bool, TraceClassResolution, false,                                \
1300           "Trace all constant pool resolutions (for debugging)")            \
1301                                                                             \
1302   product(bool, TraceBiasedLocking, false,                                  \
1303           "Trace biased locking in JVM")                                    \
1304                                                                             \
1305   product(bool, TraceMonitorInflation, false,                               \
1306           "Trace monitor inflation in JVM")                                 \
1307                                                                             \
1308   /* gc */                                                                  \
1309                                                                             \
1310   product(bool, UseSerialGC, false,                                         \
1311           "Use the serial garbage collector")                               \
1312                                                                             \
1313   product(bool, UseG1GC, false,                                             \
1314           "Use the Garbage-First garbage collector")                        \


1386           "Scavenge youngest generation before each full GC, "              \
1387           "used with UseParallelGC")                                        \
1388                                                                             \
1389   develop(bool, ScavengeWithObjectsInToSpace, false,                        \
1390           "Allow scavenges to occur when to_space contains objects.")       \
1391                                                                             \
1392   product(bool, UseConcMarkSweepGC, false,                                  \
1393           "Use Concurrent Mark-Sweep GC in the old generation")             \
1394                                                                             \
1395   product(bool, ExplicitGCInvokesConcurrent, false,                         \
1396           "A System.gc() request invokes a concurrent collection;"          \
1397           " (effective only when UseConcMarkSweepGC)")                      \
1398                                                                             \
1399   product(bool, ExplicitGCInvokesConcurrentAndUnloadsClasses, false,        \
1400           "A System.gc() request invokes a concurrent collection and "      \
1401           "also unloads classes during such a concurrent gc cycle "         \
1402           "(effective only when UseConcMarkSweepGC)")                       \
1403                                                                             \
1404   product(bool, GCLockerInvokesConcurrent, false,                           \
1405           "The exit of a JNI CS necessitating a scavenge also"              \
1406           " kicks off a bkgrd concurrent collection")                       \
1407                                                                             \
1408   product(uintx, GCLockerEdenExpansionPercent, 5,                           \
1409           "How much the GC can expand the eden by while the GC locker  "    \
1410           "is active (as a percentage)")                                    \
1411                                                                             \
1412   diagnostic(intx, GCLockerRetryAllocationCount, 2,                         \
1413           "Number of times to retry allocations when"                       \
1414           " blocked by the GC locker")                                      \
1415                                                                             \
1416   develop(bool, UseCMSAdaptiveFreeLists, true,                              \
1417           "Use Adaptive Free Lists in the CMS generation")                  \
1418                                                                             \
1419   develop(bool, UseAsyncConcMarkSweepGC, true,                              \
1420           "Use Asynchronous Concurrent Mark-Sweep GC in the old generation")\
1421                                                                             \
1422   develop(bool, RotateCMSCollectionTypes, false,                            \
1423           "Rotate the CMS collections among concurrent and STW")            \
1424                                                                             \
1425   product(bool, UseCMSBestFit, true,                                        \
1426           "Use CMS best fit allocation strategy")                           \


1481                                                                             \
1482   diagnostic(intx, ParGCCardsPerStrideChunk, 256,                           \
1483           "The number of cards in each chunk of the parallel chunks used "  \
1484           "during card table scanning")                                     \
1485                                                                             \
1486   product(uintx, CMSParPromoteBlocksToClaim, 16,                            \
1487           "Number of blocks to attempt to claim when refilling CMS LAB for "\
1488           "parallel GC.")                                                   \
1489                                                                             \
1490   product(uintx, OldPLABWeight, 50,                                         \
1491           "Percentage (0-100) used to weight the current sample when"       \
1492           "computing exponentially decaying average for resizing CMSParPromoteBlocksToClaim.") \
1493                                                                             \
1494   product(bool, ResizeOldPLAB, true,                                        \
1495           "Dynamically resize (old gen) promotion labs")                    \
1496                                                                             \
1497   product(bool, PrintOldPLAB, false,                                        \
1498           "Print (old gen) promotion labs sizing decisions")                \
1499                                                                             \
1500   product(uintx, CMSOldPLABMin, 16,                                         \
1501           "Min size of CMS gen promotion lab caches per worker per blksize")\
1502                                                                             \
1503   product(uintx, CMSOldPLABMax, 1024,                                       \
1504           "Max size of CMS gen promotion lab caches per worker per blksize")\
1505                                                                             \
1506   product(uintx, CMSOldPLABNumRefills, 4,                                   \
1507           "Nominal number of refills of CMS gen promotion lab cache"        \
1508           " per worker per block size")                                     \
1509                                                                             \
1510   product(bool, CMSOldPLABResizeQuicker, false,                             \
1511           "Whether to react on-the-fly during a scavenge to a sudden"       \
1512           " change in block demand rate")                                   \
1513                                                                             \
1514   product(uintx, CMSOldPLABToleranceFactor, 4,                              \
1515           "The tolerance of the phase-change detector for on-the-fly"       \
1516           " PLAB resizing during a scavenge")                               \
1517                                                                             \
1518   product(uintx, CMSOldPLABReactivityFactor, 2,                             \
1519           "The gain in the feedback loop for on-the-fly PLAB resizing"      \
1520           " during a scavenge")                                             \
1521                                                                             \
1522   product(bool, AlwaysPreTouch, false,                                      \
1523           "It forces all freshly committed pages to be pre-touched.")       \
1524                                                                             \


1539           "automatically adjusted")                                         \
1540                                                                             \
1541   product(uintx, CMSIncrementalDutyCycleMin, 0,                             \
1542           "Lower bound on the duty cycle when CMSIncrementalPacing is "     \
1543           "enabled (a percentage, 0-100)")                                  \
1544                                                                             \
1545   product(uintx, CMSIncrementalSafetyFactor, 10,                            \
1546           "Percentage (0-100) used to add conservatism when computing the " \
1547           "duty cycle")                                                     \
1548                                                                             \
1549   product(uintx, CMSIncrementalOffset, 0,                                   \
1550           "Percentage (0-100) by which the CMS incremental mode duty cycle" \
1551           " is shifted to the right within the period between young GCs")   \
1552                                                                             \
1553   product(uintx, CMSExpAvgFactor, 50,                                       \
1554           "Percentage (0-100) used to weight the current sample when"       \
1555           "computing exponential averages for CMS statistics.")             \
1556                                                                             \
1557   product(uintx, CMS_FLSWeight, 75,                                         \
1558           "Percentage (0-100) used to weight the current sample when"       \
1559           "computing exponentially decating averages for CMS FLS statistics.") \
1560                                                                             \
1561   product(uintx, CMS_FLSPadding, 1,                                         \
1562           "The multiple of deviation from mean to use for buffering"        \
1563           "against volatility in free list demand.")                        \
1564                                                                             \
1565   product(uintx, FLSCoalescePolicy, 2,                                      \
1566           "CMS: Aggression level for coalescing, increasing from 0 to 4")   \
1567                                                                             \
1568   product(bool, FLSAlwaysCoalesceLarge, false,                              \
1569           "CMS: Larger free blocks are always available for coalescing")    \
1570                                                                             \
1571   product(double, FLSLargestBlockCoalesceProximity, 0.99,                   \
1572           "CMS: the smaller the percentage the greater the coalition force")\
1573                                                                             \
1574   product(double, CMSSmallCoalSurplusPercent, 1.05,                         \
1575           "CMS: the factor by which to inflate estimated demand of small"   \
1576           " block sizes to prevent coalescing with an adjoining block")     \
1577                                                                             \
1578   product(double, CMSLargeCoalSurplusPercent, 0.95,                         \
1579           "CMS: the factor by which to inflate estimated demand of large"   \


1586                                                                             \
1587   product(double, CMSLargeSplitSurplusPercent, 1.00,                        \
1588           "CMS: the factor by which to inflate estimated demand of large"   \
1589           " block sizes to prevent splitting to supply demand for smaller"  \
1590           " blocks")                                                        \
1591                                                                             \
1592   product(bool, CMSExtrapolateSweep, false,                                 \
1593           "CMS: cushion for block demand during sweep")                     \
1594                                                                             \
1595   product(uintx, CMS_SweepWeight, 75,                                       \
1596           "Percentage (0-100) used to weight the current sample when "      \
1597           "computing exponentially decaying average for inter-sweep "       \
1598           "duration")                                                       \
1599                                                                             \
1600   product(uintx, CMS_SweepPadding, 1,                                       \
1601           "The multiple of deviation from mean to use for buffering "       \
1602           "against volatility in inter-sweep duration.")                    \
1603                                                                             \
1604   product(uintx, CMS_SweepTimerThresholdMillis, 10,                         \
1605           "Skip block flux-rate sampling for an epoch unless inter-sweep "  \
1606           "duration exceeds this threhold in milliseconds")                 \
1607                                                                             \
1608   develop(bool, CMSTraceIncrementalMode, false,                             \
1609           "Trace CMS incremental mode")                                     \
1610                                                                             \
1611   develop(bool, CMSTraceIncrementalPacing, false,                           \
1612           "Trace CMS incremental mode pacing computation")                  \
1613                                                                             \
1614   develop(bool, CMSTraceThreadState, false,                                 \
1615           "Trace the CMS thread state (enable the trace_state() method)")   \
1616                                                                             \
1617   product(bool, CMSClassUnloadingEnabled, true,                             \
1618           "Whether class unloading enabled when using CMS GC")              \
1619                                                                             \
1620   product(uintx, CMSClassUnloadingMaxInterval, 0,                           \
1621           "When CMS class unloading is enabled, the maximum CMS cycle count"\
1622           " for which classes may not be unloaded")                         \
1623                                                                             \
1624   product(bool, CMSCompactWhenClearAllSoftRefs, true,                       \
1625           "Compact when asked to collect CMS gen with clear_all_soft_refs") \
1626                                                                             \


1647           "Warn in case of excessive CMS looping")                          \
1648                                                                             \
1649   develop(bool, CMSOverflowEarlyRestoration, false,                         \
1650           "Whether preserved marks should be restored early")               \
1651                                                                             \
1652   product(uintx, MarkStackSize, NOT_LP64(32*K) LP64_ONLY(4*M),              \
1653           "Size of marking stack")                                          \
1654                                                                             \
1655   product(uintx, MarkStackSizeMax, NOT_LP64(4*M) LP64_ONLY(512*M),          \
1656           "Max size of marking stack")                                      \
1657                                                                             \
1658   notproduct(bool, CMSMarkStackOverflowALot, false,                         \
1659           "Whether we should simulate frequent marking stack / work queue"  \
1660           " overflow")                                                      \
1661                                                                             \
1662   notproduct(uintx, CMSMarkStackOverflowInterval, 1000,                     \
1663           "An `interval' counter that determines how frequently"            \
1664           " we simulate overflow; a smaller number increases frequency")    \
1665                                                                             \
1666   product(uintx, CMSMaxAbortablePrecleanLoops, 0,                           \
1667           "(Temporary, subject to experimentation)"                         \
1668           "Maximum number of abortable preclean iterations, if > 0")        \
1669                                                                             \
1670   product(intx, CMSMaxAbortablePrecleanTime, 5000,                          \
1671           "(Temporary, subject to experimentation)"                         \
1672           "Maximum time in abortable preclean in ms")                       \
1673                                                                             \
1674   product(uintx, CMSAbortablePrecleanMinWorkPerIteration, 100,              \
1675           "(Temporary, subject to experimentation)"                         \
1676           "Nominal minimum work per abortable preclean iteration")          \
1677                                                                             \
1678   manageable(intx, CMSAbortablePrecleanWaitMillis, 100,                     \
1679           "(Temporary, subject to experimentation)"                         \
1680           " Time that we sleep between iterations when not given"           \
1681           " enough work per iteration")                                     \
1682                                                                             \
1683   product(uintx, CMSRescanMultiple, 32,                                     \
1684           "Size (in cards) of CMS parallel rescan task")                    \
1685                                                                             \
1686   product(uintx, CMSConcMarkMultiple, 32,                                   \
1687           "Size (in cards) of CMS concurrent MT marking task")              \
1688                                                                             \
1689   product(bool, CMSAbortSemantics, false,                                   \
1690           "Whether abort-on-overflow semantics is implemented")             \
1691                                                                             \
1692   product(bool, CMSParallelInitialMarkEnabled, true,                        \
1693           "Use the parallel initial mark.")                                 \
1694                                                                             \
1695   product(bool, CMSParallelRemarkEnabled, true,                             \
1696           "Whether parallel remark enabled (only if ParNewGC)")             \
1697                                                                             \
1698   product(bool, CMSParallelSurvivorRemarkEnabled, true,                     \
1699           "Whether parallel remark of survivor space"                       \
1700           " enabled (effective only if CMSParallelRemarkEnabled)")          \
1701                                                                             \
1702   product(bool, CMSPLABRecordAlways, true,                                  \
1703           "Whether to always record survivor space PLAB bdries"             \
1704           " (effective only if CMSParallelSurvivorRemarkEnabled)")          \
1705                                                                             \
1706   product(bool, CMSEdenChunksRecordAlways, true,                            \
1707           "Whether to always record eden chunks used for "                  \
1708           "the parallel initial mark or remark of eden" )                   \
1709                                                                             \
1710   product(bool, CMSPrintEdenSurvivorChunks, false,                          \
1711           "Print the eden and the survivor chunks used for the parallel "   \
1712           "initial mark or remark of the eden/survivor spaces")             \
1713                                                                             \
1714   product(bool, CMSConcurrentMTEnabled, true,                               \
1715           "Whether multi-threaded concurrent work enabled (if ParNewGC)")   \
1716                                                                             \
1717   product(bool, CMSPrecleaningEnabled, true,                                \
1718           "Whether concurrent precleaning enabled")                         \
1719                                                                             \
1720   product(uintx, CMSPrecleanIter, 3,                                        \
1721           "Maximum number of precleaning iteration passes")                 \
1722                                                                             \
1723   product(uintx, CMSPrecleanNumerator, 2,                                   \


1832   product(uintx, CMSTriggerRatio, 80,                                       \
1833           "Percentage of MinHeapFreeRatio in CMS generation that is "       \
1834           "allocated before a CMS collection cycle commences")              \
1835                                                                             \
1836   product(uintx, CMSBootstrapOccupancy, 50,                                 \
1837           "Percentage CMS generation occupancy at which to "                \
1838           "initiate CMS collection for bootstrapping collection stats")     \
1839                                                                             \
1840   product(intx, CMSInitiatingOccupancyFraction, -1,                         \
1841           "Percentage CMS generation occupancy to start a CMS collection "  \
1842           "cycle. A negative value means that CMSTriggerRatio is used")     \
1843                                                                             \
1844   product(uintx, InitiatingHeapOccupancyPercent, 45,                        \
1845           "Percentage of the (entire) heap occupancy to start a "           \
1846           "concurrent GC cycle. It is used by GCs that trigger a "          \
1847           "concurrent GC cycle based on the occupancy of the entire heap, " \
1848           "not just one of the generations (e.g., G1). A value of 0 "       \
1849           "denotes 'do constant GC cycles'.")                               \
1850                                                                             \
1851   product(bool, UseCMSInitiatingOccupancyOnly, false,                       \
1852           "Only use occupancy as a crierion for starting a CMS collection") \
1853                                                                             \
1854   product(uintx, CMSIsTooFullPercentage, 98,                                \
1855           "An absolute ceiling above which CMS will always consider the "   \
1856           "unloading of classes when class unloading is enabled")           \
1857                                                                             \
1858   develop(bool, CMSTestInFreeList, false,                                   \
1859           "Check if the coalesced range is already in the "                 \
1860           "free lists as claimed")                                          \
1861                                                                             \
1862   notproduct(bool, CMSVerifyReturnedBytes, false,                           \
1863           "Check that all the garbage collected was returned to the "       \
1864           "free lists.")                                                    \
1865                                                                             \
1866   notproduct(bool, ScavengeALot, false,                                     \
1867           "Force scavenge at every Nth exit from the runtime system "       \
1868           "(N=ScavengeALotInterval)")                                       \
1869                                                                             \
1870   develop(bool, FullGCALot, false,                                          \
1871           "Force full gc at every Nth exit from the runtime system "        \
1872           "(N=FullGCALotInterval)")                                         \
1873                                                                             \
1874   notproduct(bool, GCALotAtAllSafepoints, false,                            \
1875           "Enforce ScavengeALot/GCALot at all potential safepoints")        \
1876                                                                             \
1877   product(bool, PrintPromotionFailure, false,                               \
1878           "Print additional diagnostic information following "              \
1879           " promotion failure")                                             \
1880                                                                             \
1881   notproduct(bool, PromotionFailureALot, false,                             \
1882           "Use promotion failure handling on every youngest generation "    \
1883           "collection")                                                     \
1884                                                                             \
1885   develop(uintx, PromotionFailureALotCount, 1000,                           \
1886           "Number of promotion failures occurring at ParGCAllocBuffer"      \
1887           "refill attempts (ParNew) or promotion attempts "                 \
1888           "(other young collectors) ")                                      \
1889                                                                             \
1890   develop(uintx, PromotionFailureALotInterval, 5,                           \
1891           "Total collections between promotion failures alot")              \
1892                                                                             \
1893   experimental(uintx, WorkStealingSleepMillis, 1,                           \
1894           "Sleep time when sleep is used for yields")                       \
1895                                                                             \
1896   experimental(uintx, WorkStealingYieldsBeforeSleep, 5000,                  \
1897           "Number of yields before a sleep is done during workstealing")    \
1898                                                                             \
1899   experimental(uintx, WorkStealingHardSpins, 4096,                          \
1900           "Number of iterations in a spin loop between checks on "          \
1901           "time out of hard spin")                                          \
1902                                                                             \
1903   experimental(uintx, WorkStealingSpinToYieldRatio, 10,                     \
1904           "Ratio of hard spins to calls to yield")                          \
1905                                                                             \
1906   develop(uintx, ObjArrayMarkingStride, 512,                                \
1907           "Number of ObjArray elements to push onto the marking stack"      \
1908           "before pushing a continuation entry")                            \
1909                                                                             \
1910   develop(bool, MetadataAllocationFailALot, false,                          \
1911           "Fail metadata allocations at intervals controlled by "           \
1912           "MetadataAllocationFailALotInterval")                             \
1913                                                                             \
1914   develop(uintx, MetadataAllocationFailALotInterval, 1000,                  \
1915           "metadata allocation failure alot interval")                      \
1916                                                                             \
1917   develop(bool, MetaDataDeallocateALot, false,                              \
1918           "Deallocation bunches of metadata at intervals controlled by "    \
1919           "MetaDataAllocateALotInterval")                                   \
1920                                                                             \
1921   develop(uintx, MetaDataDeallocateALotInterval, 100,                       \
1922           "Metadata deallocation alot interval")                            \
1923                                                                             \
1924   develop(bool, TraceMetadataChunkAllocation, false,                        \
1925           "Trace chunk metadata allocations")                               \
1926                                                                             \
1927   product(bool, TraceMetadataHumongousAllocation, false,                    \
1928           "Trace humongous metadata allocations")                           \
1929                                                                             \
1930   develop(bool, TraceMetavirtualspaceAllocation, false,                     \
1931           "Trace virtual space metadata allocations")                       \
1932                                                                             \
1933   notproduct(bool, ExecuteInternalVMTests, false,                           \
1934           "Enable execution of internal VM tests.")                         \
1935                                                                             \
1936   notproduct(bool, VerboseInternalVMTests, false,                           \
1937           "Turn on logging for internal VM tests.")                         \
1938                                                                             \
1939   product_pd(bool, UseTLAB, "Use thread-local object allocation")           \
1940                                                                             \
1941   product_pd(bool, ResizeTLAB,                                              \
1942           "Dynamically resize tlab size for threads")                       \
1943                                                                             \
1944   product(bool, ZeroTLAB, false,                                            \
1945           "Zero out the newly created TLAB")                                \
1946                                                                             \
1947   product(bool, FastTLABRefill, true,                                       \
1948           "Use fast TLAB refill code")                                      \
1949                                                                             \
1950   product(bool, PrintTLAB, false,                                           \
1951           "Print various TLAB related information")                         \
1952                                                                             \
1953   product(bool, TLABStats, true,                                            \
1954           "Print various TLAB related information")                         \
1955                                                                             \
1956   EMBEDDED_ONLY(product(bool, LowMemoryProtection, true,                    \
1957           "Enable LowMemoryProtection"))                                    \
1958                                                                             \
1959   product_pd(bool, NeverActAsServerClassMachine,                            \
1960           "Never act like a server-class machine")                          \
1961                                                                             \
1962   product(bool, AlwaysActAsServerClassMachine, false,                       \


1975                                                                             \
1976   product(uintx, DefaultMaxRAMFraction, 4,                                  \
1977           "Maximum fraction (1/n) of real memory used for maximum heap "    \
1978           "size; deprecated: to be renamed to MaxRAMFraction")              \
1979                                                                             \
1980   product(uintx, MinRAMFraction, 2,                                         \
1981           "Minimum fraction (1/n) of real memory used for maxmimum heap "   \
1982           "size on systems with small physical memory size")                \
1983                                                                             \
1984   product(uintx, InitialRAMFraction, 64,                                    \
1985           "Fraction (1/n) of real memory used for initial heap size")       \
1986                                                                             \
1987   develop(uintx, MaxVirtMemFraction, 2,                                     \
1988           "Maximum fraction (1/n) of virtual memory used for ergonomically" \
1989           "determining maximum heap size")                                  \
1990                                                                             \
1991   product(bool, UseAutoGCSelectPolicy, false,                               \
1992           "Use automatic collection selection policy")                      \
1993                                                                             \
1994   product(uintx, AutoGCSelectPauseMillis, 5000,                             \
1995           "Automatic GC selection pause threshhold in ms")                  \
1996                                                                             \
1997   product(bool, UseAdaptiveSizePolicy, true,                                \
1998           "Use adaptive generation sizing policies")                        \
1999                                                                             \
2000   product(bool, UsePSAdaptiveSurvivorSizePolicy, true,                      \
2001           "Use adaptive survivor sizing policies")                          \
2002                                                                             \
2003   product(bool, UseAdaptiveGenerationSizePolicyAtMinorCollection, true,     \
2004           "Use adaptive young-old sizing policies at minor collections")    \
2005                                                                             \
2006   product(bool, UseAdaptiveGenerationSizePolicyAtMajorCollection, true,     \
2007           "Use adaptive young-old sizing policies at major collections")    \
2008                                                                             \
2009   product(bool, UseAdaptiveSizePolicyWithSystemGC, false,                   \
2010           "Use statistics from System.GC for adaptive size policy")         \
2011                                                                             \
2012   product(bool, UseAdaptiveGCBoundary, false,                               \
2013           "Allow young-old boundary to move")                               \
2014                                                                             \
2015   develop(bool, TraceAdaptiveGCBoundary, false,                             \
2016           "Trace young-old boundary moves")                                 \
2017                                                                             \
2018   develop(intx, PSAdaptiveSizePolicyResizeVirtualSpaceAlot, -1,             \
2019           "Resize the virtual spaces of the young or old generations")      \
2020                                                                             \
2021   product(uintx, AdaptiveSizeThroughPutPolicy, 0,                           \
2022           "Policy for changeing generation size for throughput goals")      \
2023                                                                             \
2024   product(uintx, AdaptiveSizePausePolicy, 0,                                \
2025           "Policy for changing generation size for pause goals")            \
2026                                                                             \
2027   develop(bool, PSAdjustTenuredGenForMinorPause, false,                     \
2028           "Adjust tenured generation to achive a minor pause goal")         \
2029                                                                             \
2030   develop(bool, PSAdjustYoungGenForMajorPause, false,                       \
2031           "Adjust young generation to achive a major pause goal")           \
2032                                                                             \
2033   product(uintx, AdaptiveSizePolicyInitializingSteps, 20,                   \
2034           "Number of steps where heuristics is used before data is used")   \
2035                                                                             \
2036   develop(uintx, AdaptiveSizePolicyReadyThreshold, 5,                       \
2037           "Number of collections before the adaptive sizing is started")    \
2038                                                                             \
2039   product(uintx, AdaptiveSizePolicyOutputInterval, 0,                       \
2040           "Collection interval for printing information; zero means never") \
2041                                                                             \
2042   product(bool, UseAdaptiveSizePolicyFootprintGoal, true,                   \
2043           "Use adaptive minimum footprint as a goal")                       \
2044                                                                             \
2045   product(uintx, AdaptiveSizePolicyWeight, 10,                              \
2046           "Weight given to exponential resizing, between 0 and 100")        \
2047                                                                             \
2048   product(uintx, AdaptiveTimeWeight,       25,                              \
2049           "Weight given to time in adaptive policy, between 0 and 100")     \
2050                                                                             \
2051   product(uintx, PausePadding, 1,                                           \


3512           "Force verification of 1.4 reflection bytecodes. Does not work "  \
3513           "in situations like that described in 4486457 or for "            \
3514           "constructors generated for serialization, so can not be enabled "\
3515           "in product.")                                                    \
3516                                                                             \
3517   product(bool, ReflectionWrapResolutionErrors, true,                       \
3518           "Temporary flag for transition to AbstractMethodError wrapped "   \
3519           "in InvocationTargetException. See 6531596")                      \
3520                                                                             \
3521   develop(bool, VerifyLambdaBytecodes, false,                               \
3522           "Force verification of jdk 8 lambda metafactory bytecodes.")      \
3523                                                                             \
3524   develop(intx, FastSuperclassLimit, 8,                                     \
3525           "Depth of hardwired instanceof accelerator array")                \
3526                                                                             \
3527   /* Properties for Java libraries  */                                      \
3528                                                                             \
3529   product(uintx, MaxDirectMemorySize, 0,                                    \
3530           "Maximum total size of NIO direct-buffer allocations")            \
3531                                                                             \
3532   /* temporary developer defined flags  */                                  \
3533                                                                             \
3534   diagnostic(bool, UseNewCode, false,                                       \
3535           "Testing Only: Use the new version while testing")                \
3536                                                                             \
3537   diagnostic(bool, UseNewCode2, false,                                      \
3538           "Testing Only: Use the new version while testing")                \
3539                                                                             \
3540   diagnostic(bool, UseNewCode3, false,                                      \
3541           "Testing Only: Use the new version while testing")                \
3542                                                                             \
3543   /* flags for performance data collection */                               \
3544                                                                             \
3545   product(bool, UsePerfData, falseInEmbedded,                               \
3546           "Flag to disable jvmstat instrumentation for performance testing" \
3547           "and problem isolation purposes.")                                \
3548                                                                             \
3549   product(bool, PerfDataSaveToFile, false,                                  \
3550           "Save PerfData memory to hsperfdata_<pid> file on exit")          \
3551                                                                             \
3552   product(ccstr, PerfDataSaveFile, NULL,                                    \




 499                                                                             \
 500   develop(bool, LargePagesIndividualAllocationInjectError, false,           \
 501           "Fail large pages individual allocation")                         \
 502                                                                             \
 503   develop(bool, TracePageSizes, false,                                      \
 504           "Trace page size selection and usage.")                           \
 505                                                                             \
 506   product(bool, UseNUMA, false,                                             \
 507           "Use NUMA if available")                                          \
 508                                                                             \
 509   product(bool, UseNUMAInterleaving, false,                                 \
 510           "Interleave memory across NUMA nodes if available")               \
 511                                                                             \
 512   product(uintx, NUMAInterleaveGranularity, 2*M,                            \
 513           "Granularity to use for NUMA interleaving on Windows OS")         \
 514                                                                             \
 515   product(bool, ForceNUMA, false,                                           \
 516           "Force NUMA optimizations on single-node/UMA systems")            \
 517                                                                             \
 518   product(uintx, NUMAChunkResizeWeight, 20,                                 \
 519           "Percentage (0-100) used to weight the current sample when "      \
 520           "computing exponentially decaying average for "                   \
 521           "AdaptiveNUMAChunkSizing")                                        \
 522                                                                             \
 523   product(uintx, NUMASpaceResizeRate, 1*G,                                  \
 524           "Do not reallocate more that this amount per collection")         \
 525                                                                             \
 526   product(bool, UseAdaptiveNUMAChunkSizing, true,                           \
 527           "Enable adaptive chunk sizing for NUMA")                          \
 528                                                                             \
 529   product(bool, NUMAStats, false,                                           \
 530           "Print NUMA stats in detailed heap information")                  \
 531                                                                             \
 532   product(uintx, NUMAPageScanRate, 256,                                     \
 533           "Maximum number of pages to include in the page scan procedure")  \
 534                                                                             \
 535   product_pd(bool, NeedsDeoptSuspend,                                       \
 536           "True for register window machines (sparc/ia64)")                 \
 537                                                                             \
 538   product(intx, UseSSE, 99,                                                 \
 539           "Highest supported SSE instructions set on x86/x64")              \


 547   product(uintx, LargePageHeapSizeThreshold, 128*M,                         \
 548           "Use large pages if max heap is at least this big")               \
 549                                                                             \
 550   product(bool, ForceTimeHighResolution, false,                             \
 551           "Using high time resolution(For Win32 only)")                     \
 552                                                                             \
 553   develop(bool, TraceItables, false,                                        \
 554           "Trace initialization and use of itables")                        \
 555                                                                             \
 556   develop(bool, TracePcPatching, false,                                     \
 557           "Trace usage of frame::patch_pc")                                 \
 558                                                                             \
 559   develop(bool, TraceJumps, false,                                          \
 560           "Trace assembly jumps in thread ring buffer")                     \
 561                                                                             \
 562   develop(bool, TraceRelocator, false,                                      \
 563           "Trace the bytecode relocator")                                   \
 564                                                                             \
 565   develop(bool, TraceLongCompiles, false,                                   \
 566           "Print out every time compilation is longer than "                \
 567           "a given threshold")                                              \
 568                                                                             \
 569   develop(bool, SafepointALot, false,                                       \
 570           "Generates a lot of safepoints. Works with "                      \
 571           "GuaranteedSafepointInterval")                                    \
 572                                                                             \
 573   product_pd(bool, BackgroundCompilation,                                   \
 574           "A thread requesting compilation is not blocked during "          \
 575           "compilation")                                                    \
 576                                                                             \
 577   product(bool, PrintVMQWaitTime, false,                                    \
 578           "Prints out the waiting time in VM operation queue")              \
 579                                                                             \
 580   develop(bool, NoYieldsInMicrolock, false,                                 \
 581           "Disable yields in microlock")                                    \
 582                                                                             \
 583   develop(bool, TraceOopMapGeneration, false,                               \
 584           "Shows oopmap generation")                                        \
 585                                                                             \
 586   product(bool, MethodFlushing, true,                                       \
 587           "Reclamation of zombie and not-entrant methods")                  \


 869           "Tells whether the VM should use system time or a fake timer")    \
 870                                                                             \
 871   product(ccstr, NativeMemoryTracking, "off",                               \
 872           "Native memory tracking options")                                 \
 873                                                                             \
 874   diagnostic(bool, PrintNMTStatistics, false,                               \
 875           "Print native memory tracking summary data if it is on")          \
 876                                                                             \
 877   diagnostic(bool, AutoShutdownNMT, true,                                   \
 878           "Automatically shutdown native memory tracking under stress "     \
 879           "situation. When set to false, native memory tracking tries to "  \
 880           "stay alive at the expense of JVM performance")                   \
 881                                                                             \
 882   diagnostic(bool, LogCompilation, false,                                   \
 883           "Log compilation activity in detail to LogFile")                  \
 884                                                                             \
 885   product(bool, PrintCompilation, false,                                    \
 886           "Print compilations")                                             \
 887                                                                             \
 888   diagnostic(bool, TraceNMethodInstalls, false,                             \
 889              "Trace nmethod installation")                                  \
 890                                                                             \
 891   diagnostic(intx, ScavengeRootsInCode, 2,                                  \
 892              "0: do not allow scavengable oops in the code cache; "         \
 893              "1: allow scavenging from the code cache; "                    \
 894              "2: emit as many constants as the compiler can see")           \
 895                                                                             \
 896   product(bool, AlwaysRestoreFPU, false,                                    \
 897           "Restore the FPU control word after every JNI call (expensive)")  \
 898                                                                             \
 899   diagnostic(bool, PrintCompilation2, false,                                \
 900           "Print additional statistics per compilation")                    \
 901                                                                             \
 902   diagnostic(bool, PrintAdapterHandlers, false,                             \
 903           "Print code generated for i2c/c2i adapters")                      \
 904                                                                             \
 905   diagnostic(bool, VerifyAdapterCalls, trueInDebug,                         \
 906           "Verify that i2c/c2i adapters are called properly")               \
 907                                                                             \
 908   develop(bool, VerifyAdapterSharing, false,                                \
 909           "Verify that the code for shared adapters is the equivalent")     \


 941                                                                             \
 942   product(bool, PrintCodeCache, false,                                      \
 943           "Print the code cache memory usage when exiting")                 \
 944                                                                             \
 945   develop(bool, PrintCodeCache2, false,                                     \
 946           "Print detailed usage info on the code cache when exiting")       \
 947                                                                             \
 948   product(bool, PrintCodeCacheOnCompilation, false,                         \
 949           "Print the code cache memory usage each time a method is compiled") \
 950                                                                             \
 951   diagnostic(bool, PrintStubCode, false,                                    \
 952           "Print generated stub code")                                      \
 953                                                                             \
 954   product(bool, StackTraceInThrowable, true,                                \
 955           "Collect backtrace in throwable when exception happens")          \
 956                                                                             \
 957   product(bool, OmitStackTraceInFastThrow, true,                            \
 958           "Omit backtraces for some 'hot' exceptions in optimized code")    \
 959                                                                             \
 960   product(bool, ProfilerPrintByteCodeStatistics, false,                     \
 961           "Prints byte code statistics when dumping profiler output")       \
 962                                                                             \
 963   product(bool, ProfilerRecordPC, false,                                    \
 964           "Collects tick for each 16 byte interval of compiled code")       \
 965                                                                             \
 966   product(bool, ProfileVM, false,                                           \
 967           "Profiles ticks that fall within VM (either in the VM Thread "    \
 968           "or VM code called through stubs)")                               \
 969                                                                             \
 970   product(bool, ProfileIntervals, false,                                    \
 971           "Prints profiles for each interval (see ProfileIntervalsTicks)")  \
 972                                                                             \
 973   notproduct(bool, ProfilerCheckIntervals, false,                           \
 974           "Collect and print info on spacing of profiler ticks")            \
 975                                                                             \
 976   develop(bool, PrintJVMWarnings, false,                                    \
 977           "Prints warnings for unimplemented JVM functions")                \
 978                                                                             \
 979   product(bool, PrintWarnings, true,                                        \
 980           "Prints JVM warnings to output stream")                           \
 981                                                                             \
 982   notproduct(uintx, WarnOnStalledSpinLock, 0,                               \
 983           "Prints warnings for stalled SpinLocks")                          \
 984                                                                             \
 985   product(bool, RegisterFinalizersAtInit, true,                             \
 986           "Register finalizable objects at end of Object.<init> or "        \
 987           "after allocation")                                               \
 988                                                                             \
 989   develop(bool, RegisterReferences, true,                                   \
 990           "Tells whether the VM should register soft/weak/final/phantom "   \
 991           "references")                                                     \
 992                                                                             \
 993   develop(bool, IgnoreRewrites, false,                                      \
 994           "Suppress rewrites of bytecodes in the oopmap generator. "        \
 995           "This is unsafe!")                                                \
 996                                                                             \
 997   develop(bool, PrintCodeCacheExtension, false,                             \
 998           "Print extension of code cache")                                  \
 999                                                                             \
1000   develop(bool, UsePrivilegedStack, true,                                   \
1001           "Enable the security JVM functions")                              \
1002                                                                             \
1003   develop(bool, ProtectionDomainVerification, true,                         \
1004           "Verifies protection domain before resolution in system "         \
1005           "dictionary")                                                     \
1006                                                                             \
1007   product(bool, ClassUnloading, true,                                       \
1008           "Do unloading of classes")                                        \
1009                                                                             \
1010   develop(bool, DisableStartThread, false,                                  \
1011           "Disable starting of additional Java threads "                    \
1012           "(for debugging only)")                                           \
1013                                                                             \
1014   develop(bool, MemProfiling, false,                                        \


1256                                                                             \
1257   develop(bool, VerifyDependencies, trueInDebug,                            \
1258          "Exercise and verify the compilation dependency mechanism")        \
1259                                                                             \
1260   develop(bool, TraceNewOopMapGeneration, false,                            \
1261           "Trace OopMapGeneration")                                         \
1262                                                                             \
1263   develop(bool, TraceNewOopMapGenerationDetailed, false,                    \
1264           "Trace OopMapGeneration: print detailed cell states")             \
1265                                                                             \
1266   develop(bool, TimeOopMap, false,                                          \
1267           "Time calls to GenerateOopMap::compute_map() in sum")             \
1268                                                                             \
1269   develop(bool, TimeOopMap2, false,                                         \
1270           "Time calls to GenerateOopMap::compute_map() individually")       \
1271                                                                             \
1272   develop(bool, TraceMonitorMismatch, false,                                \
1273           "Trace monitor matching failures during OopMapGeneration")        \
1274                                                                             \
1275   develop(bool, TraceOopMapRewrites, false,                                 \
1276           "Trace rewriting of method oops during oop map generation")       \
1277                                                                             \
1278   develop(bool, TraceSafepoint, false,                                      \
1279           "Trace safepoint operations")                                     \
1280                                                                             \
1281   develop(bool, TraceICBuffer, false,                                       \
1282           "Trace usage of IC buffer")                                       \
1283                                                                             \
1284   develop(bool, TraceCompiledIC, false,                                     \
1285           "Trace changes of compiled IC")                                   \
1286                                                                             \
1287   notproduct(bool, TraceZapDeadLocals, false,                               \
1288           "Trace zapping dead locals")                                      \
1289                                                                             \
1290   develop(bool, TraceStartupTime, false,                                    \
1291           "Trace setup time")                                               \
1292                                                                             \
1293   develop(bool, TraceProtectionDomainVerification, false,                   \
1294           "Trace protection domain verification")                           \
1295                                                                             \
1296   develop(bool, TraceClearedExceptions, false,                              \
1297           "Prints when an exception is forcibly cleared")                   \
1298                                                                             \
1299   product(bool, TraceClassResolution, false,                                \
1300           "Trace all constant pool resolutions (for debugging)")            \
1301                                                                             \
1302   product(bool, TraceBiasedLocking, false,                                  \
1303           "Trace biased locking in JVM")                                    \
1304                                                                             \
1305   product(bool, TraceMonitorInflation, false,                               \
1306           "Trace monitor inflation in JVM")                                 \
1307                                                                             \
1308   /* gc */                                                                  \
1309                                                                             \
1310   product(bool, UseSerialGC, false,                                         \
1311           "Use the serial garbage collector")                               \
1312                                                                             \
1313   product(bool, UseG1GC, false,                                             \
1314           "Use the Garbage-First garbage collector")                        \


1386           "Scavenge youngest generation before each full GC, "              \
1387           "used with UseParallelGC")                                        \
1388                                                                             \
1389   develop(bool, ScavengeWithObjectsInToSpace, false,                        \
1390           "Allow scavenges to occur when to_space contains objects.")       \
1391                                                                             \
1392   product(bool, UseConcMarkSweepGC, false,                                  \
1393           "Use Concurrent Mark-Sweep GC in the old generation")             \
1394                                                                             \
1395   product(bool, ExplicitGCInvokesConcurrent, false,                         \
1396           "A System.gc() request invokes a concurrent collection;"          \
1397           " (effective only when UseConcMarkSweepGC)")                      \
1398                                                                             \
1399   product(bool, ExplicitGCInvokesConcurrentAndUnloadsClasses, false,        \
1400           "A System.gc() request invokes a concurrent collection and "      \
1401           "also unloads classes during such a concurrent gc cycle "         \
1402           "(effective only when UseConcMarkSweepGC)")                       \
1403                                                                             \
1404   product(bool, GCLockerInvokesConcurrent, false,                           \
1405           "The exit of a JNI CS necessitating a scavenge also"              \
1406           " kicks off a background concurrent collection")                  \
1407                                                                             \
1408   product(uintx, GCLockerEdenExpansionPercent, 5,                           \
1409           "How much the GC can expand the eden by while the GC locker  "    \
1410           "is active (as a percentage)")                                    \
1411                                                                             \
1412   diagnostic(intx, GCLockerRetryAllocationCount, 2,                         \
1413           "Number of times to retry allocations when"                       \
1414           " blocked by the GC locker")                                      \
1415                                                                             \
1416   develop(bool, UseCMSAdaptiveFreeLists, true,                              \
1417           "Use Adaptive Free Lists in the CMS generation")                  \
1418                                                                             \
1419   develop(bool, UseAsyncConcMarkSweepGC, true,                              \
1420           "Use Asynchronous Concurrent Mark-Sweep GC in the old generation")\
1421                                                                             \
1422   develop(bool, RotateCMSCollectionTypes, false,                            \
1423           "Rotate the CMS collections among concurrent and STW")            \
1424                                                                             \
1425   product(bool, UseCMSBestFit, true,                                        \
1426           "Use CMS best fit allocation strategy")                           \


1481                                                                             \
1482   diagnostic(intx, ParGCCardsPerStrideChunk, 256,                           \
1483           "The number of cards in each chunk of the parallel chunks used "  \
1484           "during card table scanning")                                     \
1485                                                                             \
1486   product(uintx, CMSParPromoteBlocksToClaim, 16,                            \
1487           "Number of blocks to attempt to claim when refilling CMS LAB for "\
1488           "parallel GC.")                                                   \
1489                                                                             \
1490   product(uintx, OldPLABWeight, 50,                                         \
1491           "Percentage (0-100) used to weight the current sample when"       \
1492           "computing exponentially decaying average for resizing CMSParPromoteBlocksToClaim.") \
1493                                                                             \
1494   product(bool, ResizeOldPLAB, true,                                        \
1495           "Dynamically resize (old gen) promotion labs")                    \
1496                                                                             \
1497   product(bool, PrintOldPLAB, false,                                        \
1498           "Print (old gen) promotion labs sizing decisions")                \
1499                                                                             \
1500   product(uintx, CMSOldPLABMin, 16,                                         \
1501           "Min size of CMS gen promotion lab caches per worker per block size") \
1502                                                                             \
1503   product(uintx, CMSOldPLABMax, 1024,                                       \
1504           "Max size of CMS gen promotion lab caches per worker per block size") \
1505                                                                             \
1506   product(uintx, CMSOldPLABNumRefills, 4,                                   \
1507           "Nominal number of refills of CMS gen promotion lab cache"        \
1508           " per worker per block size")                                     \
1509                                                                             \
1510   product(bool, CMSOldPLABResizeQuicker, false,                             \
1511           "Whether to react on-the-fly during a scavenge to a sudden"       \
1512           " change in block demand rate")                                   \
1513                                                                             \
1514   product(uintx, CMSOldPLABToleranceFactor, 4,                              \
1515           "The tolerance of the phase-change detector for on-the-fly"       \
1516           " PLAB resizing during a scavenge")                               \
1517                                                                             \
1518   product(uintx, CMSOldPLABReactivityFactor, 2,                             \
1519           "The gain in the feedback loop for on-the-fly PLAB resizing"      \
1520           " during a scavenge")                                             \
1521                                                                             \
1522   product(bool, AlwaysPreTouch, false,                                      \
1523           "It forces all freshly committed pages to be pre-touched.")       \
1524                                                                             \


1539           "automatically adjusted")                                         \
1540                                                                             \
1541   product(uintx, CMSIncrementalDutyCycleMin, 0,                             \
1542           "Lower bound on the duty cycle when CMSIncrementalPacing is "     \
1543           "enabled (a percentage, 0-100)")                                  \
1544                                                                             \
1545   product(uintx, CMSIncrementalSafetyFactor, 10,                            \
1546           "Percentage (0-100) used to add conservatism when computing the " \
1547           "duty cycle")                                                     \
1548                                                                             \
1549   product(uintx, CMSIncrementalOffset, 0,                                   \
1550           "Percentage (0-100) by which the CMS incremental mode duty cycle" \
1551           " is shifted to the right within the period between young GCs")   \
1552                                                                             \
1553   product(uintx, CMSExpAvgFactor, 50,                                       \
1554           "Percentage (0-100) used to weight the current sample when"       \
1555           "computing exponential averages for CMS statistics.")             \
1556                                                                             \
1557   product(uintx, CMS_FLSWeight, 75,                                         \
1558           "Percentage (0-100) used to weight the current sample when"       \
1559           "computing exponentially decaying averages for CMS FLS statistics.") \
1560                                                                             \
1561   product(uintx, CMS_FLSPadding, 1,                                         \
1562           "The multiple of deviation from mean to use for buffering"        \
1563           "against volatility in free list demand.")                        \
1564                                                                             \
1565   product(uintx, FLSCoalescePolicy, 2,                                      \
1566           "CMS: Aggression level for coalescing, increasing from 0 to 4")   \
1567                                                                             \
1568   product(bool, FLSAlwaysCoalesceLarge, false,                              \
1569           "CMS: Larger free blocks are always available for coalescing")    \
1570                                                                             \
1571   product(double, FLSLargestBlockCoalesceProximity, 0.99,                   \
1572           "CMS: the smaller the percentage the greater the coalition force")\
1573                                                                             \
1574   product(double, CMSSmallCoalSurplusPercent, 1.05,                         \
1575           "CMS: the factor by which to inflate estimated demand of small"   \
1576           " block sizes to prevent coalescing with an adjoining block")     \
1577                                                                             \
1578   product(double, CMSLargeCoalSurplusPercent, 0.95,                         \
1579           "CMS: the factor by which to inflate estimated demand of large"   \


1586                                                                             \
1587   product(double, CMSLargeSplitSurplusPercent, 1.00,                        \
1588           "CMS: the factor by which to inflate estimated demand of large"   \
1589           " block sizes to prevent splitting to supply demand for smaller"  \
1590           " blocks")                                                        \
1591                                                                             \
1592   product(bool, CMSExtrapolateSweep, false,                                 \
1593           "CMS: cushion for block demand during sweep")                     \
1594                                                                             \
1595   product(uintx, CMS_SweepWeight, 75,                                       \
1596           "Percentage (0-100) used to weight the current sample when "      \
1597           "computing exponentially decaying average for inter-sweep "       \
1598           "duration")                                                       \
1599                                                                             \
1600   product(uintx, CMS_SweepPadding, 1,                                       \
1601           "The multiple of deviation from mean to use for buffering "       \
1602           "against volatility in inter-sweep duration.")                    \
1603                                                                             \
1604   product(uintx, CMS_SweepTimerThresholdMillis, 10,                         \
1605           "Skip block flux-rate sampling for an epoch unless inter-sweep "  \
1606           "duration exceeds this threshold in milliseconds")                \
1607                                                                             \
1608   develop(bool, CMSTraceIncrementalMode, false,                             \
1609           "Trace CMS incremental mode")                                     \
1610                                                                             \
1611   develop(bool, CMSTraceIncrementalPacing, false,                           \
1612           "Trace CMS incremental mode pacing computation")                  \
1613                                                                             \
1614   develop(bool, CMSTraceThreadState, false,                                 \
1615           "Trace the CMS thread state (enable the trace_state() method)")   \
1616                                                                             \
1617   product(bool, CMSClassUnloadingEnabled, true,                             \
1618           "Whether class unloading enabled when using CMS GC")              \
1619                                                                             \
1620   product(uintx, CMSClassUnloadingMaxInterval, 0,                           \
1621           "When CMS class unloading is enabled, the maximum CMS cycle count"\
1622           " for which classes may not be unloaded")                         \
1623                                                                             \
1624   product(bool, CMSCompactWhenClearAllSoftRefs, true,                       \
1625           "Compact when asked to collect CMS gen with clear_all_soft_refs") \
1626                                                                             \


1647           "Warn in case of excessive CMS looping")                          \
1648                                                                             \
1649   develop(bool, CMSOverflowEarlyRestoration, false,                         \
1650           "Whether preserved marks should be restored early")               \
1651                                                                             \
1652   product(uintx, MarkStackSize, NOT_LP64(32*K) LP64_ONLY(4*M),              \
1653           "Size of marking stack")                                          \
1654                                                                             \
1655   product(uintx, MarkStackSizeMax, NOT_LP64(4*M) LP64_ONLY(512*M),          \
1656           "Max size of marking stack")                                      \
1657                                                                             \
1658   notproduct(bool, CMSMarkStackOverflowALot, false,                         \
1659           "Whether we should simulate frequent marking stack / work queue"  \
1660           " overflow")                                                      \
1661                                                                             \
1662   notproduct(uintx, CMSMarkStackOverflowInterval, 1000,                     \
1663           "An `interval' counter that determines how frequently"            \
1664           " we simulate overflow; a smaller number increases frequency")    \
1665                                                                             \
1666   product(uintx, CMSMaxAbortablePrecleanLoops, 0,                           \

1667           "Maximum number of abortable preclean iterations, if > 0")        \
1668                                                                             \
1669   product(intx, CMSMaxAbortablePrecleanTime, 5000,                          \

1670           "Maximum time in abortable preclean in ms")                       \
1671                                                                             \
1672   product(uintx, CMSAbortablePrecleanMinWorkPerIteration, 100,              \

1673           "Nominal minimum work per abortable preclean iteration")          \
1674                                                                             \
1675   manageable(intx, CMSAbortablePrecleanWaitMillis, 100,                     \

1676           " Time that we sleep between iterations when not given"           \
1677           " enough work per iteration")                                     \
1678                                                                             \
1679   product(uintx, CMSRescanMultiple, 32,                                     \
1680           "Size (in cards) of CMS parallel rescan task")                    \
1681                                                                             \
1682   product(uintx, CMSConcMarkMultiple, 32,                                   \
1683           "Size (in cards) of CMS concurrent MT marking task")              \
1684                                                                             \
1685   product(bool, CMSAbortSemantics, false,                                   \
1686           "Whether abort-on-overflow semantics is implemented")             \
1687                                                                             \
1688   product(bool, CMSParallelInitialMarkEnabled, true,                        \
1689           "Use the parallel initial mark.")                                 \
1690                                                                             \
1691   product(bool, CMSParallelRemarkEnabled, true,                             \
1692           "Whether parallel remark enabled (only if ParNewGC)")             \
1693                                                                             \
1694   product(bool, CMSParallelSurvivorRemarkEnabled, true,                     \
1695           "Whether parallel remark of survivor space"                       \
1696           " enabled (effective only if CMSParallelRemarkEnabled)")          \
1697                                                                             \
1698   product(bool, CMSPLABRecordAlways, true,                                  \
1699           "Whether to always record survivor space PLAB boundaries"         \
1700           " (effective only if CMSParallelSurvivorRemarkEnabled)")          \
1701                                                                             \
1702   product(bool, CMSEdenChunksRecordAlways, true,                            \
1703           "Whether to always record eden chunks used for "                  \
1704           "the parallel initial mark or remark of eden" )                   \
1705                                                                             \
1706   product(bool, CMSPrintEdenSurvivorChunks, false,                          \
1707           "Print the eden and the survivor chunks used for the parallel "   \
1708           "initial mark or remark of the eden/survivor spaces")             \
1709                                                                             \
1710   product(bool, CMSConcurrentMTEnabled, true,                               \
1711           "Whether multi-threaded concurrent work enabled (if ParNewGC)")   \
1712                                                                             \
1713   product(bool, CMSPrecleaningEnabled, true,                                \
1714           "Whether concurrent precleaning enabled")                         \
1715                                                                             \
1716   product(uintx, CMSPrecleanIter, 3,                                        \
1717           "Maximum number of precleaning iteration passes")                 \
1718                                                                             \
1719   product(uintx, CMSPrecleanNumerator, 2,                                   \


1828   product(uintx, CMSTriggerRatio, 80,                                       \
1829           "Percentage of MinHeapFreeRatio in CMS generation that is "       \
1830           "allocated before a CMS collection cycle commences")              \
1831                                                                             \
1832   product(uintx, CMSBootstrapOccupancy, 50,                                 \
1833           "Percentage CMS generation occupancy at which to "                \
1834           "initiate CMS collection for bootstrapping collection stats")     \
1835                                                                             \
1836   product(intx, CMSInitiatingOccupancyFraction, -1,                         \
1837           "Percentage CMS generation occupancy to start a CMS collection "  \
1838           "cycle. A negative value means that CMSTriggerRatio is used")     \
1839                                                                             \
1840   product(uintx, InitiatingHeapOccupancyPercent, 45,                        \
1841           "Percentage of the (entire) heap occupancy to start a "           \
1842           "concurrent GC cycle. It is used by GCs that trigger a "          \
1843           "concurrent GC cycle based on the occupancy of the entire heap, " \
1844           "not just one of the generations (e.g., G1). A value of 0 "       \
1845           "denotes 'do constant GC cycles'.")                               \
1846                                                                             \
1847   product(bool, UseCMSInitiatingOccupancyOnly, false,                       \
1848           "Only use occupancy as a criterion for starting a CMS collection")\
1849                                                                             \
1850   product(uintx, CMSIsTooFullPercentage, 98,                                \
1851           "An absolute ceiling above which CMS will always consider the "   \
1852           "unloading of classes when class unloading is enabled")           \
1853                                                                             \
1854   develop(bool, CMSTestInFreeList, false,                                   \
1855           "Check if the coalesced range is already in the "                 \
1856           "free lists as claimed")                                          \
1857                                                                             \
1858   notproduct(bool, CMSVerifyReturnedBytes, false,                           \
1859           "Check that all the garbage collected was returned to the "       \
1860           "free lists.")                                                    \
1861                                                                             \
1862   notproduct(bool, ScavengeALot, false,                                     \
1863           "Force scavenge at every Nth exit from the runtime system "       \
1864           "(N=ScavengeALotInterval)")                                       \
1865                                                                             \
1866   develop(bool, FullGCALot, false,                                          \
1867           "Force full gc at every Nth exit from the runtime system "        \
1868           "(N=FullGCALotInterval)")                                         \
1869                                                                             \
1870   notproduct(bool, GCALotAtAllSafepoints, false,                            \
1871           "Enforce ScavengeALot/GCALot at all potential safepoints")        \
1872                                                                             \
1873   product(bool, PrintPromotionFailure, false,                               \
1874           "Print additional diagnostic information following "              \
1875           " promotion failure")                                             \
1876                                                                             \
1877   notproduct(bool, PromotionFailureALot, false,                             \
1878           "Use promotion failure handling on every youngest generation "    \
1879           "collection")                                                     \
1880                                                                             \
1881   develop(uintx, PromotionFailureALotCount, 1000,                           \
1882           "Number of promotion failures occurring at ParGCAllocBuffer"      \
1883           "refill attempts (ParNew) or promotion attempts "                 \
1884           "(other young collectors) ")                                      \
1885                                                                             \
1886   develop(uintx, PromotionFailureALotInterval, 5,                           \
1887           "Total collections between promotion failures a lot")             \
1888                                                                             \
1889   experimental(uintx, WorkStealingSleepMillis, 1,                           \
1890           "Sleep time when sleep is used for yields")                       \
1891                                                                             \
1892   experimental(uintx, WorkStealingYieldsBeforeSleep, 5000,                  \
1893           "Number of yields before a sleep is done during work stealing")   \
1894                                                                             \
1895   experimental(uintx, WorkStealingHardSpins, 4096,                          \
1896           "Number of iterations in a spin loop between checks on "          \
1897           "time out of hard spin")                                          \
1898                                                                             \
1899   experimental(uintx, WorkStealingSpinToYieldRatio, 10,                     \
1900           "Ratio of hard spins to calls to yield")                          \
1901                                                                             \
1902   develop(uintx, ObjArrayMarkingStride, 512,                                \
1903           "Number of ObjArray elements to push onto the marking stack"      \
1904           "before pushing a continuation entry")                            \
1905                                                                             \
1906   develop(bool, MetadataAllocationFailALot, false,                          \
1907           "Fail metadata allocations at intervals controlled by "           \
1908           "MetadataAllocationFailALotInterval")                             \
1909                                                                             \
1910   develop(uintx, MetadataAllocationFailALotInterval, 1000,                  \
1911           "metadata allocation failure a lot interval")                     \
1912                                                                             \
1913   develop(bool, MetaDataDeallocateALot, false,                              \
1914           "Deallocation bunches of metadata at intervals controlled by "    \
1915           "MetaDataAllocateALotInterval")                                   \
1916                                                                             \
1917   develop(uintx, MetaDataDeallocateALotInterval, 100,                       \
1918           "Metadata deallocation a lot interval")                           \
1919                                                                             \
1920   develop(bool, TraceMetadataChunkAllocation, false,                        \
1921           "Trace chunk metadata allocations")                               \
1922                                                                             \
1923   product(bool, TraceMetadataHumongousAllocation, false,                    \
1924           "Trace humongous metadata allocations")                           \
1925                                                                             \
1926   develop(bool, TraceMetavirtualspaceAllocation, false,                     \
1927           "Trace virtual space metadata allocations")                       \
1928                                                                             \
1929   notproduct(bool, ExecuteInternalVMTests, false,                           \
1930           "Enable execution of internal VM tests.")                         \
1931                                                                             \
1932   notproduct(bool, VerboseInternalVMTests, false,                           \
1933           "Turn on logging for internal VM tests.")                         \
1934                                                                             \
1935   product_pd(bool, UseTLAB, "Use thread-local object allocation")           \
1936                                                                             \
1937   product_pd(bool, ResizeTLAB,                                              \
1938           "Dynamically resize TLAB size for threads")                       \
1939                                                                             \
1940   product(bool, ZeroTLAB, false,                                            \
1941           "Zero out the newly created TLAB")                                \
1942                                                                             \
1943   product(bool, FastTLABRefill, true,                                       \
1944           "Use fast TLAB refill code")                                      \
1945                                                                             \
1946   product(bool, PrintTLAB, false,                                           \
1947           "Print various TLAB related information")                         \
1948                                                                             \
1949   product(bool, TLABStats, true,                                            \
1950           "Print various TLAB related information")                         \
1951                                                                             \
1952   EMBEDDED_ONLY(product(bool, LowMemoryProtection, true,                    \
1953           "Enable LowMemoryProtection"))                                    \
1954                                                                             \
1955   product_pd(bool, NeverActAsServerClassMachine,                            \
1956           "Never act like a server-class machine")                          \
1957                                                                             \
1958   product(bool, AlwaysActAsServerClassMachine, false,                       \


1971                                                                             \
1972   product(uintx, DefaultMaxRAMFraction, 4,                                  \
1973           "Maximum fraction (1/n) of real memory used for maximum heap "    \
1974           "size; deprecated: to be renamed to MaxRAMFraction")              \
1975                                                                             \
1976   product(uintx, MinRAMFraction, 2,                                         \
1977           "Minimum fraction (1/n) of real memory used for maxmimum heap "   \
1978           "size on systems with small physical memory size")                \
1979                                                                             \
1980   product(uintx, InitialRAMFraction, 64,                                    \
1981           "Fraction (1/n) of real memory used for initial heap size")       \
1982                                                                             \
1983   develop(uintx, MaxVirtMemFraction, 2,                                     \
1984           "Maximum fraction (1/n) of virtual memory used for ergonomically" \
1985           "determining maximum heap size")                                  \
1986                                                                             \
1987   product(bool, UseAutoGCSelectPolicy, false,                               \
1988           "Use automatic collection selection policy")                      \
1989                                                                             \
1990   product(uintx, AutoGCSelectPauseMillis, 5000,                             \
1991           "Automatic GC selection pause threshold in ms")                   \
1992                                                                             \
1993   product(bool, UseAdaptiveSizePolicy, true,                                \
1994           "Use adaptive generation sizing policies")                        \
1995                                                                             \
1996   product(bool, UsePSAdaptiveSurvivorSizePolicy, true,                      \
1997           "Use adaptive survivor sizing policies")                          \
1998                                                                             \
1999   product(bool, UseAdaptiveGenerationSizePolicyAtMinorCollection, true,     \
2000           "Use adaptive young-old sizing policies at minor collections")    \
2001                                                                             \
2002   product(bool, UseAdaptiveGenerationSizePolicyAtMajorCollection, true,     \
2003           "Use adaptive young-old sizing policies at major collections")    \
2004                                                                             \
2005   product(bool, UseAdaptiveSizePolicyWithSystemGC, false,                   \
2006           "Use statistics from System.GC for adaptive size policy")         \
2007                                                                             \
2008   product(bool, UseAdaptiveGCBoundary, false,                               \
2009           "Allow young-old boundary to move")                               \
2010                                                                             \
2011   develop(bool, TraceAdaptiveGCBoundary, false,                             \
2012           "Trace young-old boundary moves")                                 \
2013                                                                             \
2014   develop(intx, PSAdaptiveSizePolicyResizeVirtualSpaceAlot, -1,             \
2015           "Resize the virtual spaces of the young or old generations")      \
2016                                                                             \
2017   product(uintx, AdaptiveSizeThroughPutPolicy, 0,                           \
2018           "Policy for changing generation size for throughput goals")       \
2019                                                                             \
2020   product(uintx, AdaptiveSizePausePolicy, 0,                                \
2021           "Policy for changing generation size for pause goals")            \
2022                                                                             \
2023   develop(bool, PSAdjustTenuredGenForMinorPause, false,                     \
2024           "Adjust tenured generation to achieve a minor pause goal")        \
2025                                                                             \
2026   develop(bool, PSAdjustYoungGenForMajorPause, false,                       \
2027           "Adjust young generation to achieve a major pause goal")          \
2028                                                                             \
2029   product(uintx, AdaptiveSizePolicyInitializingSteps, 20,                   \
2030           "Number of steps where heuristics is used before data is used")   \
2031                                                                             \
2032   develop(uintx, AdaptiveSizePolicyReadyThreshold, 5,                       \
2033           "Number of collections before the adaptive sizing is started")    \
2034                                                                             \
2035   product(uintx, AdaptiveSizePolicyOutputInterval, 0,                       \
2036           "Collection interval for printing information; zero means never") \
2037                                                                             \
2038   product(bool, UseAdaptiveSizePolicyFootprintGoal, true,                   \
2039           "Use adaptive minimum footprint as a goal")                       \
2040                                                                             \
2041   product(uintx, AdaptiveSizePolicyWeight, 10,                              \
2042           "Weight given to exponential resizing, between 0 and 100")        \
2043                                                                             \
2044   product(uintx, AdaptiveTimeWeight,       25,                              \
2045           "Weight given to time in adaptive policy, between 0 and 100")     \
2046                                                                             \
2047   product(uintx, PausePadding, 1,                                           \


3508           "Force verification of 1.4 reflection bytecodes. Does not work "  \
3509           "in situations like that described in 4486457 or for "            \
3510           "constructors generated for serialization, so can not be enabled "\
3511           "in product.")                                                    \
3512                                                                             \
3513   product(bool, ReflectionWrapResolutionErrors, true,                       \
3514           "Temporary flag for transition to AbstractMethodError wrapped "   \
3515           "in InvocationTargetException. See 6531596")                      \
3516                                                                             \
3517   develop(bool, VerifyLambdaBytecodes, false,                               \
3518           "Force verification of jdk 8 lambda metafactory bytecodes.")      \
3519                                                                             \
3520   develop(intx, FastSuperclassLimit, 8,                                     \
3521           "Depth of hardwired instanceof accelerator array")                \
3522                                                                             \
3523   /* Properties for Java libraries  */                                      \
3524                                                                             \
3525   product(uintx, MaxDirectMemorySize, 0,                                    \
3526           "Maximum total size of NIO direct-buffer allocations")            \
3527                                                                             \
3528   /* Flags used for temporary code during development */                    \
3529                                                                             \
3530   diagnostic(bool, UseNewCode, false,                                       \
3531           "Testing Only: Use the new version while testing")                \
3532                                                                             \
3533   diagnostic(bool, UseNewCode2, false,                                      \
3534           "Testing Only: Use the new version while testing")                \
3535                                                                             \
3536   diagnostic(bool, UseNewCode3, false,                                      \
3537           "Testing Only: Use the new version while testing")                \
3538                                                                             \
3539   /* flags for performance data collection */                               \
3540                                                                             \
3541   product(bool, UsePerfData, falseInEmbedded,                               \
3542           "Flag to disable jvmstat instrumentation for performance testing" \
3543           "and problem isolation purposes.")                                \
3544                                                                             \
3545   product(bool, PerfDataSaveToFile, false,                                  \
3546           "Save PerfData memory to hsperfdata_<pid> file on exit")          \
3547                                                                             \
3548   product(ccstr, PerfDataSaveFile, NULL,                                    \


src/share/vm/runtime/globals.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File