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 \ |
3727 constraint(CompilerThreadPriorityConstraintFunc, AfterErgo) \ |
3744 constraint(CompilerThreadPriorityConstraintFunc, AfterErgo) \ |
3728 \ |
3745 \ |
3729 product(intx, VMThreadPriority, -1, \ |
3746 product(intx, VMThreadPriority, -1, \ |
3730 "The native priority at which the VM thread should run " \ |
3747 "The native priority at which the VM thread should run " \ |
3731 "(-1 means no change)") \ |
3748 "(-1 means no change)") \ |
|
3749 range(-1, 127) \ |
3732 \ |
3750 \ |
3733 product(bool, CompilerThreadHintNoPreempt, true, \ |
3751 product(bool, CompilerThreadHintNoPreempt, true, \ |
3734 "(Solaris only) Give compiler threads an extra quanta") \ |
3752 "(Solaris only) Give compiler threads an extra quanta") \ |
3735 \ |
3753 \ |
3736 product(bool, VMThreadHintNoPreempt, false, \ |
3754 product(bool, VMThreadHintNoPreempt, false, \ |
3737 "(Solaris only) Give VM thread an extra quanta") \ |
3755 "(Solaris only) Give VM thread an extra quanta") \ |
3738 \ |
3756 \ |
3739 product(intx, JavaPriority1_To_OSPriority, -1, \ |
3757 product(intx, JavaPriority1_To_OSPriority, -1, \ |
3740 "Map Java priorities to OS priorities") \ |
3758 "Map Java priorities to OS priorities") \ |
|
3759 range(-1, 127) \ |
3741 \ |
3760 \ |
3742 product(intx, JavaPriority2_To_OSPriority, -1, \ |
3761 product(intx, JavaPriority2_To_OSPriority, -1, \ |
3743 "Map Java priorities to OS priorities") \ |
3762 "Map Java priorities to OS priorities") \ |
|
3763 range(-1, 127) \ |
3744 \ |
3764 \ |
3745 product(intx, JavaPriority3_To_OSPriority, -1, \ |
3765 product(intx, JavaPriority3_To_OSPriority, -1, \ |
3746 "Map Java priorities to OS priorities") \ |
3766 "Map Java priorities to OS priorities") \ |
|
3767 range(-1, 127) \ |
3747 \ |
3768 \ |
3748 product(intx, JavaPriority4_To_OSPriority, -1, \ |
3769 product(intx, JavaPriority4_To_OSPriority, -1, \ |
3749 "Map Java priorities to OS priorities") \ |
3770 "Map Java priorities to OS priorities") \ |
|
3771 range(-1, 127) \ |
3750 \ |
3772 \ |
3751 product(intx, JavaPriority5_To_OSPriority, -1, \ |
3773 product(intx, JavaPriority5_To_OSPriority, -1, \ |
3752 "Map Java priorities to OS priorities") \ |
3774 "Map Java priorities to OS priorities") \ |
|
3775 range(-1, 127) \ |
3753 \ |
3776 \ |
3754 product(intx, JavaPriority6_To_OSPriority, -1, \ |
3777 product(intx, JavaPriority6_To_OSPriority, -1, \ |
3755 "Map Java priorities to OS priorities") \ |
3778 "Map Java priorities to OS priorities") \ |
|
3779 range(-1, 127) \ |
3756 \ |
3780 \ |
3757 product(intx, JavaPriority7_To_OSPriority, -1, \ |
3781 product(intx, JavaPriority7_To_OSPriority, -1, \ |
3758 "Map Java priorities to OS priorities") \ |
3782 "Map Java priorities to OS priorities") \ |
|
3783 range(-1, 127) \ |
3759 \ |
3784 \ |
3760 product(intx, JavaPriority8_To_OSPriority, -1, \ |
3785 product(intx, JavaPriority8_To_OSPriority, -1, \ |
3761 "Map Java priorities to OS priorities") \ |
3786 "Map Java priorities to OS priorities") \ |
|
3787 range(-1, 127) \ |
3762 \ |
3788 \ |
3763 product(intx, JavaPriority9_To_OSPriority, -1, \ |
3789 product(intx, JavaPriority9_To_OSPriority, -1, \ |
3764 "Map Java priorities to OS priorities") \ |
3790 "Map Java priorities to OS priorities") \ |
|
3791 range(-1, 127) \ |
3765 \ |
3792 \ |
3766 product(intx, JavaPriority10_To_OSPriority,-1, \ |
3793 product(intx, JavaPriority10_To_OSPriority,-1, \ |
3767 "Map Java priorities to OS priorities") \ |
3794 "Map Java priorities to OS priorities") \ |
|
3795 range(-1, 127) \ |
3768 \ |
3796 \ |
3769 experimental(bool, UseCriticalJavaThreadPriority, false, \ |
3797 experimental(bool, UseCriticalJavaThreadPriority, false, \ |
3770 "Java thread priority 10 maps to critical scheduling priority") \ |
3798 "Java thread priority 10 maps to critical scheduling priority") \ |
3771 \ |
3799 \ |
3772 experimental(bool, UseCriticalCompilerThreadPriority, false, \ |
3800 experimental(bool, UseCriticalCompilerThreadPriority, false, \ |
4000 "The string %p in the file name (if present) " \ |
4029 "The string %p in the file name (if present) " \ |
4001 "will be replaced by pid") \ |
4030 "will be replaced by pid") \ |
4002 \ |
4031 \ |
4003 product(intx, PerfDataSamplingInterval, 50, \ |
4032 product(intx, PerfDataSamplingInterval, 50, \ |
4004 "Data sampling interval (in milliseconds)") \ |
4033 "Data sampling interval (in milliseconds)") \ |
|
4034 range(PeriodicTask::min_interval, max_jint) \ |
|
4035 constraint(PerfDataSamplingIntervalFunc, AfterErgo) \ |
4005 \ |
4036 \ |
4006 develop(bool, PerfTraceDataCreation, false, \ |
4037 develop(bool, PerfTraceDataCreation, false, \ |
4007 "Trace creation of Performance Data Entries") \ |
4038 "Trace creation of Performance Data Entries") \ |
4008 \ |
4039 \ |
4009 develop(bool, PerfTraceMemOps, false, \ |
4040 develop(bool, PerfTraceMemOps, false, \ |
4013 "Store performance data in standard memory") \ |
4044 "Store performance data in standard memory") \ |
4014 \ |
4045 \ |
4015 product(intx, PerfDataMemorySize, 64*K, \ |
4046 product(intx, PerfDataMemorySize, 64*K, \ |
4016 "Size of performance data memory region. Will be rounded " \ |
4047 "Size of performance data memory region. Will be rounded " \ |
4017 "up to a multiple of the native os page size.") \ |
4048 "up to a multiple of the native os page size.") \ |
|
4049 range(128, 32*64*K) \ |
4018 \ |
4050 \ |
4019 product(intx, PerfMaxStringConstLength, 1024, \ |
4051 product(intx, PerfMaxStringConstLength, 1024, \ |
4020 "Maximum PerfStringConstant string length before truncation") \ |
4052 "Maximum PerfStringConstant string length before truncation") \ |
|
4053 range(32, 32*K) \ |
4021 \ |
4054 \ |
4022 product(bool, PerfAllowAtExitRegistration, false, \ |
4055 product(bool, PerfAllowAtExitRegistration, false, \ |
4023 "Allow registration of atexit() methods") \ |
4056 "Allow registration of atexit() methods") \ |
4024 \ |
4057 \ |
4025 product(bool, PerfBypassFileSystemCheck, false, \ |
4058 product(bool, PerfBypassFileSystemCheck, false, \ |
4075 \ |
4108 \ |
4076 product(bool, PrintSharedDictionary, false, \ |
4109 product(bool, PrintSharedDictionary, false, \ |
4077 "If PrintSharedArchiveAndExit is true, also print the shared " \ |
4110 "If PrintSharedArchiveAndExit is true, also print the shared " \ |
4078 "dictionary") \ |
4111 "dictionary") \ |
4079 \ |
4112 \ |
4080 product(size_t, SharedReadWriteSize, NOT_LP64(12*M) LP64_ONLY(16*M), \ |
4113 product(size_t, SharedReadWriteSize, NOT_LP64(12*M) LP64_ONLY(16*M), \ |
4081 "Size of read-write space for metadata (in bytes)") \ |
4114 "Size of read-write space for metadata (in bytes)") \ |
4082 \ |
4115 \ |
4083 product(size_t, SharedReadOnlySize, NOT_LP64(12*M) LP64_ONLY(16*M), \ |
4116 product(size_t, SharedReadOnlySize, NOT_LP64(12*M) LP64_ONLY(16*M), \ |
4084 "Size of read-only space for metadata (in bytes)") \ |
4117 "Size of read-only space for metadata (in bytes)") \ |
4085 \ |
4118 \ |
4086 product(uintx, SharedMiscDataSize, NOT_LP64(2*M) LP64_ONLY(4*M), \ |
4119 product(uintx, SharedMiscDataSize, NOT_LP64(2*M) LP64_ONLY(4*M), \ |
4087 "Size of the shared miscellaneous data area (in bytes)") \ |
4120 "Size of the shared miscellaneous data area (in bytes)") \ |
4088 \ |
4121 \ |
4093 NOT_LP64(LINUX_ONLY(2*G) NOT_LINUX(0)), \ |
4126 NOT_LP64(LINUX_ONLY(2*G) NOT_LINUX(0)), \ |
4094 "Address to allocate shared memory region for class data") \ |
4127 "Address to allocate shared memory region for class data") \ |
4095 \ |
4128 \ |
4096 product(uintx, SharedSymbolTableBucketSize, 4, \ |
4129 product(uintx, SharedSymbolTableBucketSize, 4, \ |
4097 "Average number of symbols per bucket in shared table") \ |
4130 "Average number of symbols per bucket in shared table") \ |
|
4131 range(2, 246) \ |
4098 \ |
4132 \ |
4099 diagnostic(bool, IgnoreUnverifiableClassesDuringDump, false, \ |
4133 diagnostic(bool, IgnoreUnverifiableClassesDuringDump, false, \ |
4100 "Do not quit -Xshare:dump even if we encounter unverifiable " \ |
4134 "Do not quit -Xshare:dump even if we encounter unverifiable " \ |
4101 "classes. Just exclude them from the shared dictionary.") \ |
4135 "classes. Just exclude them from the shared dictionary.") \ |
4102 \ |
4136 \ |