equal
deleted
inserted
replaced
623 class G1ClearBitmapHRClosure : public HeapRegionClosure { |
623 class G1ClearBitmapHRClosure : public HeapRegionClosure { |
624 private: |
624 private: |
625 G1CMBitMap* _bitmap; |
625 G1CMBitMap* _bitmap; |
626 G1ConcurrentMark* _cm; |
626 G1ConcurrentMark* _cm; |
627 public: |
627 public: |
628 G1ClearBitmapHRClosure(G1CMBitMap* bitmap, G1ConcurrentMark* cm) : HeapRegionClosure(), _cm(cm), _bitmap(bitmap) { |
628 G1ClearBitmapHRClosure(G1CMBitMap* bitmap, G1ConcurrentMark* cm) : HeapRegionClosure(), _bitmap(bitmap), _cm(cm) { |
629 } |
629 } |
630 |
630 |
631 virtual bool do_heap_region(HeapRegion* r) { |
631 virtual bool do_heap_region(HeapRegion* r) { |
632 size_t const chunk_size_in_words = G1ClearBitMapTask::chunk_size() / HeapWordSize; |
632 size_t const chunk_size_in_words = G1ClearBitMapTask::chunk_size() / HeapWordSize; |
633 |
633 |
1093 hr->note_end_of_marking(); |
1093 hr->note_end_of_marking(); |
1094 } |
1094 } |
1095 |
1095 |
1096 public: |
1096 public: |
1097 G1UpdateRemSetTrackingBeforeRebuild(G1CollectedHeap* g1h, G1ConcurrentMark* cm, G1PrintRegionLivenessInfoClosure* cl) : |
1097 G1UpdateRemSetTrackingBeforeRebuild(G1CollectedHeap* g1h, G1ConcurrentMark* cm, G1PrintRegionLivenessInfoClosure* cl) : |
1098 _g1h(g1h), _cm(cm), _num_regions_selected_for_rebuild(0), _cl(cl) { } |
1098 _g1h(g1h), _cm(cm), _cl(cl), _num_regions_selected_for_rebuild(0) { } |
1099 |
1099 |
1100 virtual bool do_heap_region(HeapRegion* r) { |
1100 virtual bool do_heap_region(HeapRegion* r) { |
1101 update_remset_before_rebuild(r); |
1101 update_remset_before_rebuild(r); |
1102 update_marked_bytes(r); |
1102 update_marked_bytes(r); |
1103 |
1103 |
1413 uint _ref_counter_limit; |
1413 uint _ref_counter_limit; |
1414 uint _ref_counter; |
1414 uint _ref_counter; |
1415 bool _is_serial; |
1415 bool _is_serial; |
1416 public: |
1416 public: |
1417 G1CMKeepAliveAndDrainClosure(G1ConcurrentMark* cm, G1CMTask* task, bool is_serial) : |
1417 G1CMKeepAliveAndDrainClosure(G1ConcurrentMark* cm, G1CMTask* task, bool is_serial) : |
1418 _cm(cm), _task(task), _is_serial(is_serial), |
1418 _cm(cm), _task(task), _ref_counter_limit(G1RefProcDrainInterval), |
1419 _ref_counter_limit(G1RefProcDrainInterval) { |
1419 _ref_counter(_ref_counter_limit), _is_serial(is_serial) { |
1420 assert(!_is_serial || _task->worker_id() == 0, "only task 0 for serial code"); |
1420 assert(!_is_serial || _task->worker_id() == 0, "only task 0 for serial code"); |
1421 _ref_counter = _ref_counter_limit; |
|
1422 } |
1421 } |
1423 |
1422 |
1424 virtual void do_oop(narrowOop* p) { do_oop_work(p); } |
1423 virtual void do_oop(narrowOop* p) { do_oop_work(p); } |
1425 virtual void do_oop( oop* p) { do_oop_work(p); } |
1424 virtual void do_oop( oop* p) { do_oop_work(p); } |
1426 |
1425 |