comparison src/share/vm/runtime/globals.hpp @ 534:5cfd8d19e546

6786503: Overflow list performance can be improved Summary: Avoid overflow list walk in CMS & ParNew when it is unnecessary. Fix a couple of correctness issues, including a C-heap leak, in ParNew at the intersection of promotion failure, work queue overflow and object array chunking. Add stress testing option and related assertion checking. Reviewed-by: jmasa
author ysr
date Mon, 26 Jan 2009 12:47:21 -0800
parents c81d2ef51ca3
children 23673011938d
comparison
equal deleted inserted replaced
527:2b1de1db9a9d 534:5cfd8d19e546
1305 "Print (survivor space) promotion labs sizing decisions") \ 1305 "Print (survivor space) promotion labs sizing decisions") \
1306 \ 1306 \
1307 product(intx, ParGCArrayScanChunk, 50, \ 1307 product(intx, ParGCArrayScanChunk, 50, \
1308 "Scan a subset and push remainder, if array is bigger than this") \ 1308 "Scan a subset and push remainder, if array is bigger than this") \
1309 \ 1309 \
1310 product(intx, ParGCDesiredObjsFromOverflowList, 20, \ 1310 notproduct(bool, ParGCWorkQueueOverflowALot, false, \
1311 "Whether we should simulate work queue overflow in ParNew") \
1312 \
1313 notproduct(uintx, ParGCWorkQueueOverflowInterval, 1000, \
1314 "An `interval' counter that determines how frequently" \
1315 " we simulate overflow; a smaller number increases frequency") \
1316 \
1317 product(uintx, ParGCDesiredObjsFromOverflowList, 20, \
1311 "The desired number of objects to claim from the overflow list") \ 1318 "The desired number of objects to claim from the overflow list") \
1312 \ 1319 \
1313 product(uintx, CMSParPromoteBlocksToClaim, 50, \ 1320 product(uintx, CMSParPromoteBlocksToClaim, 50, \
1314 "Number of blocks to attempt to claim when refilling CMS LAB for "\ 1321 "Number of blocks to attempt to claim when refilling CMS LAB for "\
1315 "parallel GC.") \ 1322 "parallel GC.") \
1427 \ 1434 \
1428 notproduct(bool, CMSMarkStackOverflowALot, false, \ 1435 notproduct(bool, CMSMarkStackOverflowALot, false, \
1429 "Whether we should simulate frequent marking stack / work queue" \ 1436 "Whether we should simulate frequent marking stack / work queue" \
1430 " overflow") \ 1437 " overflow") \
1431 \ 1438 \
1432 notproduct(intx, CMSMarkStackOverflowInterval, 1000, \ 1439 notproduct(uintx, CMSMarkStackOverflowInterval, 1000, \
1433 "A per-thread `interval' counter that determines how frequently" \ 1440 "An `interval' counter that determines how frequently" \
1434 " we simulate overflow; a smaller number increases frequency") \ 1441 " we simulate overflow; a smaller number increases frequency") \
1435 \ 1442 \
1436 product(uintx, CMSMaxAbortablePrecleanLoops, 0, \ 1443 product(uintx, CMSMaxAbortablePrecleanLoops, 0, \
1437 "(Temporary, subject to experimentation)" \ 1444 "(Temporary, subject to experimentation)" \
1438 "Maximum number of abortable preclean iterations, if > 0") \ 1445 "Maximum number of abortable preclean iterations, if > 0") \
1646 "Sleep time when sleep is used for yields") \ 1653 "Sleep time when sleep is used for yields") \
1647 \ 1654 \
1648 develop(uintx, WorkStealingYieldsBeforeSleep, 1000, \ 1655 develop(uintx, WorkStealingYieldsBeforeSleep, 1000, \
1649 "Number of yields before a sleep is done during workstealing") \ 1656 "Number of yields before a sleep is done during workstealing") \
1650 \ 1657 \
1651 product(uintx, PreserveMarkStackSize, 40, \ 1658 product(uintx, PreserveMarkStackSize, 1024, \
1652 "Size for stack used in promotion failure handling") \ 1659 "Size for stack used in promotion failure handling") \
1653 \ 1660 \
1654 product_pd(bool, UseTLAB, "Use thread-local object allocation") \ 1661 product_pd(bool, UseTLAB, "Use thread-local object allocation") \
1655 \ 1662 \
1656 product_pd(bool, ResizeTLAB, \ 1663 product_pd(bool, ResizeTLAB, \