void HRInto_G1RemSet::print_summary_info() { G1CollectedHeap* g1 = G1CollectedHeap::heap(); #if CARD_REPEAT_HISTO gclog_or_tty->print_cr("\nG1 card_repeat count histogram: "); gclog_or_tty->print_cr(" # of repeats --> # of cards with that number."); card_repeat_count.print_on(gclog_or_tty); #endif if (FILTEROUTOFREGIONCLOSURE_DOHISTOGRAMCOUNT) { gclog_or_tty->print_cr("\nG1 rem-set out-of-region histogram: "); gclog_or_tty->print_cr(" # of CS ptrs --> # of cards with that number."); out_of_histo.print_on(gclog_or_tty); } gclog_or_tty->print_cr("\n Concurrent RS processed %d cards", _conc_refine_cards); DirtyCardQueueSet& dcqs = JavaThread::dirty_card_queue_set(); jint tot_processed_buffers = dcqs.processed_buffers_mut() + dcqs.processed_buffers_rs_thread(); gclog_or_tty->print_cr(" Of %d completed buffers:", tot_processed_buffers); gclog_or_tty->print_cr(" %8d (%5.1f%%) by conc RS threads.", dcqs.processed_buffers_rs_thread(), 100.0*(float)dcqs.processed_buffers_rs_thread()/ (float)tot_processed_buffers); gclog_or_tty->print_cr(" %8d (%5.1f%%) by mutator threads.", dcqs.processed_buffers_mut(), 100.0*(float)dcqs.processed_buffers_mut()/ (float)tot_processed_buffers); gclog_or_tty->print_cr(" Conc RS threads times(s)"); PrintRSThreadVTimeClosure p; gclog_or_tty->print(" "); g1->concurrent_g1_refine()->threads_do(&p); gclog_or_tty->print_cr(""); if (G1UseHRIntoRS) { HRRSStatsIter blk; g1->heap_region_iterate(&blk); gclog_or_tty->print_cr(" Total heap region rem set sizes = " SIZE_FORMAT "K." " Max = " SIZE_FORMAT "K.", blk.total_mem_sz()/K, blk.max_mem_sz()/K); gclog_or_tty->print_cr(" Static structures = " SIZE_FORMAT "K," " free_lists = " SIZE_FORMAT "K.", HeapRegionRemSet::static_mem_size()/K, HeapRegionRemSet::fl_mem_size()/K); gclog_or_tty->print_cr(" %d occupied cards represented.", blk.occupied()); gclog_or_tty->print_cr(" Max sz region = [" PTR_FORMAT ", " PTR_FORMAT " )" ", cap = " SIZE_FORMAT "K, occ = " SIZE_FORMAT "K.", blk.max_mem_sz_region()->bottom(), blk.max_mem_sz_region()->end(), (blk.max_mem_sz_region()->rem_set()->mem_size() + K - 1)/K, (blk.max_mem_sz_region()->rem_set()->occupied() + K - 1)/K); gclog_or_tty->print_cr(" Did %d coarsenings.", HeapRegionRemSet::n_coarsenings()); } }
void G1RemSet::print_summary_info(G1RemSetSummary * summary, const char * header) { assert(summary != NULL, "just checking"); if (header != NULL) { gclog_or_tty->print_cr("%s", header); } #if CARD_REPEAT_HISTO gclog_or_tty->print_cr("\nG1 card_repeat count histogram: "); gclog_or_tty->print_cr(" # of repeats --> # of cards with that number."); card_repeat_count.print_on(gclog_or_tty); #endif summary->print_on(gclog_or_tty); }