src/share/vm/gc_implementation/g1/g1RemSet.cpp

Print this page
rev 4735 : [mq]: 8013895
rev 4736 : Add per-region type information to the output of -XX:+G1SummarizeRSetStats


 683         JavaThread::dirty_card_queue_set().shared_dirty_card_queue();
 684       sdcq->enqueue(card_ptr);
 685     }
 686   } else {
 687     _conc_refine_cards++;
 688   }
 689 
 690   // This gets set to true if the card being refined has
 691   // references that point into the collection set.
 692   bool has_refs_into_cset = trigger_cl.triggered();
 693 
 694   // We should only be detecting that the card contains references
 695   // that point into the collection set if the current thread is
 696   // a GC worker thread.
 697   assert(!has_refs_into_cset || SafepointSynchronize::is_at_safepoint(),
 698            "invalid result at non safepoint");
 699 
 700   return has_refs_into_cset;
 701 }
 702 
 703 void G1RemSet::print_periodic_summary_info() {
 704   G1RemSetSummary current;
 705   current.initialize(this, n_workers());
 706 
 707   _prev_period_summary.subtract_from(&current);
 708   print_summary_info(&_prev_period_summary);
 709 
 710   _prev_period_summary.set(&current);
 711 }
 712 
 713 void G1RemSet::print_summary_info() {
 714   G1RemSetSummary current;
 715   current.initialize(this, n_workers());
 716 
 717   print_summary_info(&current, " Cumulative RS summary");
 718 }
 719 
 720 void G1RemSet::print_summary_info(G1RemSetSummary * summary, const char * header) {
 721   assert(summary != NULL, "just checking");
 722 
 723   if (header != NULL) {
 724     gclog_or_tty->print_cr("%s", header);
 725   }
 726 
 727 #if CARD_REPEAT_HISTO
 728   gclog_or_tty->print_cr("\nG1 card_repeat count histogram: ");




 683         JavaThread::dirty_card_queue_set().shared_dirty_card_queue();
 684       sdcq->enqueue(card_ptr);
 685     }
 686   } else {
 687     _conc_refine_cards++;
 688   }
 689 
 690   // This gets set to true if the card being refined has
 691   // references that point into the collection set.
 692   bool has_refs_into_cset = trigger_cl.triggered();
 693 
 694   // We should only be detecting that the card contains references
 695   // that point into the collection set if the current thread is
 696   // a GC worker thread.
 697   assert(!has_refs_into_cset || SafepointSynchronize::is_at_safepoint(),
 698            "invalid result at non safepoint");
 699 
 700   return has_refs_into_cset;
 701 }
 702 
 703 void G1RemSet::print_periodic_summary_info(const char* header) {
 704   G1RemSetSummary current;
 705   current.initialize(this, n_workers());
 706 
 707   _prev_period_summary.subtract_from(&current);
 708   print_summary_info(&_prev_period_summary, header);
 709 
 710   _prev_period_summary.set(&current);
 711 }
 712 
 713 void G1RemSet::print_summary_info() {
 714   G1RemSetSummary current;
 715   current.initialize(this, n_workers());
 716 
 717   print_summary_info(&current, " Cumulative RS summary");
 718 }
 719 
 720 void G1RemSet::print_summary_info(G1RemSetSummary * summary, const char * header) {
 721   assert(summary != NULL, "just checking");
 722 
 723   if (header != NULL) {
 724     gclog_or_tty->print_cr("%s", header);
 725   }
 726 
 727 #if CARD_REPEAT_HISTO
 728   gclog_or_tty->print_cr("\nG1 card_repeat count histogram: ");