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

Print this page




 714         JavaThread::dirty_card_queue_set().shared_dirty_card_queue();
 715       sdcq->enqueue(card_ptr);
 716     }
 717   } else {
 718     _conc_refine_cards++;
 719   }
 720 
 721   // This gets set to true if the card being refined has
 722   // references that point into the collection set.
 723   bool has_refs_into_cset = trigger_cl.triggered();
 724 
 725   // We should only be detecting that the card contains references
 726   // that point into the collection set if the current thread is
 727   // a GC worker thread.
 728   assert(!has_refs_into_cset || SafepointSynchronize::is_at_safepoint(),
 729            "invalid result at non safepoint");
 730 
 731   return has_refs_into_cset;
 732 }
 733 
 734 void G1RemSet::print_periodic_summary_info() {
 735   G1RemSetSummary current;
 736   current.initialize(this, n_workers());
 737 
 738   _prev_period_summary.subtract_from(&current);
 739   print_summary_info(&_prev_period_summary);
 740 
 741   _prev_period_summary.set(&current);
 742 }
 743 
 744 void G1RemSet::print_summary_info() {
 745   G1RemSetSummary current;
 746   current.initialize(this, n_workers());
 747 
 748   print_summary_info(&current, " Cumulative RS summary");
 749 }
 750 
 751 void G1RemSet::print_summary_info(G1RemSetSummary * summary, const char * header) {
 752   assert(summary != NULL, "just checking");
 753 
 754   if (header != NULL) {
 755     gclog_or_tty->print_cr("%s", header);
 756   }
 757 
 758 #if CARD_REPEAT_HISTO
 759   gclog_or_tty->print_cr("\nG1 card_repeat count histogram: ");




 714         JavaThread::dirty_card_queue_set().shared_dirty_card_queue();
 715       sdcq->enqueue(card_ptr);
 716     }
 717   } else {
 718     _conc_refine_cards++;
 719   }
 720 
 721   // This gets set to true if the card being refined has
 722   // references that point into the collection set.
 723   bool has_refs_into_cset = trigger_cl.triggered();
 724 
 725   // We should only be detecting that the card contains references
 726   // that point into the collection set if the current thread is
 727   // a GC worker thread.
 728   assert(!has_refs_into_cset || SafepointSynchronize::is_at_safepoint(),
 729            "invalid result at non safepoint");
 730 
 731   return has_refs_into_cset;
 732 }
 733 
 734 void G1RemSet::print_periodic_summary_info(const char* header) {
 735   G1RemSetSummary current;
 736   current.initialize(this, n_workers());
 737 
 738   _prev_period_summary.subtract_from(&current);
 739   print_summary_info(&_prev_period_summary, header);
 740 
 741   _prev_period_summary.set(&current);
 742 }
 743 
 744 void G1RemSet::print_summary_info() {
 745   G1RemSetSummary current;
 746   current.initialize(this, n_workers());
 747 
 748   print_summary_info(&current, " Cumulative RS summary");
 749 }
 750 
 751 void G1RemSet::print_summary_info(G1RemSetSummary * summary, const char * header) {
 752   assert(summary != NULL, "just checking");
 753 
 754   if (header != NULL) {
 755     gclog_or_tty->print_cr("%s", header);
 756   }
 757 
 758 #if CARD_REPEAT_HISTO
 759   gclog_or_tty->print_cr("\nG1 card_repeat count histogram: ");