comparison src/share/vm/runtime/globals.hpp @ 1064:473cce303f13

6887571: Increase default heap config sizes Summary: Apply modification of existing server heap size ergo to all collectors except CMS. Reviewed-by: jmasa, ysr, xlu
author phh
date Wed, 28 Oct 2009 16:25:51 -0400
parents 354d3184f6b2
children 547f81740344 e018e6884bd8
comparison
equal deleted inserted replaced
1035:a3b9e96881fe 1064:473cce303f13
45 define_pd_global(intx, Tier4BackEdgeThreshold, 0); 45 define_pd_global(intx, Tier4BackEdgeThreshold, 0);
46 46
47 define_pd_global(intx, OnStackReplacePercentage, 0); 47 define_pd_global(intx, OnStackReplacePercentage, 0);
48 define_pd_global(bool, ResizeTLAB, false); 48 define_pd_global(bool, ResizeTLAB, false);
49 define_pd_global(intx, FreqInlineSize, 0); 49 define_pd_global(intx, FreqInlineSize, 0);
50 define_pd_global(intx, InlineSmallCode, 0);
50 define_pd_global(intx, NewSizeThreadIncrease, 4*K); 51 define_pd_global(intx, NewSizeThreadIncrease, 4*K);
51 define_pd_global(intx, NewRatio, 4);
52 define_pd_global(intx, InlineClassNatives, true); 52 define_pd_global(intx, InlineClassNatives, true);
53 define_pd_global(intx, InlineUnsafeOps, true); 53 define_pd_global(intx, InlineUnsafeOps, true);
54 define_pd_global(intx, InitialCodeCacheSize, 160*K); 54 define_pd_global(intx, InitialCodeCacheSize, 160*K);
55 define_pd_global(intx, ReservedCodeCacheSize, 32*M); 55 define_pd_global(intx, ReservedCodeCacheSize, 32*M);
56 define_pd_global(intx, CodeCacheExpansionSize, 32*K); 56 define_pd_global(intx, CodeCacheExpansionSize, 32*K);
57 define_pd_global(intx, CodeCacheMinBlockLength, 1); 57 define_pd_global(intx, CodeCacheMinBlockLength, 1);
58 define_pd_global(uintx,PermSize, ScaleForWordSize(4*M)); 58 define_pd_global(uintx,PermSize, ScaleForWordSize(4*M));
59 define_pd_global(uintx,MaxPermSize, ScaleForWordSize(64*M)); 59 define_pd_global(uintx,MaxPermSize, ScaleForWordSize(64*M));
60 define_pd_global(bool, NeverActAsServerClassMachine, true); 60 define_pd_global(bool, NeverActAsServerClassMachine, true);
61 define_pd_global(uintx, DefaultMaxRAM, 1*G); 61 define_pd_global(uint64_t,MaxRAM, 1ULL*G);
62 #define CI_COMPILER_COUNT 0 62 #define CI_COMPILER_COUNT 0
63 #else 63 #else
64 64
65 #ifdef COMPILER2 65 #ifdef COMPILER2
66 #define CI_COMPILER_COUNT 2 66 #define CI_COMPILER_COUNT 2
111 111
112 bool is_uintx() const { return strcmp(type, "uintx") == 0; } 112 bool is_uintx() const { return strcmp(type, "uintx") == 0; }
113 uintx get_uintx() const { return *((uintx*) addr); } 113 uintx get_uintx() const { return *((uintx*) addr); }
114 void set_uintx(uintx value) { *((uintx*) addr) = value; } 114 void set_uintx(uintx value) { *((uintx*) addr) = value; }
115 115
116 bool is_uint64_t() const { return strcmp(type, "uint64_t") == 0; }
117 uint64_t get_uint64_t() const { return *((uint64_t*) addr); }
118 void set_uint64_t(uint64_t value) { *((uint64_t*) addr) = value; }
119
116 bool is_double() const { return strcmp(type, "double") == 0; } 120 bool is_double() const { return strcmp(type, "double") == 0; }
117 double get_double() const { return *((double*) addr); } 121 double get_double() const { return *((double*) addr); }
118 void set_double(double value) { *((double*) addr) = value; } 122 void set_double(double value) { *((double*) addr) = value; }
119 123
120 bool is_ccstr() const { return strcmp(type, "ccstr") == 0 || strcmp(type, "ccstrlist") == 0; } 124 bool is_ccstr() const { return strcmp(type, "ccstr") == 0 || strcmp(type, "ccstrlist") == 0; }
185 189
186 static bool uintxAt(char* name, size_t len, uintx* value); 190 static bool uintxAt(char* name, size_t len, uintx* value);
187 static bool uintxAt(char* name, uintx* value) { return uintxAt(name, strlen(name), value); } 191 static bool uintxAt(char* name, uintx* value) { return uintxAt(name, strlen(name), value); }
188 static bool uintxAtPut(char* name, size_t len, uintx* value, FlagValueOrigin origin); 192 static bool uintxAtPut(char* name, size_t len, uintx* value, FlagValueOrigin origin);
189 static bool uintxAtPut(char* name, uintx* value, FlagValueOrigin origin) { return uintxAtPut(name, strlen(name), value, origin); } 193 static bool uintxAtPut(char* name, uintx* value, FlagValueOrigin origin) { return uintxAtPut(name, strlen(name), value, origin); }
194
195 static bool uint64_tAt(char* name, size_t len, uint64_t* value);
196 static bool uint64_tAt(char* name, uint64_t* value) { return uint64_tAt(name, strlen(name), value); }
197 static bool uint64_tAtPut(char* name, size_t len, uint64_t* value, FlagValueOrigin origin);
198 static bool uint64_tAtPut(char* name, uint64_t* value, FlagValueOrigin origin) { return uint64_tAtPut(name, strlen(name), value, origin); }
190 199
191 static bool doubleAt(char* name, size_t len, double* value); 200 static bool doubleAt(char* name, size_t len, double* value);
192 static bool doubleAt(char* name, double* value) { return doubleAt(name, strlen(name), value); } 201 static bool doubleAt(char* name, double* value) { return doubleAt(name, strlen(name), value); }
193 static bool doubleAtPut(char* name, size_t len, double* value, FlagValueOrigin origin); 202 static bool doubleAtPut(char* name, size_t len, double* value, FlagValueOrigin origin);
194 static bool doubleAtPut(char* name, double* value, FlagValueOrigin origin) { return doubleAtPut(name, strlen(name), value, origin); } 203 static bool doubleAtPut(char* name, double* value, FlagValueOrigin origin) { return doubleAtPut(name, strlen(name), value, origin); }
783 "Prints byte code statictics when dumping profiler output") \ 792 "Prints byte code statictics when dumping profiler output") \
784 \ 793 \
785 product(bool, ProfilerRecordPC, false, \ 794 product(bool, ProfilerRecordPC, false, \
786 "Collects tick for each 16 byte interval of compiled code") \ 795 "Collects tick for each 16 byte interval of compiled code") \
787 \ 796 \
788 product(bool, ProfileVM, false, \ 797 product(bool, ProfileVM, false, \
789 "Profiles ticks that fall within VM (either in the VM Thread " \ 798 "Profiles ticks that fall within VM (either in the VM Thread " \
790 "or VM code called through stubs)") \ 799 "or VM code called through stubs)") \
791 \ 800 \
792 product(bool, ProfileIntervals, false, \ 801 product(bool, ProfileIntervals, false, \
793 "Prints profiles for each interval (see ProfileIntervalsTicks)") \ 802 "Prints profiles for each interval (see ProfileIntervalsTicks)") \
813 "Initialize various error and exception classes - turn off for " \ 822 "Initialize various error and exception classes - turn off for " \
814 "individual method debugging") \ 823 "individual method debugging") \
815 \ 824 \
816 product(bool, RegisterFinalizersAtInit, true, \ 825 product(bool, RegisterFinalizersAtInit, true, \
817 "Register finalizable objects at end of Object.<init> or " \ 826 "Register finalizable objects at end of Object.<init> or " \
818 "after allocation.") \ 827 "after allocation") \
819 \ 828 \
820 develop(bool, RegisterReferences, true, \ 829 develop(bool, RegisterReferences, true, \
821 "Tells whether the VM should register soft/weak/final/phantom " \ 830 "Tells whether the VM should register soft/weak/final/phantom " \
822 "references") \ 831 "references") \
823 \ 832 \
860 "and defineClass.") \ 869 "and defineClass.") \
861 \ 870 \
862 product(bool, AlwaysLockClassLoader, false, \ 871 product(bool, AlwaysLockClassLoader, false, \
863 "Require the VM to acquire the class loader lock before calling " \ 872 "Require the VM to acquire the class loader lock before calling " \
864 "loadClass() even for class loaders registering " \ 873 "loadClass() even for class loaders registering " \
865 "as parallel capable. Default false. ") \ 874 "as parallel capable") \
866 \ 875 \
867 product(bool, AllowParallelDefineClass, false, \ 876 product(bool, AllowParallelDefineClass, false, \
868 "Allow parallel defineClass requests for class loaders " \ 877 "Allow parallel defineClass requests for class loaders " \
869 "registering as parallel capable. Default false") \ 878 "registering as parallel capable") \
870 \ 879 \
871 product(bool, MustCallLoadClassInternal, false, \ 880 product(bool, MustCallLoadClassInternal, false, \
872 "Call loadClassInternal() rather than loadClass().Default false") \ 881 "Call loadClassInternal() rather than loadClass()") \
873 \ 882 \
874 product_pd(bool, DontYieldALot, \ 883 product_pd(bool, DontYieldALot, \
875 "Throw away obvious excess yield calls (for SOLARIS only)") \ 884 "Throw away obvious excess yield calls (for SOLARIS only)") \
876 \ 885 \
877 product_pd(bool, ConvertSleepToYield, \ 886 product_pd(bool, ConvertSleepToYield, \
919 \ 928 \
920 product(intx, WorkAroundNPTLTimedWaitHang, 1, \ 929 product(intx, WorkAroundNPTLTimedWaitHang, 1, \
921 "(Unstable, Linux-specific)" \ 930 "(Unstable, Linux-specific)" \
922 " avoid NPTL-FUTEX hang pthread_cond_timedwait" ) \ 931 " avoid NPTL-FUTEX hang pthread_cond_timedwait" ) \
923 \ 932 \
924 product(bool, FilterSpuriousWakeups , true, \ 933 product(bool, FilterSpuriousWakeups, true, \
925 "Prevent spurious or premature wakeups from object.wait" \ 934 "Prevent spurious or premature wakeups from object.wait " \
926 "(Solaris only)") \ 935 "(Solaris only)") \
927 \ 936 \
928 product(intx, NativeMonitorTimeout, -1, "(Unstable)" ) \ 937 product(intx, NativeMonitorTimeout, -1, "(Unstable)" ) \
929 product(intx, NativeMonitorFlags, 0, "(Unstable)" ) \ 938 product(intx, NativeMonitorFlags, 0, "(Unstable)" ) \
930 product(intx, NativeMonitorSpinLimit, 20, "(Unstable)" ) \ 939 product(intx, NativeMonitorSpinLimit, 20, "(Unstable)" ) \
931 \ 940 \
971 "Use signal-chaining to invoke signal handlers installed " \ 980 "Use signal-chaining to invoke signal handlers installed " \
972 "by the application (Solaris & Linux only)") \ 981 "by the application (Solaris & Linux only)") \
973 \ 982 \
974 product(bool, UseAltSigs, false, \ 983 product(bool, UseAltSigs, false, \
975 "Use alternate signals instead of SIGUSR1 & SIGUSR2 for VM " \ 984 "Use alternate signals instead of SIGUSR1 & SIGUSR2 for VM " \
976 "internal signals. (Solaris only)") \ 985 "internal signals (Solaris only)") \
977 \ 986 \
978 product(bool, UseSpinning, false, \ 987 product(bool, UseSpinning, false, \
979 "Use spinning in monitor inflation and before entry") \ 988 "Use spinning in monitor inflation and before entry") \
980 \ 989 \
981 product(bool, PreSpinYield, false, \ 990 product(bool, PreSpinYield, false, \
1263 \ 1272 \
1264 product(bool, AlwaysTenure, false, \ 1273 product(bool, AlwaysTenure, false, \
1265 "Always tenure objects in eden. (ParallelGC only)") \ 1274 "Always tenure objects in eden. (ParallelGC only)") \
1266 \ 1275 \
1267 product(bool, NeverTenure, false, \ 1276 product(bool, NeverTenure, false, \
1268 "Never tenure objects in eden, May tenure on overflow" \ 1277 "Never tenure objects in eden, May tenure on overflow " \
1269 " (ParallelGC only)") \ 1278 "(ParallelGC only)") \
1270 \ 1279 \
1271 product(bool, ScavengeBeforeFullGC, true, \ 1280 product(bool, ScavengeBeforeFullGC, true, \
1272 "Scavenge youngest generation before each full GC," \ 1281 "Scavenge youngest generation before each full GC, " \
1273 " used with UseParallelGC") \ 1282 "used with UseParallelGC") \
1274 \ 1283 \
1275 develop(bool, ScavengeWithObjectsInToSpace, false, \ 1284 develop(bool, ScavengeWithObjectsInToSpace, false, \
1276 "Allow scavenges to occur when to_space contains objects.") \ 1285 "Allow scavenges to occur when to_space contains objects.") \
1277 \ 1286 \
1278 product(bool, UseConcMarkSweepGC, false, \ 1287 product(bool, UseConcMarkSweepGC, false, \
1281 product(bool, ExplicitGCInvokesConcurrent, false, \ 1290 product(bool, ExplicitGCInvokesConcurrent, false, \
1282 "A System.gc() request invokes a concurrent collection;" \ 1291 "A System.gc() request invokes a concurrent collection;" \
1283 " (effective only when UseConcMarkSweepGC)") \ 1292 " (effective only when UseConcMarkSweepGC)") \
1284 \ 1293 \
1285 product(bool, ExplicitGCInvokesConcurrentAndUnloadsClasses, false, \ 1294 product(bool, ExplicitGCInvokesConcurrentAndUnloadsClasses, false, \
1286 "A System.gc() request invokes a concurrent collection and" \ 1295 "A System.gc() request invokes a concurrent collection and " \
1287 " also unloads classes during such a concurrent gc cycle " \ 1296 "also unloads classes during such a concurrent gc cycle " \
1288 " (effective only when UseConcMarkSweepGC)") \ 1297 "(effective only when UseConcMarkSweepGC)") \
1289 \ 1298 \
1290 develop(bool, UseCMSAdaptiveFreeLists, true, \ 1299 develop(bool, UseCMSAdaptiveFreeLists, true, \
1291 "Use Adaptive Free Lists in the CMS generation") \ 1300 "Use Adaptive Free Lists in the CMS generation") \
1292 \ 1301 \
1293 develop(bool, UseAsyncConcMarkSweepGC, true, \ 1302 develop(bool, UseAsyncConcMarkSweepGC, true, \
1338 \ 1347 \
1339 notproduct(bool, ParGCWorkQueueOverflowALot, false, \ 1348 notproduct(bool, ParGCWorkQueueOverflowALot, false, \
1340 "Whether we should simulate work queue overflow in ParNew") \ 1349 "Whether we should simulate work queue overflow in ParNew") \
1341 \ 1350 \
1342 notproduct(uintx, ParGCWorkQueueOverflowInterval, 1000, \ 1351 notproduct(uintx, ParGCWorkQueueOverflowInterval, 1000, \
1343 "An `interval' counter that determines how frequently" \ 1352 "An `interval' counter that determines how frequently " \
1344 " we simulate overflow; a smaller number increases frequency") \ 1353 "we simulate overflow; a smaller number increases frequency") \
1345 \ 1354 \
1346 product(uintx, ParGCDesiredObjsFromOverflowList, 20, \ 1355 product(uintx, ParGCDesiredObjsFromOverflowList, 20, \
1347 "The desired number of objects to claim from the overflow list") \ 1356 "The desired number of objects to claim from the overflow list") \
1348 \ 1357 \
1349 product(uintx, CMSParPromoteBlocksToClaim, 50, \ 1358 product(uintx, CMSParPromoteBlocksToClaim, 50, \
1352 \ 1361 \
1353 product(bool, AlwaysPreTouch, false, \ 1362 product(bool, AlwaysPreTouch, false, \
1354 "It forces all freshly committed pages to be pre-touched.") \ 1363 "It forces all freshly committed pages to be pre-touched.") \
1355 \ 1364 \
1356 product(bool, CMSUseOldDefaults, false, \ 1365 product(bool, CMSUseOldDefaults, false, \
1357 "A flag temporarily introduced to allow reverting to some older" \ 1366 "A flag temporarily introduced to allow reverting to some " \
1358 "default settings; older as of 6.0 ") \ 1367 "older default settings; older as of 6.0") \
1359 \ 1368 \
1360 product(intx, CMSYoungGenPerWorker, 16*M, \ 1369 product(intx, CMSYoungGenPerWorker, 16*M, \
1361 "The amount of young gen chosen by default per GC worker " \ 1370 "The amount of young gen chosen by default per GC worker " \
1362 "thread available ") \ 1371 "thread available") \
1363 \ 1372 \
1364 product(bool, GCOverheadReporting, false, \ 1373 product(bool, GCOverheadReporting, false, \
1365 "Enables the GC overhead reporting facility") \ 1374 "Enables the GC overhead reporting facility") \
1366 \ 1375 \
1367 product(intx, GCOverheadReportingPeriodMS, 100, \ 1376 product(intx, GCOverheadReportingPeriodMS, 100, \
1378 product(bool, CMSIncrementalPacing, true, \ 1387 product(bool, CMSIncrementalPacing, true, \
1379 "Whether the CMS incremental mode duty cycle should be " \ 1388 "Whether the CMS incremental mode duty cycle should be " \
1380 "automatically adjusted") \ 1389 "automatically adjusted") \
1381 \ 1390 \
1382 product(uintx, CMSIncrementalDutyCycleMin, 0, \ 1391 product(uintx, CMSIncrementalDutyCycleMin, 0, \
1383 "Lower bound on the duty cycle when CMSIncrementalPacing is" \ 1392 "Lower bound on the duty cycle when CMSIncrementalPacing is " \
1384 "enabled (a percentage, 0-100).") \ 1393 "enabled (a percentage, 0-100)") \
1385 \ 1394 \
1386 product(uintx, CMSIncrementalSafetyFactor, 10, \ 1395 product(uintx, CMSIncrementalSafetyFactor, 10, \
1387 "Percentage (0-100) used to add conservatism when computing the" \ 1396 "Percentage (0-100) used to add conservatism when computing the " \
1388 "duty cycle.") \ 1397 "duty cycle") \
1389 \ 1398 \
1390 product(uintx, CMSIncrementalOffset, 0, \ 1399 product(uintx, CMSIncrementalOffset, 0, \
1391 "Percentage (0-100) by which the CMS incremental mode duty cycle" \ 1400 "Percentage (0-100) by which the CMS incremental mode duty cycle" \
1392 "is shifted to the right within the period between young GCs") \ 1401 " is shifted to the right within the period between young GCs") \
1393 \ 1402 \
1394 product(uintx, CMSExpAvgFactor, 25, \ 1403 product(uintx, CMSExpAvgFactor, 25, \
1395 "Percentage (0-100) used to weight the current sample when" \ 1404 "Percentage (0-100) used to weight the current sample when " \
1396 "computing exponential averages for CMS statistics.") \ 1405 "computing exponential averages for CMS statistics") \
1397 \ 1406 \
1398 product(uintx, CMS_FLSWeight, 50, \ 1407 product(uintx, CMS_FLSWeight, 50, \
1399 "Percentage (0-100) used to weight the current sample when" \ 1408 "Percentage (0-100) used to weight the current sample when " \
1400 "computing exponentially decating averages for CMS FLS statistics.") \ 1409 "computing exponentially decating averages for CMS FLS statistics") \
1401 \ 1410 \
1402 product(uintx, CMS_FLSPadding, 2, \ 1411 product(uintx, CMS_FLSPadding, 2, \
1403 "The multiple of deviation from mean to use for buffering" \ 1412 "The multiple of deviation from mean to use for buffering " \
1404 "against volatility in free list demand.") \ 1413 "against volatility in free list demand.") \
1405 \ 1414 \
1406 product(uintx, FLSCoalescePolicy, 2, \ 1415 product(uintx, FLSCoalescePolicy, 2, \
1407 "CMS: Aggression level for coalescing, increasing from 0 to 4") \ 1416 "CMS: Aggression level for coalescing, increasing from 0 to 4") \
1408 \ 1417 \
1409 product(uintx, CMS_SweepWeight, 50, \ 1418 product(uintx, CMS_SweepWeight, 50, \
1410 "Percentage (0-100) used to weight the current sample when" \ 1419 "Percentage (0-100) used to weight the current sample when " \
1411 "computing exponentially decaying average for inter-sweep duration.") \ 1420 "computing exponentially decaying average for inter-sweep " \
1421 "duration") \
1412 \ 1422 \
1413 product(uintx, CMS_SweepPadding, 2, \ 1423 product(uintx, CMS_SweepPadding, 2, \
1414 "The multiple of deviation from mean to use for buffering" \ 1424 "The multiple of deviation from mean to use for buffering " \
1415 "against volatility in inter-sweep duration.") \ 1425 "against volatility in inter-sweep duration.") \
1416 \ 1426 \
1417 product(uintx, CMS_SweepTimerThresholdMillis, 10, \ 1427 product(uintx, CMS_SweepTimerThresholdMillis, 10, \
1418 "Skip block flux-rate sampling for an epoch unless inter-sweep " \ 1428 "Skip block flux-rate sampling for an epoch unless inter-sweep " \
1419 " duration exceeds this threhold in milliseconds") \ 1429 "duration exceeds this threhold in milliseconds") \
1420 \ 1430 \
1421 develop(bool, CMSTraceIncrementalMode, false, \ 1431 develop(bool, CMSTraceIncrementalMode, false, \
1422 "Trace CMS incremental mode") \ 1432 "Trace CMS incremental mode") \
1423 \ 1433 \
1424 develop(bool, CMSTraceIncrementalPacing, false, \ 1434 develop(bool, CMSTraceIncrementalPacing, false, \
1615 product(bool, ParallelRefProcBalancingEnabled, true, \ 1625 product(bool, ParallelRefProcBalancingEnabled, true, \
1616 "Enable balancing of reference processing queues") \ 1626 "Enable balancing of reference processing queues") \
1617 \ 1627 \
1618 product(intx, CMSTriggerRatio, 80, \ 1628 product(intx, CMSTriggerRatio, 80, \
1619 "Percentage of MinHeapFreeRatio in CMS generation that is " \ 1629 "Percentage of MinHeapFreeRatio in CMS generation that is " \
1620 " allocated before a CMS collection cycle commences") \ 1630 "allocated before a CMS collection cycle commences") \
1621 \ 1631 \
1622 product(intx, CMSTriggerPermRatio, 80, \ 1632 product(intx, CMSTriggerPermRatio, 80, \
1623 "Percentage of MinHeapFreeRatio in the CMS perm generation that" \ 1633 "Percentage of MinHeapFreeRatio in the CMS perm generation that " \
1624 " is allocated before a CMS collection cycle commences, that " \ 1634 "is allocated before a CMS collection cycle commences, that " \
1625 " also collects the perm generation") \ 1635 "also collects the perm generation") \
1626 \ 1636 \
1627 product(uintx, CMSBootstrapOccupancy, 50, \ 1637 product(uintx, CMSBootstrapOccupancy, 50, \
1628 "Percentage CMS generation occupancy at which to " \ 1638 "Percentage CMS generation occupancy at which to " \
1629 " initiate CMS collection for bootstrapping collection stats") \ 1639 "initiate CMS collection for bootstrapping collection stats") \
1630 \ 1640 \
1631 product(intx, CMSInitiatingOccupancyFraction, -1, \ 1641 product(intx, CMSInitiatingOccupancyFraction, -1, \
1632 "Percentage CMS generation occupancy to start a CMS collection " \ 1642 "Percentage CMS generation occupancy to start a CMS collection " \
1633 " cycle (A negative value means that CMSTriggerRatio is used)") \ 1643 "cycle. A negative value means that CMSTriggerRatio is used") \
1634 \ 1644 \
1635 product(intx, CMSInitiatingPermOccupancyFraction, -1, \ 1645 product(intx, CMSInitiatingPermOccupancyFraction, -1, \
1636 "Percentage CMS perm generation occupancy to start a CMScollection"\ 1646 "Percentage CMS perm generation occupancy to start a " \
1637 " cycle (A negative value means that CMSTriggerPermRatio is used)")\ 1647 "CMScollection cycle. A negative value means that " \
1648 "CMSTriggerPermRatio is used") \
1638 \ 1649 \
1639 product(bool, UseCMSInitiatingOccupancyOnly, false, \ 1650 product(bool, UseCMSInitiatingOccupancyOnly, false, \
1640 "Only use occupancy as a crierion for starting a CMS collection") \ 1651 "Only use occupancy as a crierion for starting a CMS collection") \
1641 \ 1652 \
1642 product(intx, CMSIsTooFullPercentage, 98, \ 1653 product(intx, CMSIsTooFullPercentage, 98, \
1643 "An absolute ceiling above which CMS will always consider the" \ 1654 "An absolute ceiling above which CMS will always consider the " \
1644 " perm gen ripe for collection") \ 1655 "perm gen ripe for collection") \
1645 \ 1656 \
1646 develop(bool, CMSTestInFreeList, false, \ 1657 develop(bool, CMSTestInFreeList, false, \
1647 "Check if the coalesced range is already in the " \ 1658 "Check if the coalesced range is already in the " \
1648 "free lists as claimed.") \ 1659 "free lists as claimed") \
1649 \ 1660 \
1650 notproduct(bool, CMSVerifyReturnedBytes, false, \ 1661 notproduct(bool, CMSVerifyReturnedBytes, false, \
1651 "Check that all the garbage collected was returned to the " \ 1662 "Check that all the garbage collected was returned to the " \
1652 "free lists.") \ 1663 "free lists.") \
1653 \ 1664 \
1661 \ 1672 \
1662 notproduct(bool, GCALotAtAllSafepoints, false, \ 1673 notproduct(bool, GCALotAtAllSafepoints, false, \
1663 "Enforce ScavengeALot/GCALot at all potential safepoints") \ 1674 "Enforce ScavengeALot/GCALot at all potential safepoints") \
1664 \ 1675 \
1665 product(bool, HandlePromotionFailure, true, \ 1676 product(bool, HandlePromotionFailure, true, \
1666 "The youngest generation collection does not require" \ 1677 "The youngest generation collection does not require " \
1667 " a guarantee of full promotion of all live objects.") \ 1678 "a guarantee of full promotion of all live objects.") \
1668 \ 1679 \
1669 notproduct(bool, PromotionFailureALot, false, \ 1680 notproduct(bool, PromotionFailureALot, false, \
1670 "Use promotion failure handling on every youngest generation " \ 1681 "Use promotion failure handling on every youngest generation " \
1671 "collection") \ 1682 "collection") \
1672 \ 1683 \
1690 \ 1701 \
1691 develop(uintx, WorkStealingSpinToYieldRatio, 10, \ 1702 develop(uintx, WorkStealingSpinToYieldRatio, 10, \
1692 "Ratio of hard spins to calls to yield") \ 1703 "Ratio of hard spins to calls to yield") \
1693 \ 1704 \
1694 product(uintx, PreserveMarkStackSize, 1024, \ 1705 product(uintx, PreserveMarkStackSize, 1024, \
1695 "Size for stack used in promotion failure handling") \ 1706 "Size for stack used in promotion failure handling") \
1696 \ 1707 \
1697 product_pd(bool, UseTLAB, "Use thread-local object allocation") \ 1708 product_pd(bool, UseTLAB, "Use thread-local object allocation") \
1698 \ 1709 \
1699 product_pd(bool, ResizeTLAB, \ 1710 product_pd(bool, ResizeTLAB, \
1700 "Dynamically resize tlab size for threads") \ 1711 "Dynamically resize tlab size for threads") \
1718 "Never act like a server-class machine") \ 1729 "Never act like a server-class machine") \
1719 \ 1730 \
1720 product(bool, AlwaysActAsServerClassMachine, false, \ 1731 product(bool, AlwaysActAsServerClassMachine, false, \
1721 "Always act like a server-class machine") \ 1732 "Always act like a server-class machine") \
1722 \ 1733 \
1723 product_pd(uintx, DefaultMaxRAM, \ 1734 product_pd(uint64_t, MaxRAM, \
1724 "Maximum real memory size for setting server class heap size") \ 1735 "Real memory size (in bytes) used to set maximum heap size") \
1736 \
1737 product(uintx, ErgoHeapSizeLimit, 0, \
1738 "Maximum ergonomically set heap size (in bytes); zero means use " \
1739 "MaxRAM / MaxRAMFraction") \
1740 \
1741 product(uintx, MaxRAMFraction, 4, \
1742 "Maximum fraction (1/n) of real memory used for maximum heap " \
1743 "size") \
1725 \ 1744 \
1726 product(uintx, DefaultMaxRAMFraction, 4, \ 1745 product(uintx, DefaultMaxRAMFraction, 4, \
1727 "Fraction (1/n) of real memory used for server class max heap") \ 1746 "Maximum fraction (1/n) of real memory used for maximum heap " \
1728 \ 1747 "size; deprecated: to be renamed to MaxRAMFraction") \
1729 product(uintx, DefaultInitialRAMFraction, 64, \ 1748 \
1730 "Fraction (1/n) of real memory used for server class initial heap") \ 1749 product(uintx, MinRAMFraction, 2, \
1750 "Minimum fraction (1/n) of real memory used for maxmimum heap " \
1751 "size on systems with small physical memory size") \
1752 \
1753 product(uintx, InitialRAMFraction, 64, \
1754 "Fraction (1/n) of real memory used for initial heap size") \
1731 \ 1755 \
1732 product(bool, UseAutoGCSelectPolicy, false, \ 1756 product(bool, UseAutoGCSelectPolicy, false, \
1733 "Use automatic collection selection policy") \ 1757 "Use automatic collection selection policy") \
1734 \ 1758 \
1735 product(uintx, AutoGCSelectPauseMillis, 5000, \ 1759 product(uintx, AutoGCSelectPauseMillis, 5000, \
1776 \ 1800 \
1777 develop(uintx, AdaptiveSizePolicyReadyThreshold, 5, \ 1801 develop(uintx, AdaptiveSizePolicyReadyThreshold, 5, \
1778 "Number of collections before the adaptive sizing is started") \ 1802 "Number of collections before the adaptive sizing is started") \
1779 \ 1803 \
1780 product(uintx, AdaptiveSizePolicyOutputInterval, 0, \ 1804 product(uintx, AdaptiveSizePolicyOutputInterval, 0, \
1781 "Collecton interval for printing information, zero => never") \ 1805 "Collecton interval for printing information; zero => never") \
1782 \ 1806 \
1783 product(bool, UseAdaptiveSizePolicyFootprintGoal, true, \ 1807 product(bool, UseAdaptiveSizePolicyFootprintGoal, true, \
1784 "Use adaptive minimum footprint as a goal") \ 1808 "Use adaptive minimum footprint as a goal") \
1785 \ 1809 \
1786 product(uintx, AdaptiveSizePolicyWeight, 10, \ 1810 product(uintx, AdaptiveSizePolicyWeight, 10, \
1806 \ 1830 \
1807 product(uintx, ThresholdTolerance, 10, \ 1831 product(uintx, ThresholdTolerance, 10, \
1808 "Allowed collection cost difference between generations") \ 1832 "Allowed collection cost difference between generations") \
1809 \ 1833 \
1810 product(uintx, AdaptiveSizePolicyCollectionCostMargin, 50, \ 1834 product(uintx, AdaptiveSizePolicyCollectionCostMargin, 50, \
1811 "If collection costs are within margin, reduce both by full delta") \ 1835 "If collection costs are within margin, reduce both by full " \
1836 "delta") \
1812 \ 1837 \
1813 product(uintx, YoungGenerationSizeIncrement, 20, \ 1838 product(uintx, YoungGenerationSizeIncrement, 20, \
1814 "Adaptive size percentage change in young generation") \ 1839 "Adaptive size percentage change in young generation") \
1815 \ 1840 \
1816 product(uintx, YoungGenerationSizeSupplement, 80, \ 1841 product(uintx, YoungGenerationSizeSupplement, 80, \
2525 develop(bool, VerifyDataPointer, trueInDebug, \ 2550 develop(bool, VerifyDataPointer, trueInDebug, \
2526 "Verify the method data pointer during interpreter profiling") \ 2551 "Verify the method data pointer during interpreter profiling") \
2527 \ 2552 \
2528 develop(bool, VerifyCompiledCode, false, \ 2553 develop(bool, VerifyCompiledCode, false, \
2529 "Include miscellaneous runtime verifications in nmethod code; " \ 2554 "Include miscellaneous runtime verifications in nmethod code; " \
2530 "off by default because it disturbs nmethod size heuristics.") \ 2555 "default off because it disturbs nmethod size heuristics") \
2531 \ 2556 \
2532 \ 2557 \
2533 /* compilation */ \ 2558 /* compilation */ \
2534 product(bool, UseCompiler, true, \ 2559 product(bool, UseCompiler, true, \
2535 "use compilation") \ 2560 "use compilation") \
2787 product(intx, PreBlockSpin, 10, \ 2812 product(intx, PreBlockSpin, 10, \
2788 "Number of times to spin in an inflated lock before going to " \ 2813 "Number of times to spin in an inflated lock before going to " \
2789 "an OS lock") \ 2814 "an OS lock") \
2790 \ 2815 \
2791 /* gc parameters */ \ 2816 /* gc parameters */ \
2792 product(uintx, MaxHeapSize, ScaleForWordSize(64*M), \ 2817 product(uintx, InitialHeapSize, 0, \
2793 "Default maximum size for object heap (in bytes)") \ 2818 "Initial heap size (in bytes); zero means OldSize + NewSize") \
2794 \ 2819 \
2795 product_pd(uintx, NewSize, \ 2820 product(uintx, MaxHeapSize, ScaleForWordSize(96*M), \
2796 "Default size of new generation (in bytes)") \ 2821 "Maximum heap size (in bytes)") \
2822 \
2823 product(uintx, OldSize, ScaleForWordSize(4*M), \
2824 "Initial tenured generation size (in bytes)") \
2825 \
2826 product(uintx, NewSize, ScaleForWordSize(4*M), \
2827 "Initial new generation size (in bytes)") \
2797 \ 2828 \
2798 product(uintx, MaxNewSize, max_uintx, \ 2829 product(uintx, MaxNewSize, max_uintx, \
2799 "Maximum size of new generation (in bytes)") \ 2830 "Maximum new generation size (in bytes), max_uintx means set " \
2831 "ergonomically") \
2800 \ 2832 \
2801 product(uintx, PretenureSizeThreshold, 0, \ 2833 product(uintx, PretenureSizeThreshold, 0, \
2802 "Max size in bytes of objects allocated in DefNew generation") \ 2834 "Maximum size in bytes of objects allocated in DefNew " \
2803 \ 2835 "generation; zero means no maximum") \
2804 product_pd(uintx, TLABSize, \ 2836 \
2805 "Default (or starting) size of TLAB (in bytes)") \ 2837 product(uintx, TLABSize, 0, \
2838 "Starting TLAB size (in bytes); zero means set ergonomically") \
2806 \ 2839 \
2807 product(uintx, MinTLABSize, 2*K, \ 2840 product(uintx, MinTLABSize, 2*K, \
2808 "Minimum allowed TLAB size (in bytes)") \ 2841 "Minimum allowed TLAB size (in bytes)") \
2809 \ 2842 \
2810 product(uintx, TLABAllocationWeight, 35, \ 2843 product(uintx, TLABAllocationWeight, 35, \
2817 "Max TLAB waste at a refill (internal fragmentation)") \ 2850 "Max TLAB waste at a refill (internal fragmentation)") \
2818 \ 2851 \
2819 product(uintx, TLABWasteIncrement, 4, \ 2852 product(uintx, TLABWasteIncrement, 4, \
2820 "Increment allowed waste at slow allocation") \ 2853 "Increment allowed waste at slow allocation") \
2821 \ 2854 \
2822 product_pd(intx, SurvivorRatio, \ 2855 product(intx, SurvivorRatio, 8, \
2823 "Ratio of eden/survivor space size") \ 2856 "Ratio of eden/survivor space size") \
2824 \ 2857 \
2825 product_pd(intx, NewRatio, \ 2858 product(intx, NewRatio, 2, \
2826 "Ratio of new/old generation sizes") \ 2859 "Ratio of new/old generation sizes") \
2827 \ 2860 \
2828 product(uintx, MaxLiveObjectEvacuationRatio, 100, \ 2861 product(uintx, MaxLiveObjectEvacuationRatio, 100, \
2829 "Max percent of eden objects that will be live at scavenge") \ 2862 "Max percent of eden objects that will be live at scavenge") \
2830 \ 2863 \
2831 product_pd(uintx, NewSizeThreadIncrease, \ 2864 product_pd(uintx, NewSizeThreadIncrease, \
2832 "Additional size added to desired new generation size per " \ 2865 "Additional size added to desired new generation size per " \
2833 "non-daemon thread (in bytes)") \ 2866 "non-daemon thread (in bytes)") \
2834 \ 2867 \
2835 product(uintx, OldSize, ScaleForWordSize(4096*K), \
2836 "Default size of tenured generation (in bytes)") \
2837 \
2838 product_pd(uintx, PermSize, \ 2868 product_pd(uintx, PermSize, \
2839 "Default size of permanent generation (in bytes)") \ 2869 "Initial size of permanent generation (in bytes)") \
2840 \ 2870 \
2841 product_pd(uintx, MaxPermSize, \ 2871 product_pd(uintx, MaxPermSize, \
2842 "Maximum size of permanent generation (in bytes)") \ 2872 "Maximum size of permanent generation (in bytes)") \
2843 \ 2873 \
2844 product(uintx, MinHeapFreeRatio, 40, \ 2874 product(uintx, MinHeapFreeRatio, 40, \