1 /* |
1 /* |
2 * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
1157 "Call loadClassInternal() rather than loadClass()") \ |
1157 "Call loadClassInternal() rather than loadClass()") \ |
1158 \ |
1158 \ |
1159 product_pd(bool, DontYieldALot, \ |
1159 product_pd(bool, DontYieldALot, \ |
1160 "Throw away obvious excess yield calls") \ |
1160 "Throw away obvious excess yield calls") \ |
1161 \ |
1161 \ |
1162 product(bool, ConvertSleepToYield, true, \ |
|
1163 "Convert sleep(0) to thread yield ") \ |
|
1164 \ |
|
1165 product(bool, ConvertYieldToSleep, false, \ |
|
1166 "Convert yield to a sleep of MinSleepInterval to simulate Win32 " \ |
|
1167 "behavior") \ |
|
1168 \ |
|
1169 develop(bool, UseDetachedThreads, true, \ |
1162 develop(bool, UseDetachedThreads, true, \ |
1170 "Use detached threads that are recycled upon termination " \ |
1163 "Use detached threads that are recycled upon termination " \ |
1171 "(for Solaris only)") \ |
1164 "(for Solaris only)") \ |
1172 \ |
1165 \ |
1173 product(bool, UseLWPSynchronization, true, \ |
1166 product(bool, UseLWPSynchronization, true, \ |
1477 \ |
1470 \ |
1478 product(bool, ExplicitGCInvokesConcurrent, false, \ |
1471 product(bool, ExplicitGCInvokesConcurrent, false, \ |
1479 "A System.gc() request invokes a concurrent collection; " \ |
1472 "A System.gc() request invokes a concurrent collection; " \ |
1480 "(effective only when using concurrent collectors)") \ |
1473 "(effective only when using concurrent collectors)") \ |
1481 \ |
1474 \ |
1482 product(bool, ExplicitGCInvokesConcurrentAndUnloadsClasses, false, \ |
|
1483 "A System.gc() request invokes a concurrent collection and " \ |
|
1484 "also unloads classes during such a concurrent gc cycle " \ |
|
1485 "(effective only when UseConcMarkSweepGC)") \ |
|
1486 \ |
|
1487 product(bool, GCLockerInvokesConcurrent, false, \ |
1475 product(bool, GCLockerInvokesConcurrent, false, \ |
1488 "The exit of a JNI critical section necessitating a scavenge, " \ |
1476 "The exit of a JNI critical section necessitating a scavenge, " \ |
1489 "also kicks off a background concurrent collection") \ |
1477 "also kicks off a background concurrent collection") \ |
1490 \ |
1478 \ |
1491 product(uintx, GCLockerEdenExpansionPercent, 5, \ |
1479 product(uintx, GCLockerEdenExpansionPercent, 5, \ |
1498 "blocked by the GC locker") \ |
1486 "blocked by the GC locker") \ |
1499 range(0, max_uintx) \ |
1487 range(0, max_uintx) \ |
1500 \ |
1488 \ |
1501 product(bool, UseCMSBestFit, true, \ |
1489 product(bool, UseCMSBestFit, true, \ |
1502 "Use CMS best fit allocation strategy") \ |
1490 "Use CMS best fit allocation strategy") \ |
1503 \ |
|
1504 product(bool, UseParNewGC, false, \ |
|
1505 "Use parallel threads in the new generation") \ |
|
1506 \ |
1491 \ |
1507 product(uintx, ParallelGCBufferWastePct, 10, \ |
1492 product(uintx, ParallelGCBufferWastePct, 10, \ |
1508 "Wasted fraction of parallel allocation buffer") \ |
1493 "Wasted fraction of parallel allocation buffer") \ |
1509 range(0, 100) \ |
1494 range(0, 100) \ |
1510 \ |
1495 \ |
2057 \ |
2042 \ |
2058 develop(uintx, MaxVirtMemFraction, 2, \ |
2043 develop(uintx, MaxVirtMemFraction, 2, \ |
2059 "Maximum fraction (1/n) of virtual memory used for ergonomically "\ |
2044 "Maximum fraction (1/n) of virtual memory used for ergonomically "\ |
2060 "determining maximum heap size") \ |
2045 "determining maximum heap size") \ |
2061 \ |
2046 \ |
2062 product(bool, UseAutoGCSelectPolicy, false, \ |
|
2063 "Use automatic collection selection policy") \ |
|
2064 \ |
|
2065 product(uintx, AutoGCSelectPauseMillis, 5000, \ |
|
2066 "Automatic GC selection pause threshold in milliseconds") \ |
|
2067 range(0, max_uintx) \ |
|
2068 \ |
|
2069 product(bool, UseAdaptiveSizePolicy, true, \ |
2047 product(bool, UseAdaptiveSizePolicy, true, \ |
2070 "Use adaptive generation sizing policies") \ |
2048 "Use adaptive generation sizing policies") \ |
2071 \ |
2049 \ |
2072 product(bool, UsePSAdaptiveSurvivorSizePolicy, true, \ |
2050 product(bool, UsePSAdaptiveSurvivorSizePolicy, true, \ |
2073 "Use adaptive survivor sizing policies") \ |
2051 "Use adaptive survivor sizing policies") \ |
3000 "Dummy object allocated with +FullGCALot, forcing all objects " \ |
2978 "Dummy object allocated with +FullGCALot, forcing all objects " \ |
3001 "to move") \ |
2979 "to move") \ |
3002 \ |
2980 \ |
3003 develop(intx, DontYieldALotInterval, 10, \ |
2981 develop(intx, DontYieldALotInterval, 10, \ |
3004 "Interval between which yields will be dropped (milliseconds)") \ |
2982 "Interval between which yields will be dropped (milliseconds)") \ |
3005 \ |
|
3006 develop(intx, MinSleepInterval, 1, \ |
|
3007 "Minimum sleep() interval (milliseconds) when " \ |
|
3008 "ConvertSleepToYield is off (used for Solaris)") \ |
|
3009 \ |
2983 \ |
3010 develop(intx, ProfilerPCTickThreshold, 15, \ |
2984 develop(intx, ProfilerPCTickThreshold, 15, \ |
3011 "Number of ticks in a PC buckets to be a hotspot") \ |
2985 "Number of ticks in a PC buckets to be a hotspot") \ |
3012 \ |
2986 \ |
3013 notproduct(intx, DeoptimizeALotInterval, 5, \ |
2987 notproduct(intx, DeoptimizeALotInterval, 5, \ |