771 _conc_refine_cards++;
772
773 return update_rs_cl->has_refs_into_cset();
774 }
775
776 void G1RemSet::print_periodic_summary_info(const char* header, uint period_count) {
777 if ((G1SummarizeRSetStatsPeriod > 0) && log_is_enabled(Trace, gc, remset) &&
778 (period_count % G1SummarizeRSetStatsPeriod == 0)) {
779
780 if (!_prev_period_summary.initialized()) {
781 _prev_period_summary.initialize(this);
782 }
783
784 G1RemSetSummary current;
785 current.initialize(this);
786 _prev_period_summary.subtract_from(¤t);
787
788 Log(gc, remset) log;
789 log.trace("%s", header);
790 ResourceMark rm;
791 _prev_period_summary.print_on(log.trace_stream());
792
793 _prev_period_summary.set(¤t);
794 }
795 }
796
797 void G1RemSet::print_summary_info() {
798 Log(gc, remset, exit) log;
799 if (log.is_trace()) {
800 log.trace(" Cumulative RS summary");
801 G1RemSetSummary current;
802 current.initialize(this);
803 ResourceMark rm;
804 current.print_on(log.trace_stream());
805 }
806 }
807
808 void G1RemSet::prepare_for_verify() {
809 if (G1HRRSFlushLogBuffersOnVerify &&
810 (VerifyBeforeGC || VerifyAfterGC)
811 && (!_g1->collector_state()->full_collection() || G1VerifyRSetsDuringFullGC)) {
812 cleanupHRRS();
813 _g1->set_refine_cte_cl_concurrency(false);
814 if (SafepointSynchronize::is_at_safepoint()) {
815 DirtyCardQueueSet& dcqs = JavaThread::dirty_card_queue_set();
816 dcqs.concatenate_logs();
817 }
818
819 bool use_hot_card_cache = _hot_card_cache->use_cache();
820 _hot_card_cache->set_use_cache(false);
821
822 DirtyCardQueue into_cset_dcq(&_into_cset_dirty_card_queue_set);
823 update_rem_set(&into_cset_dcq, NULL, 0);
824 _into_cset_dirty_card_queue_set.clear();
|
771 _conc_refine_cards++;
772
773 return update_rs_cl->has_refs_into_cset();
774 }
775
776 void G1RemSet::print_periodic_summary_info(const char* header, uint period_count) {
777 if ((G1SummarizeRSetStatsPeriod > 0) && log_is_enabled(Trace, gc, remset) &&
778 (period_count % G1SummarizeRSetStatsPeriod == 0)) {
779
780 if (!_prev_period_summary.initialized()) {
781 _prev_period_summary.initialize(this);
782 }
783
784 G1RemSetSummary current;
785 current.initialize(this);
786 _prev_period_summary.subtract_from(¤t);
787
788 Log(gc, remset) log;
789 log.trace("%s", header);
790 ResourceMark rm;
791 LogStream ls(log.trace());
792 _prev_period_summary.print_on(&ls);
793
794 _prev_period_summary.set(¤t);
795 }
796 }
797
798 void G1RemSet::print_summary_info() {
799 Log(gc, remset, exit) log;
800 if (log.is_trace()) {
801 log.trace(" Cumulative RS summary");
802 G1RemSetSummary current;
803 current.initialize(this);
804 ResourceMark rm;
805 LogStream ls(log.trace());
806 current.print_on(&ls);
807 }
808 }
809
810 void G1RemSet::prepare_for_verify() {
811 if (G1HRRSFlushLogBuffersOnVerify &&
812 (VerifyBeforeGC || VerifyAfterGC)
813 && (!_g1->collector_state()->full_collection() || G1VerifyRSetsDuringFullGC)) {
814 cleanupHRRS();
815 _g1->set_refine_cte_cl_concurrency(false);
816 if (SafepointSynchronize::is_at_safepoint()) {
817 DirtyCardQueueSet& dcqs = JavaThread::dirty_card_queue_set();
818 dcqs.concatenate_logs();
819 }
820
821 bool use_hot_card_cache = _hot_card_cache->use_cache();
822 _hot_card_cache->set_use_cache(false);
823
824 DirtyCardQueue into_cset_dcq(&_into_cset_dirty_card_queue_set);
825 update_rem_set(&into_cset_dcq, NULL, 0);
826 _into_cset_dirty_card_queue_set.clear();
|