137 |
137 |
138 _eden_cset_region_length(0), |
138 _eden_cset_region_length(0), |
139 _survivor_cset_region_length(0), |
139 _survivor_cset_region_length(0), |
140 _old_cset_region_length(0), |
140 _old_cset_region_length(0), |
141 |
141 |
|
142 _sigma(G1ConfidencePercent / 100.0), |
|
143 |
142 _collection_set(NULL), |
144 _collection_set(NULL), |
143 _collection_set_bytes_used_before(0), |
145 _collection_set_bytes_used_before(0), |
144 |
146 |
145 // Incremental CSet attributes |
147 // Incremental CSet attributes |
146 _inc_cset_build_state(Inactive), |
148 _inc_cset_build_state(Inactive), |
159 _recorded_survivor_tail(NULL), |
161 _recorded_survivor_tail(NULL), |
160 _survivors_age_table(true), |
162 _survivors_age_table(true), |
161 |
163 |
162 _gc_overhead_perc(0.0) { |
164 _gc_overhead_perc(0.0) { |
163 |
165 |
164 uintx confidence_perc = G1ConfidencePercent; |
166 // SurvRateGroups below must be initialized after '_sigma' because they |
165 // Put an artificial ceiling on this so that it's not set to a silly value. |
167 // indirectly access '_sigma' through this object passed to their constructor. |
166 if (confidence_perc > 100) { |
|
167 confidence_perc = 100; |
|
168 warning("G1ConfidencePercent is set to a value that is too large, " |
|
169 "it's been updated to %u", confidence_perc); |
|
170 } |
|
171 // '_sigma' must be initialized before the SurvRateGroups below because they |
|
172 // indirecty access '_sigma' trough the 'this' pointer in their constructor. |
|
173 _sigma = (double) confidence_perc / 100.0; |
|
174 |
|
175 _short_lived_surv_rate_group = |
168 _short_lived_surv_rate_group = |
176 new SurvRateGroup(this, "Short Lived", G1YoungSurvRateNumRegionsSummary); |
169 new SurvRateGroup(this, "Short Lived", G1YoungSurvRateNumRegionsSummary); |
177 _survivor_surv_rate_group = |
170 _survivor_surv_rate_group = |
178 new SurvRateGroup(this, "Survivor", G1YoungSurvRateNumRegionsSummary); |
171 new SurvRateGroup(this, "Survivor", G1YoungSurvRateNumRegionsSummary); |
179 |
172 |