207 _young_other_cost_per_region_ms_seq->add(other_cost_per_region_ms);
208 }
209
210 void G1Analytics::report_non_young_other_cost_per_region_ms(double other_cost_per_region_ms) {
211 _non_young_other_cost_per_region_ms_seq->add(other_cost_per_region_ms);
212 }
213
214 void G1Analytics::report_constant_other_time_ms(double constant_other_time_ms) {
215 _constant_other_time_ms_seq->add(constant_other_time_ms);
216 }
217
218 void G1Analytics::report_pending_cards(double pending_cards) {
219 _pending_cards_seq->add(pending_cards);
220 }
221
222 void G1Analytics::report_rs_length(double rs_length) {
223 _rs_length_seq->add(rs_length);
224 }
225
226 double G1Analytics::predict_alloc_rate_ms() const {
227 if (!enough_samples_available(_alloc_rate_ms_seq)) {
228 return predict_zero_bounded(_alloc_rate_ms_seq);
229 } else {
230 return 0.0;
231 }
232 }
233
234 double G1Analytics::predict_concurrent_refine_rate_ms() const {
235 return predict_zero_bounded(_concurrent_refine_rate_ms_seq);
236 }
237
238 double G1Analytics::predict_dirtied_cards_rate_ms() const {
239 return predict_zero_bounded(_dirtied_cards_rate_ms_seq);
240 }
241
242 double G1Analytics::predict_young_card_merge_to_scan_ratio() const {
243 return predict_in_unit_interval(_young_card_merge_to_scan_ratio_seq);
244 }
245
246 size_t G1Analytics::predict_scan_card_num(size_t rs_length, bool for_young_gc) const {
247 if (for_young_gc || !enough_samples_available(_mixed_card_merge_to_scan_ratio_seq)) {
|
207 _young_other_cost_per_region_ms_seq->add(other_cost_per_region_ms);
208 }
209
210 void G1Analytics::report_non_young_other_cost_per_region_ms(double other_cost_per_region_ms) {
211 _non_young_other_cost_per_region_ms_seq->add(other_cost_per_region_ms);
212 }
213
214 void G1Analytics::report_constant_other_time_ms(double constant_other_time_ms) {
215 _constant_other_time_ms_seq->add(constant_other_time_ms);
216 }
217
218 void G1Analytics::report_pending_cards(double pending_cards) {
219 _pending_cards_seq->add(pending_cards);
220 }
221
222 void G1Analytics::report_rs_length(double rs_length) {
223 _rs_length_seq->add(rs_length);
224 }
225
226 double G1Analytics::predict_alloc_rate_ms() const {
227 if (enough_samples_available(_alloc_rate_ms_seq)) {
228 return predict_zero_bounded(_alloc_rate_ms_seq);
229 } else {
230 return 0.0;
231 }
232 }
233
234 double G1Analytics::predict_concurrent_refine_rate_ms() const {
235 return predict_zero_bounded(_concurrent_refine_rate_ms_seq);
236 }
237
238 double G1Analytics::predict_dirtied_cards_rate_ms() const {
239 return predict_zero_bounded(_dirtied_cards_rate_ms_seq);
240 }
241
242 double G1Analytics::predict_young_card_merge_to_scan_ratio() const {
243 return predict_in_unit_interval(_young_card_merge_to_scan_ratio_seq);
244 }
245
246 size_t G1Analytics::predict_scan_card_num(size_t rs_length, bool for_young_gc) const {
247 if (for_young_gc || !enough_samples_available(_mixed_card_merge_to_scan_ratio_seq)) {
|