788 DirtyCardQueueSet _into_cset_dirty_card_queue_set;
789
790 // After a collection pause, make the regions in the CS into free
791 // regions.
792 void free_collection_set(HeapRegion* cs_head, EvacuationInfo& evacuation_info);
793
794 // Abandon the current collection set without recording policy
795 // statistics or updating free lists.
796 void abandon_collection_set(HeapRegion* cs_head);
797
798 // Applies "scan_non_heap_roots" to roots outside the heap,
799 // "scan_rs" to roots inside the heap (having done "set_region" to
800 // indicate the region in which the root resides),
801 // and does "scan_metadata" If "scan_rs" is
802 // NULL, then this step is skipped. The "worker_i"
803 // param is for use with parallel roots processing, and should be
804 // the "i" of the calling parallel worker thread's work(i) function.
805 // In the sequential case this param will be ignored.
806 void g1_process_roots(OopClosure* scan_non_heap_roots,
807 OopClosure* scan_non_heap_weak_roots,
808 OopsInHeapRegionClosure* scan_rs,
809 CLDClosure* scan_strong_clds,
810 CLDClosure* scan_weak_clds,
811 CodeBlobClosure* scan_strong_code,
812 uint worker_i);
813
814 // The concurrent marker (and the thread it runs in.)
815 ConcurrentMark* _cm;
816 ConcurrentMarkThread* _cmThread;
817 bool _mark_in_progress;
818
819 // The concurrent refiner.
820 ConcurrentG1Refine* _cg1r;
821
822 // The parallel task queues
823 RefToScanQueueSet *_task_queues;
824
825 // True iff a evacuation has failed in the current collection.
826 bool _evacuation_failed;
827
828 EvacuationFailedInfo* _evacuation_failed_info_array;
|
788 DirtyCardQueueSet _into_cset_dirty_card_queue_set;
789
790 // After a collection pause, make the regions in the CS into free
791 // regions.
792 void free_collection_set(HeapRegion* cs_head, EvacuationInfo& evacuation_info);
793
794 // Abandon the current collection set without recording policy
795 // statistics or updating free lists.
796 void abandon_collection_set(HeapRegion* cs_head);
797
798 // Applies "scan_non_heap_roots" to roots outside the heap,
799 // "scan_rs" to roots inside the heap (having done "set_region" to
800 // indicate the region in which the root resides),
801 // and does "scan_metadata" If "scan_rs" is
802 // NULL, then this step is skipped. The "worker_i"
803 // param is for use with parallel roots processing, and should be
804 // the "i" of the calling parallel worker thread's work(i) function.
805 // In the sequential case this param will be ignored.
806 void g1_process_roots(OopClosure* scan_non_heap_roots,
807 OopClosure* scan_non_heap_weak_roots,
808 G1ParPushHeapRSClosure* scan_rs,
809 CLDClosure* scan_strong_clds,
810 CLDClosure* scan_weak_clds,
811 CodeBlobClosure* scan_strong_code,
812 uint worker_i);
813
814 // The concurrent marker (and the thread it runs in.)
815 ConcurrentMark* _cm;
816 ConcurrentMarkThread* _cmThread;
817 bool _mark_in_progress;
818
819 // The concurrent refiner.
820 ConcurrentG1Refine* _cg1r;
821
822 // The parallel task queues
823 RefToScanQueueSet *_task_queues;
824
825 // True iff a evacuation has failed in the current collection.
826 bool _evacuation_failed;
827
828 EvacuationFailedInfo* _evacuation_failed_info_array;
|