hotspot/src/share/vm/runtime/globals.hpp
changeset 33470 0ce01b662ff2
parent 33451 0712796e4039
parent 33230 23bb11a5cf4e
child 33628 09241459a8b8
child 33626 3c94db05e903
equal deleted inserted replaced
33469:30f4811eded0 33470:0ce01b662ff2
   892                                                                             \
   892                                                                             \
   893   /* 50 retries * (5 * current_retry_count) millis = ~6.375 seconds */      \
   893   /* 50 retries * (5 * current_retry_count) millis = ~6.375 seconds */      \
   894   /* typically, at most a few retries are needed                    */      \
   894   /* typically, at most a few retries are needed                    */      \
   895   product(intx, SuspendRetryCount, 50,                                      \
   895   product(intx, SuspendRetryCount, 50,                                      \
   896           "Maximum retry count for an external suspend request")            \
   896           "Maximum retry count for an external suspend request")            \
       
   897           range(0, max_intx)                                                \
   897                                                                             \
   898                                                                             \
   898   product(intx, SuspendRetryDelay, 5,                                       \
   899   product(intx, SuspendRetryDelay, 5,                                       \
   899           "Milliseconds to delay per retry (* current_retry_count)")        \
   900           "Milliseconds to delay per retry (* current_retry_count)")        \
       
   901           range(0, max_intx)                                                \
   900                                                                             \
   902                                                                             \
   901   product(bool, AssertOnSuspendWaitFailure, false,                          \
   903   product(bool, AssertOnSuspendWaitFailure, false,                          \
   902           "Assert/Guarantee on external suspend wait failure")              \
   904           "Assert/Guarantee on external suspend wait failure")              \
   903                                                                             \
   905                                                                             \
   904   product(bool, TraceSuspendWaitFailures, false,                            \
   906   product(bool, TraceSuspendWaitFailures, false,                            \
  1340                                                                             \
  1342                                                                             \
  1341   product(intx, MaxJNILocalCapacity, 65536,                                 \
  1343   product(intx, MaxJNILocalCapacity, 65536,                                 \
  1342           "Maximum allowable local JNI handle capacity to "                 \
  1344           "Maximum allowable local JNI handle capacity to "                 \
  1343           "EnsureLocalCapacity() and PushLocalFrame(), "                    \
  1345           "EnsureLocalCapacity() and PushLocalFrame(), "                    \
  1344           "where <= 0 is unlimited, default: 65536")                        \
  1346           "where <= 0 is unlimited, default: 65536")                        \
       
  1347           range(min_intx, max_intx)                                         \
  1345                                                                             \
  1348                                                                             \
  1346   product(bool, EagerXrunInit, false,                                       \
  1349   product(bool, EagerXrunInit, false,                                       \
  1347           "Eagerly initialize -Xrun libraries; allows startup profiling, "  \
  1350           "Eagerly initialize -Xrun libraries; allows startup profiling, "  \
  1348           "but not all -Xrun libraries may support the state of the VM "    \
  1351           "but not all -Xrun libraries may support the state of the VM "    \
  1349           "at this time")                                                   \
  1352           "at this time")                                                   \
  1375   /* aggressive prefetching, while still leaving the room for segregating */\
  1378   /* aggressive prefetching, while still leaving the room for segregating */\
  1376   /* among the distinct pages.                                            */\
  1379   /* among the distinct pages.                                            */\
  1377   product(intx, ContendedPaddingWidth, 128,                                 \
  1380   product(intx, ContendedPaddingWidth, 128,                                 \
  1378           "How many bytes to pad the fields/classes marked @Contended with")\
  1381           "How many bytes to pad the fields/classes marked @Contended with")\
  1379           range(0, 8192)                                                    \
  1382           range(0, 8192)                                                    \
  1380           constraint(ContendedPaddingWidthConstraintFunc,AtParse)           \
  1383           constraint(ContendedPaddingWidthConstraintFunc,AfterErgo)         \
  1381                                                                             \
  1384                                                                             \
  1382   product(bool, EnableContended, true,                                      \
  1385   product(bool, EnableContended, true,                                      \
  1383           "Enable @Contended annotation support")                           \
  1386           "Enable @Contended annotation support")                           \
  1384                                                                             \
  1387                                                                             \
  1385   product(bool, RestrictContended, true,                                    \
  1388   product(bool, RestrictContended, true,                                    \
  1388   product(bool, UseBiasedLocking, true,                                     \
  1391   product(bool, UseBiasedLocking, true,                                     \
  1389           "Enable biased locking in JVM")                                   \
  1392           "Enable biased locking in JVM")                                   \
  1390                                                                             \
  1393                                                                             \
  1391   product(intx, BiasedLockingStartupDelay, 4000,                            \
  1394   product(intx, BiasedLockingStartupDelay, 4000,                            \
  1392           "Number of milliseconds to wait before enabling biased locking")  \
  1395           "Number of milliseconds to wait before enabling biased locking")  \
       
  1396           range(0, (intx)(max_jint-(max_jint%PeriodicTask::interval_gran))) \
       
  1397           constraint(BiasedLockingStartupDelayFunc,AfterErgo)               \
  1393                                                                             \
  1398                                                                             \
  1394   diagnostic(bool, PrintBiasedLockingStatistics, false,                     \
  1399   diagnostic(bool, PrintBiasedLockingStatistics, false,                     \
  1395           "Print statistics of biased locking in JVM")                      \
  1400           "Print statistics of biased locking in JVM")                      \
  1396                                                                             \
  1401                                                                             \
  1397   product(intx, BiasedLockingBulkRebiasThreshold, 20,                       \
  1402   product(intx, BiasedLockingBulkRebiasThreshold, 20,                       \
  1398           "Threshold of number of revocations per type to try to "          \
  1403           "Threshold of number of revocations per type to try to "          \
  1399           "rebias all objects in the heap of that type")                    \
  1404           "rebias all objects in the heap of that type")                    \
       
  1405           range(0, max_intx)                                                \
       
  1406           constraint(BiasedLockingBulkRebiasThresholdFunc,AfterErgo)        \
  1400                                                                             \
  1407                                                                             \
  1401   product(intx, BiasedLockingBulkRevokeThreshold, 40,                       \
  1408   product(intx, BiasedLockingBulkRevokeThreshold, 40,                       \
  1402           "Threshold of number of revocations per type to permanently "     \
  1409           "Threshold of number of revocations per type to permanently "     \
  1403           "revoke biases of all objects in the heap of that type")          \
  1410           "revoke biases of all objects in the heap of that type")          \
       
  1411           range(0, max_intx)                                                \
       
  1412           constraint(BiasedLockingBulkRevokeThresholdFunc,AfterErgo)        \
  1404                                                                             \
  1413                                                                             \
  1405   product(intx, BiasedLockingDecayTime, 25000,                              \
  1414   product(intx, BiasedLockingDecayTime, 25000,                              \
  1406           "Decay time (in milliseconds) to re-enable bulk rebiasing of a "  \
  1415           "Decay time (in milliseconds) to re-enable bulk rebiasing of a "  \
  1407           "type after previous bulk rebias")                                \
  1416           "type after previous bulk rebias")                                \
       
  1417           range(500, max_intx)                                              \
       
  1418           constraint(BiasedLockingDecayTimeFunc,AfterErgo)                  \
  1408                                                                             \
  1419                                                                             \
  1409   /* tracing */                                                             \
  1420   /* tracing */                                                             \
  1410                                                                             \
  1421                                                                             \
  1411   notproduct(bool, TraceRuntimeCalls, false,                                \
  1422   notproduct(bool, TraceRuntimeCalls, false,                                \
  1412           "Trace run-time calls")                                           \
  1423           "Trace run-time calls")                                           \
  1427   /* This can affect tests that except specific methods to be EMCP. */      \
  1438   /* This can affect tests that except specific methods to be EMCP. */      \
  1428   /* This option should be used with caution.                       */      \
  1439   /* This option should be used with caution.                       */      \
  1429   product(bool, StressLdcRewrite, false,                                    \
  1440   product(bool, StressLdcRewrite, false,                                    \
  1430           "Force ldc -> ldc_w rewrite during RedefineClasses")              \
  1441           "Force ldc -> ldc_w rewrite during RedefineClasses")              \
  1431                                                                             \
  1442                                                                             \
  1432   product(intx, TraceRedefineClasses, 0,                                    \
  1443   product(uintx, TraceRedefineClasses, 0,                                   \
  1433           "Trace level for JVMTI RedefineClasses")                          \
  1444           "Trace level for JVMTI RedefineClasses")                          \
       
  1445           range(0, 0xFFFFFFFF)                                              \
  1434                                                                             \
  1446                                                                             \
  1435   /* change to false by default sometime after Mustang */                   \
  1447   /* change to false by default sometime after Mustang */                   \
  1436   product(bool, VerifyMergedCPBytecodes, true,                              \
  1448   product(bool, VerifyMergedCPBytecodes, true,                              \
  1437           "Verify bytecodes after RedefineClasses constant pool merging")   \
  1449           "Verify bytecodes after RedefineClasses constant pool merging")   \
  1438                                                                             \
  1450                                                                             \
  1565           range((size_t)os::vm_page_size(), (size_t)max_uintx)              \
  1577           range((size_t)os::vm_page_size(), (size_t)max_uintx)              \
  1566                                                                             \
  1578                                                                             \
  1567   product(bool, TraceDynamicGCThreads, false,                               \
  1579   product(bool, TraceDynamicGCThreads, false,                               \
  1568           "Trace the dynamic GC thread usage")                              \
  1580           "Trace the dynamic GC thread usage")                              \
  1569                                                                             \
  1581                                                                             \
  1570   develop(bool, ParallelOldGCSplitALot, false,                              \
       
  1571           "Provoke splitting (copying data from a young gen space to "      \
       
  1572           "multiple destination spaces)")                                   \
       
  1573                                                                             \
       
  1574   develop(uintx, ParallelOldGCSplitInterval, 3,                             \
       
  1575           "How often to provoke splitting a young gen space")               \
       
  1576           range(0, max_uintx)                                               \
       
  1577                                                                             \
       
  1578   product(uint, ConcGCThreads, 0,                                           \
  1582   product(uint, ConcGCThreads, 0,                                           \
  1579           "Number of threads concurrent gc will use")                       \
  1583           "Number of threads concurrent gc will use")                       \
  1580           constraint(ConcGCThreadsConstraintFunc,AfterErgo)                 \
  1584           constraint(ConcGCThreadsConstraintFunc,AfterErgo)                 \
  1581                                                                             \
  1585                                                                             \
  1582   product(uintx, GCTaskTimeStampEntries, 200,                               \
  1586   product(uintx, GCTaskTimeStampEntries, 200,                               \
  1590           "Never tenure objects in eden, may tenure on overflow "           \
  1594           "Never tenure objects in eden, may tenure on overflow "           \
  1591           "(ParallelGC only)")                                              \
  1595           "(ParallelGC only)")                                              \
  1592                                                                             \
  1596                                                                             \
  1593   product(bool, ScavengeBeforeFullGC, true,                                 \
  1597   product(bool, ScavengeBeforeFullGC, true,                                 \
  1594           "Scavenge youngest generation before each full GC.")              \
  1598           "Scavenge youngest generation before each full GC.")              \
  1595                                                                             \
       
  1596   develop(bool, ScavengeWithObjectsInToSpace, false,                        \
       
  1597           "Allow scavenges to occur when to-space contains objects")        \
       
  1598                                                                             \
  1599                                                                             \
  1599   product(bool, UseConcMarkSweepGC, false,                                  \
  1600   product(bool, UseConcMarkSweepGC, false,                                  \
  1600           "Use Concurrent Mark-Sweep GC in the old generation")             \
  1601           "Use Concurrent Mark-Sweep GC in the old generation")             \
  1601                                                                             \
  1602                                                                             \
  1602   product(bool, ExplicitGCInvokesConcurrent, false,                         \
  1603   product(bool, ExplicitGCInvokesConcurrent, false,                         \
  2177   product(bool, AlwaysActAsServerClassMachine, false,                       \
  2178   product(bool, AlwaysActAsServerClassMachine, false,                       \
  2178           "Always act like a server-class machine")                         \
  2179           "Always act like a server-class machine")                         \
  2179                                                                             \
  2180                                                                             \
  2180   product_pd(uint64_t, MaxRAM,                                              \
  2181   product_pd(uint64_t, MaxRAM,                                              \
  2181           "Real memory size (in bytes) used to set maximum heap size")      \
  2182           "Real memory size (in bytes) used to set maximum heap size")      \
       
  2183           range(0, 0XFFFFFFFFFFFFFFFF)                                      \
  2182                                                                             \
  2184                                                                             \
  2183   product(size_t, ErgoHeapSizeLimit, 0,                                     \
  2185   product(size_t, ErgoHeapSizeLimit, 0,                                     \
  2184           "Maximum ergonomically set heap size (in bytes); zero means use " \
  2186           "Maximum ergonomically set heap size (in bytes); zero means use " \
  2185           "MaxRAM / MaxRAMFraction")                                        \
  2187           "MaxRAM / MaxRAMFraction")                                        \
  2186                                                                             \
  2188                                                                             \
  2234           range(-1, 1)                                                      \
  2236           range(-1, 1)                                                      \
  2235                                                                             \
  2237                                                                             \
  2236   product(uintx, AdaptiveSizeThroughPutPolicy, 0,                           \
  2238   product(uintx, AdaptiveSizeThroughPutPolicy, 0,                           \
  2237           "Policy for changing generation size for throughput goals")       \
  2239           "Policy for changing generation size for throughput goals")       \
  2238           range(0, 1)                                                       \
  2240           range(0, 1)                                                       \
  2239                                                                             \
       
  2240   develop(bool, PSAdjustTenuredGenForMinorPause, false,                     \
       
  2241           "Adjust tenured generation to achieve a minor pause goal")        \
       
  2242                                                                             \
       
  2243   develop(bool, PSAdjustYoungGenForMajorPause, false,                       \
       
  2244           "Adjust young generation to achieve a major pause goal")          \
       
  2245                                                                             \
  2241                                                                             \
  2246   product(uintx, AdaptiveSizePolicyInitializingSteps, 20,                   \
  2242   product(uintx, AdaptiveSizePolicyInitializingSteps, 20,                   \
  2247           "Number of steps where heuristics is used before data is used")   \
  2243           "Number of steps where heuristics is used before data is used")   \
  2248                                                                             \
  2244                                                                             \
  2249   develop(uintx, AdaptiveSizePolicyReadyThreshold, 5,                       \
  2245   develop(uintx, AdaptiveSizePolicyReadyThreshold, 5,                       \
  2685           "Print statistics about safepoint synchronization")               \
  2681           "Print statistics about safepoint synchronization")               \
  2686                                                                             \
  2682                                                                             \
  2687   product(intx, PrintSafepointStatisticsCount, 300,                         \
  2683   product(intx, PrintSafepointStatisticsCount, 300,                         \
  2688           "Total number of safepoint statistics collected "                 \
  2684           "Total number of safepoint statistics collected "                 \
  2689           "before printing them out")                                       \
  2685           "before printing them out")                                       \
       
  2686           range(1, max_intx)                                                \
  2690                                                                             \
  2687                                                                             \
  2691   product(intx, PrintSafepointStatisticsTimeout,  -1,                       \
  2688   product(intx, PrintSafepointStatisticsTimeout,  -1,                       \
  2692           "Print safepoint statistics only when safepoint takes "           \
  2689           "Print safepoint statistics only when safepoint takes "           \
  2693           "more than PrintSafepointSatisticsTimeout in millis")             \
  2690           "more than PrintSafepointSatisticsTimeout in millis")             \
       
  2691   LP64_ONLY(range(-1, max_intx/MICROUNITS))                                 \
       
  2692   NOT_LP64(range(-1, max_intx))                                             \
  2694                                                                             \
  2693                                                                             \
  2695   product(bool, TraceSafepointCleanupTime, false,                           \
  2694   product(bool, TraceSafepointCleanupTime, false,                           \
  2696           "Print the break down of clean up tasks performed during "        \
  2695           "Print the break down of clean up tasks performed during "        \
  2697           "safepoint")                                                      \
  2696           "safepoint")                                                      \
  2698                                                                             \
  2697                                                                             \
  2738           range(1, max_jint)                                                \
  2737           range(1, max_jint)                                                \
  2739                                                                             \
  2738                                                                             \
  2740   diagnostic(intx, MinPassesBeforeFlush, 10,                                \
  2739   diagnostic(intx, MinPassesBeforeFlush, 10,                                \
  2741           "Minimum number of sweeper passes before an nmethod "             \
  2740           "Minimum number of sweeper passes before an nmethod "             \
  2742           "can be flushed")                                                 \
  2741           "can be flushed")                                                 \
       
  2742           range(0, max_intx)                                                \
  2743                                                                             \
  2743                                                                             \
  2744   product(bool, UseCodeAging, true,                                         \
  2744   product(bool, UseCodeAging, true,                                         \
  2745           "Insert counter to detect warm methods")                          \
  2745           "Insert counter to detect warm methods")                          \
  2746                                                                             \
  2746                                                                             \
  2747   diagnostic(bool, StressCodeAging, false,                                  \
  2747   diagnostic(bool, StressCodeAging, false,                                  \
  2816                                                                             \
  2816                                                                             \
  2817   notproduct(bool, ExitVMOnVerifyError, false,                              \
  2817   notproduct(bool, ExitVMOnVerifyError, false,                              \
  2818           "standard exit from VM if bytecode verify error "                 \
  2818           "standard exit from VM if bytecode verify error "                 \
  2819           "(only in debug mode)")                                           \
  2819           "(only in debug mode)")                                           \
  2820                                                                             \
  2820                                                                             \
  2821   notproduct(ccstr, AbortVMOnException, NULL,                               \
  2821   diagnostic(ccstr, AbortVMOnException, NULL,                               \
  2822           "Call fatal if this exception is thrown.  Example: "              \
  2822           "Call fatal if this exception is thrown.  Example: "              \
  2823           "java -XX:AbortVMOnException=java.lang.NullPointerException Foo") \
  2823           "java -XX:AbortVMOnException=java.lang.NullPointerException Foo") \
  2824                                                                             \
  2824                                                                             \
  2825   notproduct(ccstr, AbortVMOnExceptionMessage, NULL,                        \
  2825   diagnostic(ccstr, AbortVMOnExceptionMessage, NULL,                        \
  2826           "Call fatal if the exception pointed by AbortVMOnException "      \
  2826           "Call fatal if the exception pointed by AbortVMOnException "      \
  2827           "has this message")                                               \
  2827           "has this message")                                               \
  2828                                                                             \
  2828                                                                             \
  2829   develop(bool, DebugVtables, false,                                        \
  2829   develop(bool, DebugVtables, false,                                        \
  2830           "add debugging code to vtable dispatch")                          \
  2830           "add debugging code to vtable dispatch")                          \
  3114           "Tracing various information while debugging deoptimization")     \
  3114           "Tracing various information while debugging deoptimization")     \
  3115                                                                             \
  3115                                                                             \
  3116   product(intx, SelfDestructTimer, 0,                                       \
  3116   product(intx, SelfDestructTimer, 0,                                       \
  3117           "Will cause VM to terminate after a given time (in minutes) "     \
  3117           "Will cause VM to terminate after a given time (in minutes) "     \
  3118           "(0 means off)")                                                  \
  3118           "(0 means off)")                                                  \
       
  3119           range(0, max_intx)                                                \
  3119                                                                             \
  3120                                                                             \
  3120   product(intx, MaxJavaStackTraceDepth, 1024,                               \
  3121   product(intx, MaxJavaStackTraceDepth, 1024,                               \
  3121           "The maximum number of lines in the stack trace for Java "        \
  3122           "The maximum number of lines in the stack trace for Java "        \
  3122           "exceptions (0 means all)")                                       \
  3123           "exceptions (0 means all)")                                       \
  3123                                                                             \
  3124           range(0, max_jint/2)                                              \
       
  3125                                                                             \
       
  3126   /* notice: the max range value here is max_jint, not max_intx  */         \
       
  3127   /* because of overflow issue                                   */         \
  3124   NOT_EMBEDDED(diagnostic(intx, GuaranteedSafepointInterval, 1000,          \
  3128   NOT_EMBEDDED(diagnostic(intx, GuaranteedSafepointInterval, 1000,          \
  3125           "Guarantee a safepoint (at least) every so many milliseconds "    \
  3129           "Guarantee a safepoint (at least) every so many milliseconds "    \
  3126           "(0 means none)"))                                                \
  3130           "(0 means none)"))                                                \
       
  3131   NOT_EMBEDDED(range(0, max_jint))                                          \
  3127                                                                             \
  3132                                                                             \
  3128   EMBEDDED_ONLY(product(intx, GuaranteedSafepointInterval, 0,               \
  3133   EMBEDDED_ONLY(product(intx, GuaranteedSafepointInterval, 0,               \
  3129           "Guarantee a safepoint (at least) every so many milliseconds "    \
  3134           "Guarantee a safepoint (at least) every so many milliseconds "    \
  3130           "(0 means none)"))                                                \
  3135           "(0 means none)"))                                                \
       
  3136   EMBEDDED_ONLY(range(0, max_jint))                                         \
  3131                                                                             \
  3137                                                                             \
  3132   product(intx, SafepointTimeoutDelay, 10000,                               \
  3138   product(intx, SafepointTimeoutDelay, 10000,                               \
  3133           "Delay in milliseconds for option SafepointTimeout")              \
  3139           "Delay in milliseconds for option SafepointTimeout")              \
       
  3140   LP64_ONLY(range(0, max_intx/MICROUNITS))                                  \
       
  3141   NOT_LP64(range(0, max_intx))                                              \
  3134                                                                             \
  3142                                                                             \
  3135   product(intx, NmethodSweepActivity, 10,                                   \
  3143   product(intx, NmethodSweepActivity, 10,                                   \
  3136           "Removes cold nmethods from code cache if > 0. Higher values "    \
  3144           "Removes cold nmethods from code cache if > 0. Higher values "    \
  3137           "result in more aggressive sweeping")                             \
  3145           "result in more aggressive sweeping")                             \
  3138           range(0, 2000)                                                    \
  3146           range(0, 2000)                                                    \
  3220           "Number of runtime stub nodes to show in profile")                \
  3228           "Number of runtime stub nodes to show in profile")                \
  3221                                                                             \
  3229                                                                             \
  3222   product(intx, ProfileIntervalsTicks, 100,                                 \
  3230   product(intx, ProfileIntervalsTicks, 100,                                 \
  3223           "Number of ticks between printing of interval profile "           \
  3231           "Number of ticks between printing of interval profile "           \
  3224           "(+ProfileIntervals)")                                            \
  3232           "(+ProfileIntervals)")                                            \
       
  3233           range(0, max_intx)                                                \
  3225                                                                             \
  3234                                                                             \
  3226   notproduct(intx, ScavengeALotInterval,     1,                             \
  3235   notproduct(intx, ScavengeALotInterval,     1,                             \
  3227           "Interval between which scavenge will occur with +ScavengeALot")  \
  3236           "Interval between which scavenge will occur with +ScavengeALot")  \
  3228                                                                             \
  3237                                                                             \
  3229   notproduct(intx, FullGCALotInterval,     1,                               \
  3238   notproduct(intx, FullGCALotInterval,     1,                               \
  3253           "Number of exits until ZombieALot kicks in")                      \
  3262           "Number of exits until ZombieALot kicks in")                      \
  3254                                                                             \
  3263                                                                             \
  3255   diagnostic(intx, MallocVerifyInterval,     0,                             \
  3264   diagnostic(intx, MallocVerifyInterval,     0,                             \
  3256           "If non-zero, verify C heap after every N calls to "              \
  3265           "If non-zero, verify C heap after every N calls to "              \
  3257           "malloc/realloc/free")                                            \
  3266           "malloc/realloc/free")                                            \
       
  3267           range(0, max_intx)                                                \
  3258                                                                             \
  3268                                                                             \
  3259   diagnostic(intx, MallocVerifyStart,     0,                                \
  3269   diagnostic(intx, MallocVerifyStart,     0,                                \
  3260           "If non-zero, start verifying C heap after Nth call to "          \
  3270           "If non-zero, start verifying C heap after Nth call to "          \
  3261           "malloc/realloc/free")                                            \
  3271           "malloc/realloc/free")                                            \
       
  3272           range(0, max_intx)                                                \
  3262                                                                             \
  3273                                                                             \
  3263   diagnostic(uintx, MallocMaxTestWords,     0,                              \
  3274   diagnostic(uintx, MallocMaxTestWords,     0,                              \
  3264           "If non-zero, maximum number of words that malloc/realloc can "   \
  3275           "If non-zero, maximum number of words that malloc/realloc can "   \
  3265           "allocate (for testing only)")                                    \
  3276           "allocate (for testing only)")                                    \
       
  3277           range(0, max_uintx)                                               \
  3266                                                                             \
  3278                                                                             \
  3267   product(intx, TypeProfileWidth, 2,                                        \
  3279   product(intx, TypeProfileWidth, 2,                                        \
  3268           "Number of receiver types to record in call/cast profile")        \
  3280           "Number of receiver types to record in call/cast profile")        \
  3269           range(0, 8)                                                       \
  3281           range(0, 8)                                                       \
  3270                                                                             \
  3282                                                                             \
  3504           "Delay in scheduling GC workers (in milliseconds)")               \
  3516           "Delay in scheduling GC workers (in milliseconds)")               \
  3505                                                                             \
  3517                                                                             \
  3506   product(intx, DeferThrSuspendLoopCount,     4000,                         \
  3518   product(intx, DeferThrSuspendLoopCount,     4000,                         \
  3507           "(Unstable) Number of times to iterate in safepoint loop "        \
  3519           "(Unstable) Number of times to iterate in safepoint loop "        \
  3508           "before blocking VM threads ")                                    \
  3520           "before blocking VM threads ")                                    \
       
  3521           range(-1, max_jint-1)                                             \
  3509                                                                             \
  3522                                                                             \
  3510   product(intx, DeferPollingPageLoopCount,     -1,                          \
  3523   product(intx, DeferPollingPageLoopCount,     -1,                          \
  3511           "(Unsafe,Unstable) Number of iterations in safepoint loop "       \
  3524           "(Unsafe,Unstable) Number of iterations in safepoint loop "       \
  3512           "before changing safepoint polling page to RO ")                  \
  3525           "before changing safepoint polling page to RO ")                  \
       
  3526           range(-1, max_jint-1)                                             \
  3513                                                                             \
  3527                                                                             \
  3514   product(intx, SafepointSpinBeforeYield, 2000, "(Unstable)")               \
  3528   product(intx, SafepointSpinBeforeYield, 2000, "(Unstable)")               \
  3515           range(0, max_intx)                                                \
  3529           range(0, max_intx)                                                \
  3516                                                                             \
  3530                                                                             \
  3517   product(bool, PSChunkLargeArrays, true,                                   \
  3531   product(bool, PSChunkLargeArrays, true,                                   \
  3522           "during parallel gc")                                             \
  3536           "during parallel gc")                                             \
  3523                                                                             \
  3537                                                                             \
  3524   /* stack parameters */                                                    \
  3538   /* stack parameters */                                                    \
  3525   product_pd(intx, StackYellowPages,                                        \
  3539   product_pd(intx, StackYellowPages,                                        \
  3526           "Number of yellow zone (recoverable overflows) pages")            \
  3540           "Number of yellow zone (recoverable overflows) pages")            \
  3527           range(1, max_intx)                                                \
  3541           range(MIN_STACK_YELLOW_PAGES, (DEFAULT_STACK_YELLOW_PAGES+5))     \
  3528                                                                             \
  3542                                                                             \
  3529   product_pd(intx, StackRedPages,                                           \
  3543   product_pd(intx, StackRedPages,                                           \
  3530           "Number of red zone (unrecoverable overflows) pages")             \
  3544           "Number of red zone (unrecoverable overflows) pages")             \
  3531           range(1, max_intx)                                                \
  3545           range(MIN_STACK_RED_PAGES, (DEFAULT_STACK_RED_PAGES+2))           \
  3532                                                                             \
  3546                                                                             \
  3533   /* greater stack shadow pages can't generate instruction to bang stack */ \
  3547   /* greater stack shadow pages can't generate instruction to bang stack */ \
  3534   product_pd(intx, StackShadowPages,                                        \
  3548   product_pd(intx, StackShadowPages,                                        \
  3535           "Number of shadow zone (for overflow checking) pages "            \
  3549           "Number of shadow zone (for overflow checking) pages "            \
  3536           "this should exceed the depth of the VM and native call stack")   \
  3550           "this should exceed the depth of the VM and native call stack")   \
  3537           range(1, 50)                                                      \
  3551           range(MIN_STACK_SHADOW_PAGES, (DEFAULT_STACK_SHADOW_PAGES+30))    \
  3538                                                                             \
  3552                                                                             \
  3539   product_pd(intx, ThreadStackSize,                                         \
  3553   product_pd(intx, ThreadStackSize,                                         \
  3540           "Thread Stack Size (in Kbytes)")                                  \
  3554           "Thread Stack Size (in Kbytes)")                                  \
       
  3555           range(0, max_intx-os::vm_page_size())                             \
  3541                                                                             \
  3556                                                                             \
  3542   product_pd(intx, VMThreadStackSize,                                       \
  3557   product_pd(intx, VMThreadStackSize,                                       \
  3543           "Non-Java Thread Stack Size (in Kbytes)")                         \
  3558           "Non-Java Thread Stack Size (in Kbytes)")                         \
       
  3559           range(0, max_intx/(1 * K))                                        \
  3544                                                                             \
  3560                                                                             \
  3545   product_pd(intx, CompilerThreadStackSize,                                 \
  3561   product_pd(intx, CompilerThreadStackSize,                                 \
  3546           "Compiler Thread Stack Size (in Kbytes)")                         \
  3562           "Compiler Thread Stack Size (in Kbytes)")                         \
  3547           range(0, max_intx)                                                \
  3563           range(0, max_intx)                                                \
  3548                                                                             \
  3564                                                                             \
  3549   develop_pd(size_t, JVMInvokeMethodSlack,                                  \
  3565   develop_pd(size_t, JVMInvokeMethodSlack,                                  \
  3550           "Stack space (bytes) required for JVM_InvokeMethod to complete")  \
  3566           "Stack space (bytes) required for JVM_InvokeMethod to complete")  \
  3551                                                                             \
  3567                                                                             \
  3552   /* code cache parameters                                    */            \
  3568   /* code cache parameters                                    */            \
  3553   /* ppc64/tiered compilation has large code-entry alignment. */            \
  3569   /* ppc64/tiered compilation has large code-entry alignment. */            \
  3554   develop(uintx, CodeCacheSegmentSize, 64 PPC64_ONLY(+64) NOT_PPC64(TIERED_ONLY(+64)),\
  3570   develop(uintx, CodeCacheSegmentSize,                                      \
       
  3571           64 PPC64_ONLY(+64) NOT_PPC64(TIERED_ONLY(+64)),                   \
  3555           "Code cache segment size (in bytes) - smallest unit of "          \
  3572           "Code cache segment size (in bytes) - smallest unit of "          \
  3556           "allocation")                                                     \
  3573           "allocation")                                                     \
  3557           range(1, 1024)                                                    \
  3574           range(1, 1024)                                                    \
  3558           constraint(CodeCacheSegmentSizeConstraintFunc, AfterErgo)         \
  3575           constraint(CodeCacheSegmentSizeConstraintFunc, AfterErgo)         \
  3559                                                                             \
  3576                                                                             \
  3730           constraint(CompilerThreadPriorityConstraintFunc, AfterErgo)       \
  3747           constraint(CompilerThreadPriorityConstraintFunc, AfterErgo)       \
  3731                                                                             \
  3748                                                                             \
  3732   product(intx, VMThreadPriority, -1,                                       \
  3749   product(intx, VMThreadPriority, -1,                                       \
  3733           "The native priority at which the VM thread should run "          \
  3750           "The native priority at which the VM thread should run "          \
  3734           "(-1 means no change)")                                           \
  3751           "(-1 means no change)")                                           \
       
  3752           range(-1, 127)                                                    \
  3735                                                                             \
  3753                                                                             \
  3736   product(bool, CompilerThreadHintNoPreempt, true,                          \
  3754   product(bool, CompilerThreadHintNoPreempt, true,                          \
  3737           "(Solaris only) Give compiler threads an extra quanta")           \
  3755           "(Solaris only) Give compiler threads an extra quanta")           \
  3738                                                                             \
  3756                                                                             \
  3739   product(bool, VMThreadHintNoPreempt, false,                               \
  3757   product(bool, VMThreadHintNoPreempt, false,                               \
  3740           "(Solaris only) Give VM thread an extra quanta")                  \
  3758           "(Solaris only) Give VM thread an extra quanta")                  \
  3741                                                                             \
  3759                                                                             \
  3742   product(intx, JavaPriority1_To_OSPriority, -1,                            \
  3760   product(intx, JavaPriority1_To_OSPriority, -1,                            \
  3743           "Map Java priorities to OS priorities")                           \
  3761           "Map Java priorities to OS priorities")                           \
       
  3762           range(-1, 127)                                                    \
  3744                                                                             \
  3763                                                                             \
  3745   product(intx, JavaPriority2_To_OSPriority, -1,                            \
  3764   product(intx, JavaPriority2_To_OSPriority, -1,                            \
  3746           "Map Java priorities to OS priorities")                           \
  3765           "Map Java priorities to OS priorities")                           \
       
  3766           range(-1, 127)                                                    \
  3747                                                                             \
  3767                                                                             \
  3748   product(intx, JavaPriority3_To_OSPriority, -1,                            \
  3768   product(intx, JavaPriority3_To_OSPriority, -1,                            \
  3749           "Map Java priorities to OS priorities")                           \
  3769           "Map Java priorities to OS priorities")                           \
       
  3770           range(-1, 127)                                                    \
  3750                                                                             \
  3771                                                                             \
  3751   product(intx, JavaPriority4_To_OSPriority, -1,                            \
  3772   product(intx, JavaPriority4_To_OSPriority, -1,                            \
  3752           "Map Java priorities to OS priorities")                           \
  3773           "Map Java priorities to OS priorities")                           \
       
  3774           range(-1, 127)                                                    \
  3753                                                                             \
  3775                                                                             \
  3754   product(intx, JavaPriority5_To_OSPriority, -1,                            \
  3776   product(intx, JavaPriority5_To_OSPriority, -1,                            \
  3755           "Map Java priorities to OS priorities")                           \
  3777           "Map Java priorities to OS priorities")                           \
       
  3778           range(-1, 127)                                                    \
  3756                                                                             \
  3779                                                                             \
  3757   product(intx, JavaPriority6_To_OSPriority, -1,                            \
  3780   product(intx, JavaPriority6_To_OSPriority, -1,                            \
  3758           "Map Java priorities to OS priorities")                           \
  3781           "Map Java priorities to OS priorities")                           \
       
  3782           range(-1, 127)                                                    \
  3759                                                                             \
  3783                                                                             \
  3760   product(intx, JavaPriority7_To_OSPriority, -1,                            \
  3784   product(intx, JavaPriority7_To_OSPriority, -1,                            \
  3761           "Map Java priorities to OS priorities")                           \
  3785           "Map Java priorities to OS priorities")                           \
       
  3786           range(-1, 127)                                                    \
  3762                                                                             \
  3787                                                                             \
  3763   product(intx, JavaPriority8_To_OSPriority, -1,                            \
  3788   product(intx, JavaPriority8_To_OSPriority, -1,                            \
  3764           "Map Java priorities to OS priorities")                           \
  3789           "Map Java priorities to OS priorities")                           \
       
  3790           range(-1, 127)                                                    \
  3765                                                                             \
  3791                                                                             \
  3766   product(intx, JavaPriority9_To_OSPriority, -1,                            \
  3792   product(intx, JavaPriority9_To_OSPriority, -1,                            \
  3767           "Map Java priorities to OS priorities")                           \
  3793           "Map Java priorities to OS priorities")                           \
       
  3794           range(-1, 127)                                                    \
  3768                                                                             \
  3795                                                                             \
  3769   product(intx, JavaPriority10_To_OSPriority,-1,                            \
  3796   product(intx, JavaPriority10_To_OSPriority,-1,                            \
  3770           "Map Java priorities to OS priorities")                           \
  3797           "Map Java priorities to OS priorities")                           \
       
  3798           range(-1, 127)                                                    \
  3771                                                                             \
  3799                                                                             \
  3772   experimental(bool, UseCriticalJavaThreadPriority, false,                  \
  3800   experimental(bool, UseCriticalJavaThreadPriority, false,                  \
  3773           "Java thread priority 10 maps to critical scheduling priority")   \
  3801           "Java thread priority 10 maps to critical scheduling priority")   \
  3774                                                                             \
  3802                                                                             \
  3775   experimental(bool, UseCriticalCompilerThreadPriority, false,              \
  3803   experimental(bool, UseCriticalCompilerThreadPriority, false,              \
  3975                                                                             \
  4003                                                                             \
  3976   /* Properties for Java libraries  */                                      \
  4004   /* Properties for Java libraries  */                                      \
  3977                                                                             \
  4005                                                                             \
  3978   product(size_t, MaxDirectMemorySize, 0,                                   \
  4006   product(size_t, MaxDirectMemorySize, 0,                                   \
  3979           "Maximum total size of NIO direct-buffer allocations")            \
  4007           "Maximum total size of NIO direct-buffer allocations")            \
       
  4008           range(0, (size_t)SIZE_MAX)                                        \
  3980                                                                             \
  4009                                                                             \
  3981   /* Flags used for temporary code during development  */                   \
  4010   /* Flags used for temporary code during development  */                   \
  3982                                                                             \
  4011                                                                             \
  3983   diagnostic(bool, UseNewCode, false,                                       \
  4012   diagnostic(bool, UseNewCode, false,                                       \
  3984           "Testing Only: Use the new version while testing")                \
  4013           "Testing Only: Use the new version while testing")                \
  4003           "The string %p in the file name (if present) "                    \
  4032           "The string %p in the file name (if present) "                    \
  4004           "will be replaced by pid")                                        \
  4033           "will be replaced by pid")                                        \
  4005                                                                             \
  4034                                                                             \
  4006   product(intx, PerfDataSamplingInterval, 50,                               \
  4035   product(intx, PerfDataSamplingInterval, 50,                               \
  4007           "Data sampling interval (in milliseconds)")                       \
  4036           "Data sampling interval (in milliseconds)")                       \
       
  4037           range(PeriodicTask::min_interval, max_jint)                       \
       
  4038           constraint(PerfDataSamplingIntervalFunc, AfterErgo)               \
  4008                                                                             \
  4039                                                                             \
  4009   develop(bool, PerfTraceDataCreation, false,                               \
  4040   develop(bool, PerfTraceDataCreation, false,                               \
  4010           "Trace creation of Performance Data Entries")                     \
  4041           "Trace creation of Performance Data Entries")                     \
  4011                                                                             \
  4042                                                                             \
  4012   develop(bool, PerfTraceMemOps, false,                                     \
  4043   develop(bool, PerfTraceMemOps, false,                                     \
  4016           "Store performance data in standard memory")                      \
  4047           "Store performance data in standard memory")                      \
  4017                                                                             \
  4048                                                                             \
  4018   product(intx, PerfDataMemorySize, 64*K,                                   \
  4049   product(intx, PerfDataMemorySize, 64*K,                                   \
  4019           "Size of performance data memory region. Will be rounded "        \
  4050           "Size of performance data memory region. Will be rounded "        \
  4020           "up to a multiple of the native os page size.")                   \
  4051           "up to a multiple of the native os page size.")                   \
       
  4052           range(128, 32*64*K)                                               \
  4021                                                                             \
  4053                                                                             \
  4022   product(intx, PerfMaxStringConstLength, 1024,                             \
  4054   product(intx, PerfMaxStringConstLength, 1024,                             \
  4023           "Maximum PerfStringConstant string length before truncation")     \
  4055           "Maximum PerfStringConstant string length before truncation")     \
       
  4056           range(32, 32*K)                                                   \
  4024                                                                             \
  4057                                                                             \
  4025   product(bool, PerfAllowAtExitRegistration, false,                         \
  4058   product(bool, PerfAllowAtExitRegistration, false,                         \
  4026           "Allow registration of atexit() methods")                         \
  4059           "Allow registration of atexit() methods")                         \
  4027                                                                             \
  4060                                                                             \
  4028   product(bool, PerfBypassFileSystemCheck, false,                           \
  4061   product(bool, PerfBypassFileSystemCheck, false,                           \
  4078                                                                             \
  4111                                                                             \
  4079   product(bool, PrintSharedDictionary, false,                               \
  4112   product(bool, PrintSharedDictionary, false,                               \
  4080           "If PrintSharedArchiveAndExit is true, also print the shared "    \
  4113           "If PrintSharedArchiveAndExit is true, also print the shared "    \
  4081           "dictionary")                                                     \
  4114           "dictionary")                                                     \
  4082                                                                             \
  4115                                                                             \
  4083   product(size_t, SharedReadWriteSize,  NOT_LP64(12*M) LP64_ONLY(16*M),     \
  4116   product(size_t, SharedReadWriteSize, NOT_LP64(12*M) LP64_ONLY(16*M),      \
  4084           "Size of read-write space for metadata (in bytes)")               \
  4117           "Size of read-write space for metadata (in bytes)")               \
  4085                                                                             \
  4118                                                                             \
  4086   product(size_t, SharedReadOnlySize,  NOT_LP64(12*M) LP64_ONLY(16*M),      \
  4119   product(size_t, SharedReadOnlySize, NOT_LP64(12*M) LP64_ONLY(16*M),       \
  4087           "Size of read-only space for metadata (in bytes)")                \
  4120           "Size of read-only space for metadata (in bytes)")                \
  4088                                                                             \
  4121                                                                             \
  4089   product(uintx, SharedMiscDataSize,    NOT_LP64(2*M) LP64_ONLY(4*M),       \
  4122   product(uintx, SharedMiscDataSize,    NOT_LP64(2*M) LP64_ONLY(4*M),       \
  4090           "Size of the shared miscellaneous data area (in bytes)")          \
  4123           "Size of the shared miscellaneous data area (in bytes)")          \
  4091                                                                             \
  4124                                                                             \
  4096           NOT_LP64(LINUX_ONLY(2*G) NOT_LINUX(0)),                           \
  4129           NOT_LP64(LINUX_ONLY(2*G) NOT_LINUX(0)),                           \
  4097           "Address to allocate shared memory region for class data")        \
  4130           "Address to allocate shared memory region for class data")        \
  4098                                                                             \
  4131                                                                             \
  4099   product(uintx, SharedSymbolTableBucketSize, 4,                            \
  4132   product(uintx, SharedSymbolTableBucketSize, 4,                            \
  4100           "Average number of symbols per bucket in shared table")           \
  4133           "Average number of symbols per bucket in shared table")           \
       
  4134           range(2, 246)                                                     \
  4101                                                                             \
  4135                                                                             \
  4102   diagnostic(bool, IgnoreUnverifiableClassesDuringDump, false,              \
  4136   diagnostic(bool, IgnoreUnverifiableClassesDuringDump, false,              \
  4103           "Do not quit -Xshare:dump even if we encounter unverifiable "     \
  4137           "Do not quit -Xshare:dump even if we encounter unverifiable "     \
  4104           "classes. Just exclude them from the shared dictionary.")         \
  4138           "classes. Just exclude them from the shared dictionary.")         \
  4105                                                                             \
  4139                                                                             \