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

Print this page




 321   }
 322 
 323 #ifndef PRODUCT
 324   static void print_from_card_cache() {
 325     OtherRegionsTable::print_from_card_cache();
 326   }
 327 #endif
 328 
 329   static void record(HeapRegion* hr, OopOrNarrowOopStar f);
 330   static void print_recorded();
 331   static void record_event(Event evnt);
 332 
 333   // These are wrappers for the similarly-named methods on
 334   // SparsePRT. Look at sparsePRT.hpp for more details.
 335   static void reset_for_cleanup_tasks();
 336   void do_cleanup_work(HRRSCleanupTask* hrrs_cleanup_task);
 337   static void finish_cleanup_task(HRRSCleanupTask* hrrs_cleanup_task);
 338 
 339   // Run unit tests.
 340 #ifndef PRODUCT

 341   static void test();
 342 #endif
 343 };
 344 
 345 class HeapRegionRemSetIterator : public StackObj {
 346 
 347   // The region RSet over which we're iterating.
 348   const HeapRegionRemSet* _hrrs;
 349 
 350   // Local caching of HRRS fields.
 351   const BitMap*             _coarse_map;
 352   PerRegionTable**          _fine_grain_regions;
 353 
 354   G1BlockOffsetSharedArray* _bosa;
 355   G1CollectedHeap*          _g1h;
 356 
 357   // The number yielded since initialization.
 358   size_t _n_yielded_fine;
 359   size_t _n_yielded_coarse;
 360   size_t _n_yielded_sparse;




 321   }
 322 
 323 #ifndef PRODUCT
 324   static void print_from_card_cache() {
 325     OtherRegionsTable::print_from_card_cache();
 326   }
 327 #endif
 328 
 329   static void record(HeapRegion* hr, OopOrNarrowOopStar f);
 330   static void print_recorded();
 331   static void record_event(Event evnt);
 332 
 333   // These are wrappers for the similarly-named methods on
 334   // SparsePRT. Look at sparsePRT.hpp for more details.
 335   static void reset_for_cleanup_tasks();
 336   void do_cleanup_work(HRRSCleanupTask* hrrs_cleanup_task);
 337   static void finish_cleanup_task(HRRSCleanupTask* hrrs_cleanup_task);
 338 
 339   // Run unit tests.
 340 #ifndef PRODUCT
 341   static void test_prt();
 342   static void test();
 343 #endif
 344 };
 345 
 346 class HeapRegionRemSetIterator : public StackObj {
 347 
 348   // The region RSet over which we're iterating.
 349   const HeapRegionRemSet* _hrrs;
 350 
 351   // Local caching of HRRS fields.
 352   const BitMap*             _coarse_map;
 353   PerRegionTable**          _fine_grain_regions;
 354 
 355   G1BlockOffsetSharedArray* _bosa;
 356   G1CollectedHeap*          _g1h;
 357 
 358   // The number yielded since initialization.
 359   size_t _n_yielded_fine;
 360   size_t _n_yielded_coarse;
 361   size_t _n_yielded_sparse;