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