src/share/vm/gc/g1/g1RemSet.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/gc/g1

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

Print this page




 167 class ScanRSClosure : public HeapRegionClosure {
 168   size_t _cards_done, _cards;
 169   G1CollectedHeap* _g1h;
 170 
 171   G1ParPushHeapRSClosure* _oc;
 172   CodeBlobClosure* _code_root_cl;
 173 
 174   G1BlockOffsetTable* _bot;
 175   G1SATBCardTableModRefBS *_ct_bs;
 176 
 177   double _strong_code_root_scan_time_sec;
 178   uint   _worker_i;
 179   size_t _block_size;
 180   bool   _try_claimed;
 181 
 182 public:
 183   ScanRSClosure(G1ParPushHeapRSClosure* oc,
 184                 CodeBlobClosure* code_root_cl,
 185                 uint worker_i);
 186 
 187   bool doHeapRegion(HeapRegion* r);
 188 
 189   double strong_code_root_scan_time_sec() {
 190     return _strong_code_root_scan_time_sec;
 191   }
 192   size_t cards_done() { return _cards_done;}
 193   size_t cards_looked_up() { return _cards;}
 194   void set_try_claimed() { _try_claimed = true; }
 195 private:
 196   void scanCard(size_t index, HeapRegion *r);
 197   void printCard(HeapRegion* card_region, size_t card_index,
 198                  HeapWord* card_start);
 199   void scan_strong_code_roots(HeapRegion* r);
 200 };
 201 
 202 class UpdateRSOopClosure: public ExtendedOopClosure {
 203   HeapRegion* _from;
 204   G1RemSet* _rs;
 205   uint _worker_i;
 206 
 207   template <class T> void do_oop_work(T* p);


 167 class ScanRSClosure : public HeapRegionClosure {
 168   size_t _cards_done, _cards;
 169   G1CollectedHeap* _g1h;
 170 
 171   G1ParPushHeapRSClosure* _oc;
 172   CodeBlobClosure* _code_root_cl;
 173 
 174   G1BlockOffsetTable* _bot;
 175   G1SATBCardTableModRefBS *_ct_bs;
 176 
 177   double _strong_code_root_scan_time_sec;
 178   uint   _worker_i;
 179   size_t _block_size;
 180   bool   _try_claimed;
 181 
 182 public:
 183   ScanRSClosure(G1ParPushHeapRSClosure* oc,
 184                 CodeBlobClosure* code_root_cl,
 185                 uint worker_i);
 186 
 187   void doHeapRegion(HeapRegion* r);
 188 
 189   double strong_code_root_scan_time_sec() {
 190     return _strong_code_root_scan_time_sec;
 191   }
 192   size_t cards_done() { return _cards_done;}
 193   size_t cards_looked_up() { return _cards;}
 194   void set_try_claimed() { _try_claimed = true; }
 195 private:
 196   void scanCard(size_t index, HeapRegion *r);
 197   void printCard(HeapRegion* card_region, size_t card_index,
 198                  HeapWord* card_start);
 199   void scan_strong_code_roots(HeapRegion* r);
 200 };
 201 
 202 class UpdateRSOopClosure: public ExtendedOopClosure {
 203   HeapRegion* _from;
 204   G1RemSet* _rs;
 205   uint _worker_i;
 206 
 207   template <class T> void do_oop_work(T* p);
src/share/vm/gc/g1/g1RemSet.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File