Mercurial > hg > graal-compiler
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, \ |