< prev index next >
src/share/vm/gc/g1/g1IHOPControl.cpp
Print this page
rev 9431 : dihop-changes
rev 9432 : imported patch sihop-thomas-review
rev 9433 : imported patch erik-jmasa-review
rev 9434 : imported patch fix-evac-failure-needs-stats
rev 9435 : imported patch mikael-erik-review
rev 9436 : [mq]: 8136678-implement-adaptive-sizing-algorithm-for-IHOP
rev 9437 : imported patch aihop-thomas-review
rev 9438 : imported patch erik-jon-review2
rev 9439 : imported patch further-jon-reviews
rev 9440 : [mq]: mikael-review
*** 113,122 ****
--- 113,123 ----
G1Predictions const* predictor,
size_t heap_reserve_percent,
size_t heap_waste_percent) :
G1IHOPControl(ihop_percent, initial_target_occupancy),
_predictor(predictor),
+ // A sigma of 0.95 favors more recent samples.
_marking_times_s(10, 0.95),
_allocation_rate_s(10, 0.95),
_last_unrestrained_young_size(0),
_heap_reserve_percent(heap_reserve_percent),
_heap_waste_percent(heap_waste_percent)
*** 143,156 ****
bool G1AdaptiveIHOPControl::have_enough_data_for_prediction() const {
return ((size_t)_marking_times_s.num() >= G1AdaptiveIHOPNumInitialSamples) &&
((size_t)_allocation_rate_s.num() >= G1AdaptiveIHOPNumInitialSamples);
}
- void G1AdaptiveIHOPControl::set_target_occupancy(size_t target_occupancy) {
- _target_occupancy = target_occupancy;
- }
-
size_t G1AdaptiveIHOPControl::get_conc_mark_start_threshold() {
if (have_enough_data_for_prediction()) {
double pred_marking_time = _predictor->get_new_prediction(&_marking_times_s);
double pred_promotion_rate = _predictor->get_new_prediction(&_allocation_rate_s);
--- 144,153 ----
< prev index next >