equal
deleted
inserted
replaced
487 G1CardTable* ct, |
487 G1CardTable* ct, |
488 G1HotCardCache* hot_card_cache) : |
488 G1HotCardCache* hot_card_cache) : |
489 _scan_state(new G1RemSetScanState()), |
489 _scan_state(new G1RemSetScanState()), |
490 _prev_period_summary(), |
490 _prev_period_summary(), |
491 _g1h(g1h), |
491 _g1h(g1h), |
492 _num_conc_refined_cards(0), |
|
493 _ct(ct), |
492 _ct(ct), |
494 _g1p(_g1h->policy()), |
493 _g1p(_g1h->policy()), |
495 _hot_card_cache(hot_card_cache) { |
494 _hot_card_cache(hot_card_cache) { |
496 } |
495 } |
497 |
496 |
1375 MemRegion dirty_region(start, MIN2(scan_limit, end)); |
1374 MemRegion dirty_region(start, MIN2(scan_limit, end)); |
1376 assert(!dirty_region.is_empty(), "sanity"); |
1375 assert(!dirty_region.is_empty(), "sanity"); |
1377 |
1376 |
1378 G1ConcurrentRefineOopClosure conc_refine_cl(_g1h, worker_id); |
1377 G1ConcurrentRefineOopClosure conc_refine_cl(_g1h, worker_id); |
1379 if (r->oops_on_memregion_seq_iterate_careful<false>(dirty_region, &conc_refine_cl) != NULL) { |
1378 if (r->oops_on_memregion_seq_iterate_careful<false>(dirty_region, &conc_refine_cl) != NULL) { |
1380 _num_conc_refined_cards++; // Unsynchronized update, only used for logging. |
|
1381 return; |
1379 return; |
1382 } |
1380 } |
1383 |
1381 |
1384 // If unable to process the card then we encountered an unparsable |
1382 // If unable to process the card then we encountered an unparsable |
1385 // part of the heap (e.g. a partially allocated object, so only |
1383 // part of the heap (e.g. a partially allocated object, so only |