1450 CompactibleFreeListSpace* space, |
1450 CompactibleFreeListSpace* space, |
1451 CMSBitMap* bit_map, |
1451 CMSBitMap* bit_map, |
1452 CMSMarkStack* mark_stack, |
1452 CMSMarkStack* mark_stack, |
1453 MarkRefsIntoAndScanClosure* cl): |
1453 MarkRefsIntoAndScanClosure* cl): |
1454 _space(space), |
1454 _space(space), |
1455 _num_dirty_cards(0), |
|
1456 _scan_cl(collector, span, collector->ref_processor(), bit_map, |
1455 _scan_cl(collector, span, collector->ref_processor(), bit_map, |
1457 mark_stack, cl) { } |
1456 mark_stack, cl), |
|
1457 _num_dirty_cards(0) { } |
1458 |
1458 |
1459 MarkFromDirtyCardsClosure(CMSCollector* collector, |
1459 MarkFromDirtyCardsClosure(CMSCollector* collector, |
1460 MemRegion span, |
1460 MemRegion span, |
1461 CompactibleFreeListSpace* space, |
1461 CompactibleFreeListSpace* space, |
1462 CMSBitMap* bit_map, |
1462 CMSBitMap* bit_map, |
1463 OopTaskQueue* work_queue, |
1463 OopTaskQueue* work_queue, |
1464 ParMarkRefsIntoAndScanClosure* cl): |
1464 ParMarkRefsIntoAndScanClosure* cl): |
1465 _space(space), |
1465 _space(space), |
1466 _num_dirty_cards(0), |
|
1467 _scan_cl(collector, span, collector->ref_processor(), bit_map, |
1466 _scan_cl(collector, span, collector->ref_processor(), bit_map, |
1468 work_queue, cl) { } |
1467 work_queue, cl), |
|
1468 _num_dirty_cards(0) { } |
1469 |
1469 |
1470 void do_MemRegion(MemRegion mr); |
1470 void do_MemRegion(MemRegion mr); |
1471 void set_space(CompactibleFreeListSpace* space) { _space = space; } |
1471 void set_space(CompactibleFreeListSpace* space) { _space = space; } |
1472 size_t num_dirty_cards() { return _num_dirty_cards; } |
1472 size_t num_dirty_cards() { return _num_dirty_cards; } |
1473 }; |
1473 }; |
1705 CMSBitMap* bit_map, CMSMarkStack* mark_stack, |
1705 CMSBitMap* bit_map, CMSMarkStack* mark_stack, |
1706 CMSKeepAliveClosure* keep_alive, |
1706 CMSKeepAliveClosure* keep_alive, |
1707 bool cpc): |
1707 bool cpc): |
1708 _collector(collector), |
1708 _collector(collector), |
1709 _span(span), |
1709 _span(span), |
|
1710 _mark_stack(mark_stack), |
1710 _bit_map(bit_map), |
1711 _bit_map(bit_map), |
1711 _mark_stack(mark_stack), |
|
1712 _keep_alive(keep_alive), |
1712 _keep_alive(keep_alive), |
1713 _concurrent_precleaning(cpc) { |
1713 _concurrent_precleaning(cpc) { |
1714 assert(_concurrent_precleaning == _keep_alive->concurrent_precleaning(), |
1714 assert(_concurrent_precleaning == _keep_alive->concurrent_precleaning(), |
1715 "Mismatch"); |
1715 "Mismatch"); |
1716 } |
1716 } |
1730 CMSParDrainMarkingStackClosure(CMSCollector* collector, |
1730 CMSParDrainMarkingStackClosure(CMSCollector* collector, |
1731 MemRegion span, CMSBitMap* bit_map, |
1731 MemRegion span, CMSBitMap* bit_map, |
1732 OopTaskQueue* work_queue): |
1732 OopTaskQueue* work_queue): |
1733 _collector(collector), |
1733 _collector(collector), |
1734 _span(span), |
1734 _span(span), |
|
1735 _work_queue(work_queue), |
1735 _bit_map(bit_map), |
1736 _bit_map(bit_map), |
1736 _work_queue(work_queue), |
|
1737 _mark_and_push(collector, span, bit_map, work_queue) { } |
1737 _mark_and_push(collector, span, bit_map, work_queue) { } |
1738 |
1738 |
1739 public: |
1739 public: |
1740 void trim_queue(uint max); |
1740 void trim_queue(uint max); |
1741 void do_void(); |
1741 void do_void(); |