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
820 // the "i" of the calling parallel worker thread's work(i) function.
821 // In the sequential case this param will be ignored.
822 void g1_process_roots(OopClosure* scan_non_heap_roots,
823 OopClosure* scan_non_heap_weak_roots,
824 OopsInHeapRegionClosure* scan_rs,
825 CLDClosure* scan_strong_clds,
826 CLDClosure* scan_weak_clds,
827 CodeBlobClosure* scan_strong_code,
828 uint worker_i);
829
830 // The concurrent marker (and the thread it runs in.)
831 ConcurrentMark* _cm;
832 ConcurrentMarkThread* _cmThread;
833 bool _mark_in_progress;
834
835 // The concurrent refiner.
836 ConcurrentG1Refine* _cg1r;
837
838 // The parallel task queues
839 RefToScanQueueSet *_task_queues;
840
841 // True iff a evacuation has failed in the current collection.
842 bool _evacuation_failed;
843
844 EvacuationFailedInfo* _evacuation_failed_info_array;
|
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
820 // the "i" of the calling parallel worker thread's work(i) function.
821 // In the sequential case this param will be ignored.
822 void g1_process_roots(OopClosure* scan_non_heap_roots,
823 OopClosure* scan_non_heap_weak_roots,
824 G1ParPushHeapRSClosure* scan_rs,
825 CLDClosure* scan_strong_clds,
826 CLDClosure* scan_weak_clds,
827 CodeBlobClosure* scan_strong_code,
828 uint worker_i);
829
830 // The concurrent marker (and the thread it runs in.)
831 ConcurrentMark* _cm;
832 ConcurrentMarkThread* _cmThread;
833 bool _mark_in_progress;
834
835 // The concurrent refiner.
836 ConcurrentG1Refine* _cg1r;
837
838 // The parallel task queues
839 RefToScanQueueSet *_task_queues;
840
841 // True iff a evacuation has failed in the current collection.
842 bool _evacuation_failed;
843
844 EvacuationFailedInfo* _evacuation_failed_info_array;
|