780 GCCause::Cause gc_cause);
781
782 // The guts of the incremental collection pause, executed by the vm
783 // thread. It returns false if it is unable to do the collection due
784 // to the GC locker being active, true otherwise
785 bool do_collection_pause_at_safepoint(double target_pause_time_ms);
786
787 // Actually do the work of evacuating the collection set.
788 void evacuate_collection_set(EvacuationInfo& evacuation_info);
789
790 // The g1 remembered set of the heap.
791 G1RemSet* _g1_rem_set;
792
793 // A set of cards that cover the objects for which the Rsets should be updated
794 // concurrently after the collection.
795 DirtyCardQueueSet _dirty_card_queue_set;
796
797 // The closure used to refine a single card.
798 RefineCardTableEntryClosure* _refine_cte_cl;
799
800 // A function to check the consistency of dirty card logs.
801 void check_ct_logs_at_safepoint();
802
803 // A DirtyCardQueueSet that is used to hold cards that contain
804 // references into the current collection set. This is used to
805 // update the remembered sets of the regions in the collection
806 // set in the event of an evacuation failure.
807 DirtyCardQueueSet _into_cset_dirty_card_queue_set;
808
809 // After a collection pause, make the regions in the CS into free
810 // regions.
811 void free_collection_set(HeapRegion* cs_head, EvacuationInfo& evacuation_info);
812
813 // Abandon the current collection set without recording policy
814 // statistics or updating free lists.
815 void abandon_collection_set(HeapRegion* cs_head);
816
817 // Applies "scan_non_heap_roots" to roots outside the heap,
818 // "scan_rs" to roots inside the heap (having done "set_region" to
819 // indicate the region in which the root resides),
820 // and does "scan_metadata" If "scan_rs" is
821 // NULL, then this step is skipped. The "worker_i"
822 // param is for use with parallel roots processing, and should be
|
780 GCCause::Cause gc_cause);
781
782 // The guts of the incremental collection pause, executed by the vm
783 // thread. It returns false if it is unable to do the collection due
784 // to the GC locker being active, true otherwise
785 bool do_collection_pause_at_safepoint(double target_pause_time_ms);
786
787 // Actually do the work of evacuating the collection set.
788 void evacuate_collection_set(EvacuationInfo& evacuation_info);
789
790 // The g1 remembered set of the heap.
791 G1RemSet* _g1_rem_set;
792
793 // A set of cards that cover the objects for which the Rsets should be updated
794 // concurrently after the collection.
795 DirtyCardQueueSet _dirty_card_queue_set;
796
797 // The closure used to refine a single card.
798 RefineCardTableEntryClosure* _refine_cte_cl;
799
800 // A DirtyCardQueueSet that is used to hold cards that contain
801 // references into the current collection set. This is used to
802 // update the remembered sets of the regions in the collection
803 // set in the event of an evacuation failure.
804 DirtyCardQueueSet _into_cset_dirty_card_queue_set;
805
806 // After a collection pause, make the regions in the CS into free
807 // regions.
808 void free_collection_set(HeapRegion* cs_head, EvacuationInfo& evacuation_info);
809
810 // Abandon the current collection set without recording policy
811 // statistics or updating free lists.
812 void abandon_collection_set(HeapRegion* cs_head);
813
814 // Applies "scan_non_heap_roots" to roots outside the heap,
815 // "scan_rs" to roots inside the heap (having done "set_region" to
816 // indicate the region in which the root resides),
817 // and does "scan_metadata" If "scan_rs" is
818 // NULL, then this step is skipped. The "worker_i"
819 // param is for use with parallel roots processing, and should be
|