37 // collection. It has two generations, young and old.
38 class GenCollectedHeap : public CollectedHeap {
39 friend class GenCollectorPolicy;
40 friend class Generation;
41 friend class DefNewGeneration;
42 friend class TenuredGeneration;
43 friend class ConcurrentMarkSweepGeneration;
44 friend class CMSCollector;
45 friend class GenMarkSweep;
46 friend class VM_GenCollectForAllocation;
47 friend class VM_GenCollectFull;
48 friend class VM_GenCollectFullConcurrent;
49 friend class VM_GC_HeapInspection;
50 friend class VM_HeapDumper;
51 friend class HeapInspection;
52 friend class GCCauseSetter;
53 friend class VMStructs;
54 public:
55 friend class VM_PopulateDumpSharedSpace;
56
57 protected:
58 // Fields:
59 static GenCollectedHeap* _gch;
60
61 private:
62 Generation* _young_gen;
63 Generation* _old_gen;
64
65 // The singleton Gen Remembered Set.
66 GenRemSet* _rem_set;
67
68 // The generational collector policy.
69 GenCollectorPolicy* _gen_policy;
70
71 // Indicates that the most recent previous incremental collection failed.
72 // The flag is cleared when an action is taken that might clear the
73 // condition that caused that incremental collection to fail.
74 bool _incremental_collection_failed;
75
76 // In support of ExplicitGCInvokesConcurrent functionality
77 unsigned int _full_collections_completed;
78
79 // Data structure for claiming the (potentially) parallel tasks in
80 // (gen-specific) roots processing.
81 SubTasksDone* _process_strong_tasks;
|
37 // collection. It has two generations, young and old.
38 class GenCollectedHeap : public CollectedHeap {
39 friend class GenCollectorPolicy;
40 friend class Generation;
41 friend class DefNewGeneration;
42 friend class TenuredGeneration;
43 friend class ConcurrentMarkSweepGeneration;
44 friend class CMSCollector;
45 friend class GenMarkSweep;
46 friend class VM_GenCollectForAllocation;
47 friend class VM_GenCollectFull;
48 friend class VM_GenCollectFullConcurrent;
49 friend class VM_GC_HeapInspection;
50 friend class VM_HeapDumper;
51 friend class HeapInspection;
52 friend class GCCauseSetter;
53 friend class VMStructs;
54 public:
55 friend class VM_PopulateDumpSharedSpace;
56
57 private:
58 Generation* _young_gen;
59 Generation* _old_gen;
60
61 // The singleton Gen Remembered Set.
62 GenRemSet* _rem_set;
63
64 // The generational collector policy.
65 GenCollectorPolicy* _gen_policy;
66
67 // Indicates that the most recent previous incremental collection failed.
68 // The flag is cleared when an action is taken that might clear the
69 // condition that caused that incremental collection to fail.
70 bool _incremental_collection_failed;
71
72 // In support of ExplicitGCInvokesConcurrent functionality
73 unsigned int _full_collections_completed;
74
75 // Data structure for claiming the (potentially) parallel tasks in
76 // (gen-specific) roots processing.
77 SubTasksDone* _process_strong_tasks;
|