Mercurial > hg > graal-jvmci-8
comparison src/share/vm/runtime/globals.hpp @ 3357:fc2b798ab316
6883834: ParNew: assert(!_g->to()->is_in_reserved(obj),"Scanning field twice?") with LargeObjects tests
Summary: Fixed process_chunk_boundaries(), used for parallel card scanning when using ParNew/CMS, so as to prevent double-scanning, or worse, non-scanning of imprecisely marked objects exceeding parallel chunk size. Made some sizing parameters for parallel card scanning diagnostic, disabled ParallelGCRetainPLAB, and elaborated and clarified some comments.
Reviewed-by: stefank, johnc
author | ysr |
---|---|
date | Tue, 10 May 2011 00:33:21 -0700 |
parents | 54a56bbaf95b |
children | 30d3b13f1938 |
comparison
equal
deleted
inserted
replaced
3325:54a56bbaf95b | 3357:fc2b798ab316 |
---|---|
1458 "Verbose output for parallel GC.") \ | 1458 "Verbose output for parallel GC.") \ |
1459 \ | 1459 \ |
1460 product(intx, ParallelGCBufferWastePct, 10, \ | 1460 product(intx, ParallelGCBufferWastePct, 10, \ |
1461 "wasted fraction of parallel allocation buffer.") \ | 1461 "wasted fraction of parallel allocation buffer.") \ |
1462 \ | 1462 \ |
1463 product(bool, ParallelGCRetainPLAB, true, \ | 1463 diagnostic(bool, ParallelGCRetainPLAB, false, \ |
1464 "Retain parallel allocation buffers across scavenges.") \ | 1464 "Retain parallel allocation buffers across scavenges; " \ |
1465 " -- disabled because this currently conflicts with " \ | |
1466 " parallel card scanning under certain conditions ") \ | |
1465 \ | 1467 \ |
1466 product(intx, TargetPLABWastePct, 10, \ | 1468 product(intx, TargetPLABWastePct, 10, \ |
1467 "target wasted space in last buffer as pct of overall allocation")\ | 1469 "target wasted space in last buffer as pct of overall allocation")\ |
1468 \ | 1470 \ |
1469 product(uintx, PLABWeight, 75, \ | 1471 product(uintx, PLABWeight, 75, \ |
1493 "we simulate overflow; a smaller number increases frequency") \ | 1495 "we simulate overflow; a smaller number increases frequency") \ |
1494 \ | 1496 \ |
1495 product(uintx, ParGCDesiredObjsFromOverflowList, 20, \ | 1497 product(uintx, ParGCDesiredObjsFromOverflowList, 20, \ |
1496 "The desired number of objects to claim from the overflow list") \ | 1498 "The desired number of objects to claim from the overflow list") \ |
1497 \ | 1499 \ |
1498 product(uintx, CMSParPromoteBlocksToClaim, 16, \ | 1500 diagnostic(intx, ParGCStridesPerThread, 2, \ |
1501 "The number of strides per worker thread that we divide up the " \ | |
1502 "card table scanning work into") \ | |
1503 \ | |
1504 diagnostic(intx, ParGCCardsPerStrideChunk, 256, \ | |
1505 "The number of cards in each chunk of the parallel chunks used " \ | |
1506 "during card table scanning") \ | |
1507 \ | |
1508 product(uintx, CMSParPromoteBlocksToClaim, 16, \ | |
1499 "Number of blocks to attempt to claim when refilling CMS LAB for "\ | 1509 "Number of blocks to attempt to claim when refilling CMS LAB for "\ |
1500 "parallel GC.") \ | 1510 "parallel GC.") \ |
1501 \ | 1511 \ |
1502 product(uintx, OldPLABWeight, 50, \ | 1512 product(uintx, OldPLABWeight, 50, \ |
1503 "Percentage (0-100) used to weight the current sample when" \ | 1513 "Percentage (0-100) used to weight the current sample when" \ |