24 25 #ifndef SHARE_VM_GC_G1_G1REMSET_HPP 26 #define SHARE_VM_GC_G1_G1REMSET_HPP 27 28 #include "gc/g1/g1RemSetSummary.hpp" 29 30 // A G1RemSet provides ways of iterating over pointers into a selected 31 // collection set. 32 33 class G1CollectedHeap; 34 class ConcurrentG1Refine; 35 class G1ParPushHeapRSClosure; 36 37 // A G1RemSet in which each heap region has a rem set that records the 38 // external heap references into it. Uses a mod ref bs to track updates, 39 // so that they can be used to update the individual region remsets. 40 41 class G1RemSet: public CHeapObj<mtGC> { 42 private: 43 G1RemSetSummary _prev_period_summary; 44 protected: 45 G1CollectedHeap* _g1; 46 size_t _conc_refine_cards; 47 uint n_workers(); 48 49 protected: 50 enum SomePrivateConstants { 51 UpdateRStoMergeSync = 0, 52 MergeRStoDoDirtySync = 1, 53 DoDirtySync = 2, 54 LastSync = 3, 55 56 SeqTask = 0, 57 NumSeqTasks = 1 58 }; 59 60 CardTableModRefBS* _ct_bs; 61 G1CollectorPolicy* _g1p; 62 63 ConcurrentG1Refine* _cg1r; | 24 25 #ifndef SHARE_VM_GC_G1_G1REMSET_HPP 26 #define SHARE_VM_GC_G1_G1REMSET_HPP 27 28 #include "gc/g1/g1RemSetSummary.hpp" 29 30 // A G1RemSet provides ways of iterating over pointers into a selected 31 // collection set. 32 33 class G1CollectedHeap; 34 class ConcurrentG1Refine; 35 class G1ParPushHeapRSClosure; 36 37 // A G1RemSet in which each heap region has a rem set that records the 38 // external heap references into it. Uses a mod ref bs to track updates, 39 // so that they can be used to update the individual region remsets. 40 41 class G1RemSet: public CHeapObj<mtGC> { 42 private: 43 G1RemSetSummary _prev_period_summary; 44 45 // A DirtyCardQueueSet that is used to hold cards that contain 46 // references into the current collection set. This is used to 47 // update the remembered sets of the regions in the collection 48 // set in the event of an evacuation failure. 49 DirtyCardQueueSet _into_cset_dirty_card_queue_set; 50 51 protected: 52 G1CollectedHeap* _g1; 53 size_t _conc_refine_cards; 54 uint n_workers(); 55 56 protected: 57 enum SomePrivateConstants { 58 UpdateRStoMergeSync = 0, 59 MergeRStoDoDirtySync = 1, 60 DoDirtySync = 2, 61 LastSync = 3, 62 63 SeqTask = 0, 64 NumSeqTasks = 1 65 }; 66 67 CardTableModRefBS* _ct_bs; 68 G1CollectorPolicy* _g1p; 69 70 ConcurrentG1Refine* _cg1r; |