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(¤t);
708 print_summary_info(&_prev_period_summary);
709
710 _prev_period_summary.set(¤t);
711 }
712
713 void G1RemSet::print_summary_info() {
714 G1RemSetSummary current;
715 current.initialize(this, n_workers());
716
717 print_summary_info(¤t, " 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(¤t);
708 print_summary_info(&_prev_period_summary, header);
709
710 _prev_period_summary.set(¤t);
711 }
712
713 void G1RemSet::print_summary_info() {
714 G1RemSetSummary current;
715 current.initialize(this, n_workers());
716
717 print_summary_info(¤t, " 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: ");
|