38 class CollectionSetChooser; |
38 class CollectionSetChooser; |
39 |
39 |
40 // TraceGen0Time collects data on _both_ young and mixed evacuation pauses |
40 // TraceGen0Time collects data on _both_ young and mixed evacuation pauses |
41 // (the latter may contain non-young regions - i.e. regions that are |
41 // (the latter may contain non-young regions - i.e. regions that are |
42 // technically in Gen1) while TraceGen1Time collects data about full GCs. |
42 // technically in Gen1) while TraceGen1Time collects data about full GCs. |
43 class TraceGen0TimeData : public CHeapObj { |
43 class TraceGen0TimeData : public CHeapObj<mtGC> { |
44 private: |
44 private: |
45 unsigned _young_pause_num; |
45 unsigned _young_pause_num; |
46 unsigned _mixed_pause_num; |
46 unsigned _mixed_pause_num; |
47 |
47 |
48 NumberSeq _all_stop_world_times_ms; |
48 NumberSeq _all_stop_world_times_ms; |
84 void increment_young_collection_count(); |
84 void increment_young_collection_count(); |
85 void increment_mixed_collection_count(); |
85 void increment_mixed_collection_count(); |
86 void print() const; |
86 void print() const; |
87 }; |
87 }; |
88 |
88 |
89 class TraceGen1TimeData : public CHeapObj { |
89 class TraceGen1TimeData : public CHeapObj<mtGC> { |
90 private: |
90 private: |
91 NumberSeq _all_full_gc_times; |
91 NumberSeq _all_full_gc_times; |
92 |
92 |
93 public: |
93 public: |
94 void record_full_collection(double full_gc_time_ms); |
94 void record_full_collection(double full_gc_time_ms); |
129 // NewSize==MaxNewSize case above. But we will update the min and max |
129 // NewSize==MaxNewSize case above. But we will update the min and max |
130 // everytime the heap size changes. |
130 // everytime the heap size changes. |
131 // |
131 // |
132 // NewSize and MaxNewSize override NewRatio. So, NewRatio is ignored if it is |
132 // NewSize and MaxNewSize override NewRatio. So, NewRatio is ignored if it is |
133 // combined with either NewSize or MaxNewSize. (A warning message is printed.) |
133 // combined with either NewSize or MaxNewSize. (A warning message is printed.) |
134 class G1YoungGenSizer : public CHeapObj { |
134 class G1YoungGenSizer : public CHeapObj<mtGC> { |
135 private: |
135 private: |
136 enum SizerKind { |
136 enum SizerKind { |
137 SizerDefaults, |
137 SizerDefaults, |
138 SizerNewSizeOnly, |
138 SizerNewSizeOnly, |
139 SizerMaxNewSizeOnly, |
139 SizerMaxNewSizeOnly, |