< prev index next >

src/hotspot/share/gc/g1/survRateGroup.cpp

Print this page
rev 56997 : [mq]: 8227434-g1-predictions-overflow


  99 void SurvRateGroup::all_surviving_words_recorded(const G1Predictions& predictor, bool update_predictors) {
 100   if (update_predictors) {
 101     fill_in_last_surv_rates();
 102   }
 103   finalize_predictions(predictor);
 104 }
 105 
 106 void SurvRateGroup::fill_in_last_surv_rates() {
 107   if (_region_num > 0) { // conservative
 108     double surv_rate = _surv_rate_pred[_region_num-1]->last();
 109     for (size_t i = _region_num; i < _stats_arrays_length; ++i) {
 110       _surv_rate_pred[i]->add(surv_rate);
 111     }
 112   }
 113 }
 114 
 115 void SurvRateGroup::finalize_predictions(const G1Predictions& predictor) {
 116   double accum = 0.0;
 117   double pred = 0.0;
 118   for (size_t i = 0; i < _stats_arrays_length; ++i) {
 119     pred = predictor.get_new_prediction(_surv_rate_pred[i]);
 120     if (pred > 1.0) pred = 1.0;
 121     accum += pred;
 122     _accum_surv_rate_pred[i] = accum;
 123   }
 124   _last_pred = pred;
 125 }


  99 void SurvRateGroup::all_surviving_words_recorded(const G1Predictions& predictor, bool update_predictors) {
 100   if (update_predictors) {
 101     fill_in_last_surv_rates();
 102   }
 103   finalize_predictions(predictor);
 104 }
 105 
 106 void SurvRateGroup::fill_in_last_surv_rates() {
 107   if (_region_num > 0) { // conservative
 108     double surv_rate = _surv_rate_pred[_region_num-1]->last();
 109     for (size_t i = _region_num; i < _stats_arrays_length; ++i) {
 110       _surv_rate_pred[i]->add(surv_rate);
 111     }
 112   }
 113 }
 114 
 115 void SurvRateGroup::finalize_predictions(const G1Predictions& predictor) {
 116   double accum = 0.0;
 117   double pred = 0.0;
 118   for (size_t i = 0; i < _stats_arrays_length; ++i) {
 119     pred = predictor.get_new_unit_prediction(_surv_rate_pred[i]);

 120     accum += pred;
 121     _accum_surv_rate_pred[i] = accum;
 122   }
 123   _last_pred = pred;
 124 }
< prev index next >