578 guarantee(false, "NYI"); |
578 guarantee(false, "NYI"); |
579 } |
579 } |
580 virtual void do_oop(oop* p) { |
580 virtual void do_oop(oop* p) { |
581 HeapRegion* to = _g1->heap_region_containing(*p); |
581 HeapRegion* to = _g1->heap_region_containing(*p); |
582 if (to->in_collection_set()) { |
582 if (to->in_collection_set()) { |
583 if (to->rem_set()->add_reference(p, 0)) { |
583 to->rem_set()->add_reference(p, 0); |
584 _g1->schedule_popular_region_evac(to); |
|
585 } |
|
586 } |
584 } |
587 } |
585 } |
588 }; |
586 }; |
589 |
587 |
590 class UpdateRSetOopsIntoCSDeferred : public OopClosure { |
588 class UpdateRSetOopsIntoCSDeferred : public OopClosure { |
1022 HeapRegionRemSet::static_mem_size()/K, |
1020 HeapRegionRemSet::static_mem_size()/K, |
1023 HeapRegionRemSet::fl_mem_size()/K); |
1021 HeapRegionRemSet::fl_mem_size()/K); |
1024 gclog_or_tty->print_cr(" %d occupied cards represented.", |
1022 gclog_or_tty->print_cr(" %d occupied cards represented.", |
1025 blk.occupied()); |
1023 blk.occupied()); |
1026 gclog_or_tty->print_cr(" Max sz region = [" PTR_FORMAT ", " PTR_FORMAT " )" |
1024 gclog_or_tty->print_cr(" Max sz region = [" PTR_FORMAT ", " PTR_FORMAT " )" |
1027 " %s, cap = " SIZE_FORMAT "K, occ = " SIZE_FORMAT "K.", |
1025 ", cap = " SIZE_FORMAT "K, occ = " SIZE_FORMAT "K.", |
1028 blk.max_mem_sz_region()->bottom(), blk.max_mem_sz_region()->end(), |
1026 blk.max_mem_sz_region()->bottom(), blk.max_mem_sz_region()->end(), |
1029 (blk.max_mem_sz_region()->popular() ? "POP" : ""), |
|
1030 (blk.max_mem_sz_region()->rem_set()->mem_size() + K - 1)/K, |
1027 (blk.max_mem_sz_region()->rem_set()->mem_size() + K - 1)/K, |
1031 (blk.max_mem_sz_region()->rem_set()->occupied() + K - 1)/K); |
1028 (blk.max_mem_sz_region()->rem_set()->occupied() + K - 1)/K); |
1032 gclog_or_tty->print_cr(" Did %d coarsenings.", |
1029 gclog_or_tty->print_cr(" Did %d coarsenings.", |
1033 HeapRegionRemSet::n_coarsenings()); |
1030 HeapRegionRemSet::n_coarsenings()); |
1034 |
1031 |