G1BarrierSet_merge
27 #include "gc/g1/dirtyCardQueue.hpp"
28 #include "gc/g1/g1CardLiveData.hpp"
29 #include "gc/g1/g1CardTable.hpp"
30 #include "gc/g1/g1RemSetSummary.hpp"
31 #include "gc/g1/heapRegion.hpp"
32 #include "memory/allocation.hpp"
33 #include "memory/iterator.hpp"
34
35 // A G1RemSet provides ways of iterating over pointers into a selected
36 // collection set.
37
38 class BitMap;
39 class CardTableModRefBS;
40 class G1BlockOffsetTable;
41 class CodeBlobClosure;
42 class G1CollectedHeap;
43 class G1HotCardCache;
44 class G1RemSetScanState;
45 class G1ParScanThreadState;
46 class G1Policy;
47 class G1SATBCardTableModRefBS;
48 class G1ScanObjsDuringScanRSClosure;
49 class G1ScanObjsDuringUpdateRSClosure;
50 class HeapRegionClaimer;
51
52 // A G1RemSet in which each heap region has a rem set that records the
53 // external heap references into it. Uses a mod ref bs to track updates,
54 // so that they can be used to update the individual region remsets.
55 class G1RemSet: public CHeapObj<mtGC> {
56 private:
57 G1RemSetScanState* _scan_state;
58 G1CardLiveData _card_live_data;
59
60 G1RemSetSummary _prev_period_summary;
61
62 // Scan all remembered sets of the collection set for references into the collection
63 // set.
64 void scan_rem_set(G1ParScanThreadState* pss,
65 CodeBlobClosure* heap_region_codeblobs,
66 uint worker_i);
|
27 #include "gc/g1/dirtyCardQueue.hpp" 28 #include "gc/g1/g1CardLiveData.hpp" 29 #include "gc/g1/g1CardTable.hpp" 30 #include "gc/g1/g1RemSetSummary.hpp" 31 #include "gc/g1/heapRegion.hpp" 32 #include "memory/allocation.hpp" 33 #include "memory/iterator.hpp" 34 35 // A G1RemSet provides ways of iterating over pointers into a selected 36 // collection set. 37 38 class BitMap; 39 class CardTableModRefBS; 40 class G1BlockOffsetTable; 41 class CodeBlobClosure; 42 class G1CollectedHeap; 43 class G1HotCardCache; 44 class G1RemSetScanState; 45 class G1ParScanThreadState; 46 class G1Policy; 47 class G1ScanObjsDuringScanRSClosure; 48 class G1ScanObjsDuringUpdateRSClosure; 49 class HeapRegionClaimer; 50 51 // A G1RemSet in which each heap region has a rem set that records the 52 // external heap references into it. Uses a mod ref bs to track updates, 53 // so that they can be used to update the individual region remsets. 54 class G1RemSet: public CHeapObj<mtGC> { 55 private: 56 G1RemSetScanState* _scan_state; 57 G1CardLiveData _card_live_data; 58 59 G1RemSetSummary _prev_period_summary; 60 61 // Scan all remembered sets of the collection set for references into the collection 62 // set. 63 void scan_rem_set(G1ParScanThreadState* pss, 64 CodeBlobClosure* heap_region_codeblobs, 65 uint worker_i); |