comparison src/share/vm/runtime/globals.hpp @ 1162:d749b1813f40

Merge
author trims
date Fri, 15 Jan 2010 14:25:44 -0800
parents 1fc01a2425ce
children c4d722788ed6
comparison
equal deleted inserted replaced
1130:1bc68593a110 1162:d749b1813f40
209 209
210 // Returns false if name is not a command line flag. 210 // Returns false if name is not a command line flag.
211 static bool wasSetOnCmdline(const char* name, bool* value); 211 static bool wasSetOnCmdline(const char* name, bool* value);
212 static void printSetFlags(); 212 static void printSetFlags();
213 213
214 static void printFlags() PRODUCT_RETURN; 214 static void printFlags();
215 215
216 static void verify() PRODUCT_RETURN; 216 static void verify() PRODUCT_RETURN;
217 }; 217 };
218 218
219 // use this for flags that are true by default in the debug version but 219 // use this for flags that are true by default in the debug version but
325 * removal testing. It was supposed to be removed before FCS but has \ 325 * removal testing. It was supposed to be removed before FCS but has \
326 * been re-added (see 6401008) */ \ 326 * been re-added (see 6401008) */ \
327 product(bool, UseMembar, false, \ 327 product(bool, UseMembar, false, \
328 "(Unstable) Issues membars on thread state transitions") \ 328 "(Unstable) Issues membars on thread state transitions") \
329 \ 329 \
330 product(bool, PrintCommandLineFlags, false, \
331 "Prints flags that appeared on the command line") \
332 \
333 diagnostic(bool, UnlockDiagnosticVMOptions, trueInDebug, \ 330 diagnostic(bool, UnlockDiagnosticVMOptions, trueInDebug, \
334 "Enable normal processing of flags relating to field diagnostics")\ 331 "Enable normal processing of flags relating to field diagnostics")\
335 \ 332 \
336 experimental(bool, UnlockExperimentalVMOptions, false, \ 333 experimental(bool, UnlockExperimentalVMOptions, false, \
337 "Enable normal processing of flags relating to experimental features")\ 334 "Enable normal processing of flags relating to experimental features")\
1353 "we simulate overflow; a smaller number increases frequency") \ 1350 "we simulate overflow; a smaller number increases frequency") \
1354 \ 1351 \
1355 product(uintx, ParGCDesiredObjsFromOverflowList, 20, \ 1352 product(uintx, ParGCDesiredObjsFromOverflowList, 20, \
1356 "The desired number of objects to claim from the overflow list") \ 1353 "The desired number of objects to claim from the overflow list") \
1357 \ 1354 \
1358 product(uintx, CMSParPromoteBlocksToClaim, 50, \ 1355 product(uintx, CMSParPromoteBlocksToClaim, 16, \
1359 "Number of blocks to attempt to claim when refilling CMS LAB for "\ 1356 "Number of blocks to attempt to claim when refilling CMS LAB for "\
1360 "parallel GC.") \ 1357 "parallel GC.") \
1358 \
1359 product(uintx, OldPLABWeight, 50, \
1360 "Percentage (0-100) used to weight the current sample when" \
1361 "computing exponentially decaying average for resizing CMSParPromoteBlocksToClaim.") \
1362 \
1363 product(bool, ResizeOldPLAB, true, \
1364 "Dynamically resize (old gen) promotion labs") \
1365 \
1366 product(bool, PrintOldPLAB, false, \
1367 "Print (old gen) promotion labs sizing decisions") \
1368 \
1369 product(uintx, CMSOldPLABMin, 16, \
1370 "Min size of CMS gen promotion lab caches per worker per blksize")\
1371 \
1372 product(uintx, CMSOldPLABMax, 1024, \
1373 "Max size of CMS gen promotion lab caches per worker per blksize")\
1374 \
1375 product(uintx, CMSOldPLABNumRefills, 4, \
1376 "Nominal number of refills of CMS gen promotion lab cache" \
1377 " per worker per block size") \
1378 \
1379 product(bool, CMSOldPLABResizeQuicker, false, \
1380 "Whether to react on-the-fly during a scavenge to a sudden" \
1381 " change in block demand rate") \
1382 \
1383 product(uintx, CMSOldPLABToleranceFactor, 4, \
1384 "The tolerance of the phase-change detector for on-the-fly" \
1385 " PLAB resizing during a scavenge") \
1386 \
1387 product(uintx, CMSOldPLABReactivityFactor, 2, \
1388 "The gain in the feedback loop for on-the-fly PLAB resizing" \
1389 " during a scavenge") \
1390 \
1391 product(uintx, CMSOldPLABReactivityCeiling, 10, \
1392 "The clamping of the gain in the feedback loop for on-the-fly" \
1393 " PLAB resizing during a scavenge") \
1361 \ 1394 \
1362 product(bool, AlwaysPreTouch, false, \ 1395 product(bool, AlwaysPreTouch, false, \
1363 "It forces all freshly committed pages to be pre-touched.") \ 1396 "It forces all freshly committed pages to be pre-touched.") \
1364 \ 1397 \
1365 product(bool, CMSUseOldDefaults, false, \ 1398 product(bool, CMSUseOldDefaults, false, \
1398 \ 1431 \
1399 product(uintx, CMSIncrementalOffset, 0, \ 1432 product(uintx, CMSIncrementalOffset, 0, \
1400 "Percentage (0-100) by which the CMS incremental mode duty cycle" \ 1433 "Percentage (0-100) by which the CMS incremental mode duty cycle" \
1401 " is shifted to the right within the period between young GCs") \ 1434 " is shifted to the right within the period between young GCs") \
1402 \ 1435 \
1403 product(uintx, CMSExpAvgFactor, 25, \ 1436 product(uintx, CMSExpAvgFactor, 50, \
1404 "Percentage (0-100) used to weight the current sample when " \ 1437 "Percentage (0-100) used to weight the current sample when" \
1405 "computing exponential averages for CMS statistics") \ 1438 "computing exponential averages for CMS statistics.") \
1406 \ 1439 \
1407 product(uintx, CMS_FLSWeight, 50, \ 1440 product(uintx, CMS_FLSWeight, 75, \
1408 "Percentage (0-100) used to weight the current sample when " \ 1441 "Percentage (0-100) used to weight the current sample when" \
1409 "computing exponentially decating averages for CMS FLS statistics") \ 1442 "computing exponentially decating averages for CMS FLS statistics.") \
1410 \ 1443 \
1411 product(uintx, CMS_FLSPadding, 2, \ 1444 product(uintx, CMS_FLSPadding, 1, \
1412 "The multiple of deviation from mean to use for buffering " \ 1445 "The multiple of deviation from mean to use for buffering" \
1413 "against volatility in free list demand.") \ 1446 "against volatility in free list demand.") \
1414 \ 1447 \
1415 product(uintx, FLSCoalescePolicy, 2, \ 1448 product(uintx, FLSCoalescePolicy, 2, \
1416 "CMS: Aggression level for coalescing, increasing from 0 to 4") \ 1449 "CMS: Aggression level for coalescing, increasing from 0 to 4") \
1417 \ 1450 \
1418 product(uintx, CMS_SweepWeight, 50, \ 1451 product(bool, FLSAlwaysCoalesceLarge, false, \
1452 "CMS: Larger free blocks are always available for coalescing") \
1453 \
1454 product(double, FLSLargestBlockCoalesceProximity, 0.99, \
1455 "CMS: the smaller the percentage the greater the coalition force")\
1456 \
1457 product(double, CMSSmallCoalSurplusPercent, 1.05, \
1458 "CMS: the factor by which to inflate estimated demand of small" \
1459 " block sizes to prevent coalescing with an adjoining block") \
1460 \
1461 product(double, CMSLargeCoalSurplusPercent, 0.95, \
1462 "CMS: the factor by which to inflate estimated demand of large" \
1463 " block sizes to prevent coalescing with an adjoining block") \
1464 \
1465 product(double, CMSSmallSplitSurplusPercent, 1.10, \
1466 "CMS: the factor by which to inflate estimated demand of small" \
1467 " block sizes to prevent splitting to supply demand for smaller" \
1468 " blocks") \
1469 \
1470 product(double, CMSLargeSplitSurplusPercent, 1.00, \
1471 "CMS: the factor by which to inflate estimated demand of large" \
1472 " block sizes to prevent splitting to supply demand for smaller" \
1473 " blocks") \
1474 \
1475 product(bool, CMSExtrapolateSweep, false, \
1476 "CMS: cushion for block demand during sweep") \
1477 \
1478 product(uintx, CMS_SweepWeight, 75, \
1419 "Percentage (0-100) used to weight the current sample when " \ 1479 "Percentage (0-100) used to weight the current sample when " \
1420 "computing exponentially decaying average for inter-sweep " \ 1480 "computing exponentially decaying average for inter-sweep " \
1421 "duration") \ 1481 "duration") \
1422 \ 1482 \
1423 product(uintx, CMS_SweepPadding, 2, \ 1483 product(uintx, CMS_SweepPadding, 1, \
1424 "The multiple of deviation from mean to use for buffering " \ 1484 "The multiple of deviation from mean to use for buffering " \
1425 "against volatility in inter-sweep duration.") \ 1485 "against volatility in inter-sweep duration.") \
1426 \ 1486 \
1427 product(uintx, CMS_SweepTimerThresholdMillis, 10, \ 1487 product(uintx, CMS_SweepTimerThresholdMillis, 10, \
1428 "Skip block flux-rate sampling for an epoch unless inter-sweep " \ 1488 "Skip block flux-rate sampling for an epoch unless inter-sweep " \
1456 develop(intx, CMSDictionaryChoice, 0, \ 1516 develop(intx, CMSDictionaryChoice, 0, \
1457 "Use BinaryTreeDictionary as default in the CMS generation") \ 1517 "Use BinaryTreeDictionary as default in the CMS generation") \
1458 \ 1518 \
1459 product(uintx, CMSIndexedFreeListReplenish, 4, \ 1519 product(uintx, CMSIndexedFreeListReplenish, 4, \
1460 "Replenish and indexed free list with this number of chunks") \ 1520 "Replenish and indexed free list with this number of chunks") \
1521 \
1522 product(bool, CMSReplenishIntermediate, true, \
1523 "Replenish all intermediate free-list caches") \
1524 \
1525 product(bool, CMSSplitIndexedFreeListBlocks, true, \
1526 "When satisfying batched demand, splot blocks from the " \
1527 "IndexedFreeList whose size is a multiple of requested size") \
1461 \ 1528 \
1462 product(bool, CMSLoopWarn, false, \ 1529 product(bool, CMSLoopWarn, false, \
1463 "Warn in case of excessive CMS looping") \ 1530 "Warn in case of excessive CMS looping") \
1464 \ 1531 \
1465 develop(bool, CMSOverflowEarlyRestoration, false, \ 1532 develop(bool, CMSOverflowEarlyRestoration, false, \
1591 \ 1658 \
1592 product(uintx, CMSBitMapYieldQuantum, 10*M, \ 1659 product(uintx, CMSBitMapYieldQuantum, 10*M, \
1593 "Bitmap operations should process at most this many bits" \ 1660 "Bitmap operations should process at most this many bits" \
1594 "between yields") \ 1661 "between yields") \
1595 \ 1662 \
1663 product(bool, CMSDumpAtPromotionFailure, false, \
1664 "Dump useful information about the state of the CMS old " \
1665 " generation upon a promotion failure.") \
1666 \
1667 product(bool, CMSPrintChunksInDump, false, \
1668 "In a dump enabled by CMSDumpAtPromotionFailure, include " \
1669 " more detailed information about the free chunks.") \
1670 \
1671 product(bool, CMSPrintObjectsInDump, false, \
1672 "In a dump enabled by CMSDumpAtPromotionFailure, include " \
1673 " more detailed information about the allocated objects.") \
1674 \
1596 diagnostic(bool, FLSVerifyAllHeapReferences, false, \ 1675 diagnostic(bool, FLSVerifyAllHeapReferences, false, \
1597 "Verify that all refs across the FLS boundary " \ 1676 "Verify that all refs across the FLS boundary " \
1598 " are to valid objects") \ 1677 " are to valid objects") \
1599 \ 1678 \
1600 diagnostic(bool, FLSVerifyLists, false, \ 1679 diagnostic(bool, FLSVerifyLists, false, \
1675 \ 1754 \
1676 product(bool, HandlePromotionFailure, true, \ 1755 product(bool, HandlePromotionFailure, true, \
1677 "The youngest generation collection does not require " \ 1756 "The youngest generation collection does not require " \
1678 "a guarantee of full promotion of all live objects.") \ 1757 "a guarantee of full promotion of all live objects.") \
1679 \ 1758 \
1759 product(bool, PrintPromotionFailure, false, \
1760 "Print additional diagnostic information following " \
1761 " promotion failure") \
1762 \
1680 notproduct(bool, PromotionFailureALot, false, \ 1763 notproduct(bool, PromotionFailureALot, false, \
1681 "Use promotion failure handling on every youngest generation " \ 1764 "Use promotion failure handling on every youngest generation " \
1682 "collection") \ 1765 "collection") \
1683 \ 1766 \
1684 develop(uintx, PromotionFailureALotCount, 1000, \ 1767 develop(uintx, PromotionFailureALotCount, 1000, \
1965 \ 2048 \
1966 product(uintx, CMSYieldSleepCount, 0, \ 2049 product(uintx, CMSYieldSleepCount, 0, \
1967 "number of times a GC thread (minus the coordinator) " \ 2050 "number of times a GC thread (minus the coordinator) " \
1968 "will sleep while yielding before giving up and resuming GC") \ 2051 "will sleep while yielding before giving up and resuming GC") \
1969 \ 2052 \
1970 notproduct(bool, PrintFlagsFinal, false, \
1971 "Print all command line flags after argument processing") \
1972 \
1973 /* gc tracing */ \ 2053 /* gc tracing */ \
1974 manageable(bool, PrintGC, false, \ 2054 manageable(bool, PrintGC, false, \
1975 "Print message at garbage collect") \ 2055 "Print message at garbage collect") \
1976 \ 2056 \
1977 manageable(bool, PrintGCDetails, false, \ 2057 manageable(bool, PrintGCDetails, false, \
2267 \ 2347 \
2268 diagnostic(bool, DebugInlinedCalls, true, \ 2348 diagnostic(bool, DebugInlinedCalls, true, \
2269 "If false, restricts profiled locations to the root method only") \ 2349 "If false, restricts profiled locations to the root method only") \
2270 \ 2350 \
2271 product(bool, PrintVMOptions, trueInDebug, \ 2351 product(bool, PrintVMOptions, trueInDebug, \
2272 "print VM flag settings") \ 2352 "Print flags that appeared on the command line") \
2273 \ 2353 \
2274 product(bool, IgnoreUnrecognizedVMOptions, false, \ 2354 product(bool, IgnoreUnrecognizedVMOptions, false, \
2275 "Ignore unrecognized VM options") \ 2355 "Ignore unrecognized VM options") \
2356 \
2357 product(bool, PrintCommandLineFlags, false, \
2358 "Print flags specified on command line or set by ergonomics") \
2359 \
2360 product(bool, PrintFlagsInitial, false, \
2361 "Print all VM flags before argument processing and exit VM") \
2362 \
2363 product(bool, PrintFlagsFinal, false, \
2364 "Print all VM flags after argument and ergonomic processing") \
2276 \ 2365 \
2277 diagnostic(bool, SerializeVMOutput, true, \ 2366 diagnostic(bool, SerializeVMOutput, true, \
2278 "Use a mutex to serialize output to tty and hotspot.log") \ 2367 "Use a mutex to serialize output to tty and hotspot.log") \
2279 \ 2368 \
2280 diagnostic(bool, DisplayVMOutput, true, \ 2369 diagnostic(bool, DisplayVMOutput, true, \
2670 "maximum number of elements to print") \ 2759 "maximum number of elements to print") \
2671 \ 2760 \
2672 notproduct(intx, MaxSubklassPrintSize, 4, \ 2761 notproduct(intx, MaxSubklassPrintSize, 4, \
2673 "maximum number of subklasses to print when printing klass") \ 2762 "maximum number of subklasses to print when printing klass") \
2674 \ 2763 \
2675 develop(intx, MaxInlineLevel, 9, \ 2764 product(intx, MaxInlineLevel, 9, \
2676 "maximum number of nested calls that are inlined") \ 2765 "maximum number of nested calls that are inlined") \
2677 \ 2766 \
2678 develop(intx, MaxRecursiveInlineLevel, 1, \ 2767 product(intx, MaxRecursiveInlineLevel, 1, \
2679 "maximum number of nested recursive calls that are inlined") \ 2768 "maximum number of nested recursive calls that are inlined") \
2680 \ 2769 \
2681 product_pd(intx, InlineSmallCode, \ 2770 product_pd(intx, InlineSmallCode, \
2682 "Only inline already compiled methods if their code size is " \ 2771 "Only inline already compiled methods if their code size is " \
2683 "less than this") \ 2772 "less than this") \
2686 "maximum bytecode size of a method to be inlined") \ 2775 "maximum bytecode size of a method to be inlined") \
2687 \ 2776 \
2688 product_pd(intx, FreqInlineSize, \ 2777 product_pd(intx, FreqInlineSize, \
2689 "maximum bytecode size of a frequent method to be inlined") \ 2778 "maximum bytecode size of a frequent method to be inlined") \
2690 \ 2779 \
2691 develop(intx, MaxTrivialSize, 6, \ 2780 product(intx, MaxTrivialSize, 6, \
2692 "maximum bytecode size of a trivial method to be inlined") \ 2781 "maximum bytecode size of a trivial method to be inlined") \
2693 \ 2782 \
2694 develop(intx, MinInliningThreshold, 250, \ 2783 product(intx, MinInliningThreshold, 250, \
2695 "min. invocation count a method needs to have to be inlined") \ 2784 "min. invocation count a method needs to have to be inlined") \
2696 \ 2785 \
2697 develop(intx, AlignEntryCode, 4, \ 2786 develop(intx, AlignEntryCode, 4, \
2698 "aligns entry code to specified value (in bytes)") \ 2787 "aligns entry code to specified value (in bytes)") \
2699 \ 2788 \