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;
|