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();
825
826 _hot_card_cache->set_use_cache(use_hot_card_cache);
827 assert(JavaThread::dirty_card_queue_set().completed_buffers_num() == 0, "All should be consumed");
828 }
829 }
830
831 void G1RemSet::create_card_live_data(WorkGang* workers, G1CMBitMap* mark_bitmap) {
832 _card_live_data.create(workers, mark_bitmap);
833 }
834
835 void G1RemSet::finalize_card_live_data(WorkGang* workers, G1CMBitMap* mark_bitmap) {
836 _card_live_data.finalize(workers, mark_bitmap);
837 }
838
839 void G1RemSet::verify_card_live_data(WorkGang* workers, G1CMBitMap* bitmap) {
840 _card_live_data.verify(workers, bitmap);
841 }
842
843 void G1RemSet::clear_card_live_data(WorkGang* workers) {
844 _card_live_data.clear(workers);
845 }
846
847 #ifdef ASSERT
848 void G1RemSet::verify_card_live_data_is_clear() {
849 _card_live_data.verify_is_clear();
850 }
|
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::create_card_live_data(WorkGang* workers, G1CMBitMap* mark_bitmap) {
809 _card_live_data.create(workers, mark_bitmap);
810 }
811
812 void G1RemSet::finalize_card_live_data(WorkGang* workers, G1CMBitMap* mark_bitmap) {
813 _card_live_data.finalize(workers, mark_bitmap);
814 }
815
816 void G1RemSet::verify_card_live_data(WorkGang* workers, G1CMBitMap* bitmap) {
817 _card_live_data.verify(workers, bitmap);
818 }
819
820 void G1RemSet::clear_card_live_data(WorkGang* workers) {
821 _card_live_data.clear(workers);
822 }
823
824 #ifdef ASSERT
825 void G1RemSet::verify_card_live_data_is_clear() {
826 _card_live_data.verify_is_clear();
827 }
|