114 float old_rate = _demand_rate_estimate.padded_average(); |
114 float old_rate = _demand_rate_estimate.padded_average(); |
115 float rate = ((float)demand)/inter_sweep_current; |
115 float rate = ((float)demand)/inter_sweep_current; |
116 _demand_rate_estimate.sample(rate); |
116 _demand_rate_estimate.sample(rate); |
117 float new_rate = _demand_rate_estimate.padded_average(); |
117 float new_rate = _demand_rate_estimate.padded_average(); |
118 ssize_t old_desired = _desired; |
118 ssize_t old_desired = _desired; |
119 _desired = (ssize_t)(new_rate * (inter_sweep_estimate |
119 float delta_ise = (CMSExtrapolateSweep ? intra_sweep_estimate : 0.0); |
120 + CMSExtrapolateSweep |
120 _desired = (ssize_t)(new_rate * (inter_sweep_estimate + delta_ise)); |
121 ? intra_sweep_estimate |
|
122 : 0.0)); |
|
123 if (PrintFLSStatistics > 1) { |
121 if (PrintFLSStatistics > 1) { |
124 gclog_or_tty->print_cr("demand: %d, old_rate: %f, current_rate: %f, new_rate: %f, old_desired: %d, new_desired: %d", |
122 gclog_or_tty->print_cr("demand: %d, old_rate: %f, current_rate: %f, new_rate: %f, old_desired: %d, new_desired: %d", |
125 demand, old_rate, rate, new_rate, old_desired, _desired); |
123 demand, old_rate, rate, new_rate, old_desired, _desired); |
126 } |
124 } |
127 } |
125 } |