src/share/vm/gc_implementation/g1/g1RemSet.hpp

Print this page




 128   void scrub(BitMap* region_bm, BitMap* card_bm);
 129 
 130   // Like the above, but assumes is called in parallel: "worker_num" is the
 131   // parallel thread id of the current thread, and "claim_val" is the
 132   // value that should be used to claim heap regions.
 133   void scrub_par(BitMap* region_bm, BitMap* card_bm,
 134                  uint worker_num, int claim_val);
 135 
 136   // Refine the card corresponding to "card_ptr".
 137   // If check_for_refs_into_cset is true, a true result is returned
 138   // if the given card contains oops that have references into the
 139   // current collection set.
 140   virtual bool refine_card(jbyte* card_ptr,
 141                            int worker_i,
 142                            bool check_for_refs_into_cset);
 143 
 144   // Print accumulated summary info from the start of the VM.
 145   virtual void print_summary_info();
 146 
 147   // Print accumulated summary info from the last time called.
 148   virtual void print_periodic_summary_info();
 149 
 150   // Prepare remembered set for verification.
 151   virtual void prepare_for_verify();
 152 
 153   size_t conc_refine_cards() const {
 154     return _conc_refine_cards;
 155   }
 156 };
 157 
 158 class CountNonCleanMemRegionClosure: public MemRegionClosure {
 159   G1CollectedHeap* _g1;
 160   int _n;
 161   HeapWord* _start_first;
 162 public:
 163   CountNonCleanMemRegionClosure(G1CollectedHeap* g1) :
 164     _g1(g1), _n(0), _start_first(NULL)
 165   {}
 166   void do_MemRegion(MemRegion mr);
 167   int n() { return _n; };
 168   HeapWord* start_first() { return _start_first; }




 128   void scrub(BitMap* region_bm, BitMap* card_bm);
 129 
 130   // Like the above, but assumes is called in parallel: "worker_num" is the
 131   // parallel thread id of the current thread, and "claim_val" is the
 132   // value that should be used to claim heap regions.
 133   void scrub_par(BitMap* region_bm, BitMap* card_bm,
 134                  uint worker_num, int claim_val);
 135 
 136   // Refine the card corresponding to "card_ptr".
 137   // If check_for_refs_into_cset is true, a true result is returned
 138   // if the given card contains oops that have references into the
 139   // current collection set.
 140   virtual bool refine_card(jbyte* card_ptr,
 141                            int worker_i,
 142                            bool check_for_refs_into_cset);
 143 
 144   // Print accumulated summary info from the start of the VM.
 145   virtual void print_summary_info();
 146 
 147   // Print accumulated summary info from the last time called.
 148   virtual void print_periodic_summary_info(const char* header);
 149 
 150   // Prepare remembered set for verification.
 151   virtual void prepare_for_verify();
 152 
 153   size_t conc_refine_cards() const {
 154     return _conc_refine_cards;
 155   }
 156 };
 157 
 158 class CountNonCleanMemRegionClosure: public MemRegionClosure {
 159   G1CollectedHeap* _g1;
 160   int _n;
 161   HeapWord* _start_first;
 162 public:
 163   CountNonCleanMemRegionClosure(G1CollectedHeap* g1) :
 164     _g1(g1), _n(0), _start_first(NULL)
 165   {}
 166   void do_MemRegion(MemRegion mr);
 167   int n() { return _n; };
 168   HeapWord* start_first() { return _start_first; }