< prev index next >

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

Print this page
rev 56990 : imported patch 8228609-used-vs-copied-bytes
rev 56991 : imported patch 8228609-kbarrett-review
rev 56992 : imported patch 8227739-merge-scan-rs-update-rs-cost
rev 56993 : [mq]: 8227739-sjohanss-review
rev 56997 : [mq]: 8227434-g1-predictions-overflow


 897     _ihop_control->update_allocation_info(mutator_time_s, mutator_alloc_bytes, young_gen_size);
 898     report = true;
 899   }
 900 
 901   if (report) {
 902     report_ihop_statistics();
 903   }
 904 }
 905 
 906 void G1Policy::report_ihop_statistics() {
 907   _ihop_control->print();
 908 }
 909 
 910 void G1Policy::print_phases() {
 911   phase_times()->print();
 912 }
 913 
 914 double G1Policy::predict_yg_surv_rate(int age, SurvRateGroup* surv_rate_group) const {
 915   TruncatedSeq* seq = surv_rate_group->get_seq(age);
 916   guarantee(seq->num() > 0, "There should be some young gen survivor samples available. Tried to access with age %d", age);
 917   double pred = _predictor.get_new_prediction(seq);
 918   if (pred > 1.0) {
 919     pred = 1.0;
 920   }
 921   return pred;
 922 }
 923 
 924 double G1Policy::accum_yg_surv_rate_pred(int age) const {
 925   return _short_lived_surv_rate_group->accum_surv_rate_pred(age);
 926 }
 927 
 928 double G1Policy::predict_base_elapsed_time_ms(size_t pending_cards,
 929                                               size_t rs_length) const {
 930   size_t effective_scanned_cards = _analytics->predict_scan_card_num(rs_length, collector_state()->in_young_only_phase());
 931   return
 932     _analytics->predict_card_merge_time_ms(pending_cards + rs_length, collector_state()->in_young_only_phase()) +
 933     _analytics->predict_card_scan_time_ms(effective_scanned_cards, collector_state()->in_young_only_phase()) +
 934     _analytics->predict_constant_other_time_ms();
 935 }
 936 
 937 double G1Policy::predict_base_elapsed_time_ms(size_t pending_cards) const {
 938   size_t rs_length = _analytics->predict_rs_length();
 939   return predict_base_elapsed_time_ms(pending_cards, rs_length);
 940 }
 941 




 897     _ihop_control->update_allocation_info(mutator_time_s, mutator_alloc_bytes, young_gen_size);
 898     report = true;
 899   }
 900 
 901   if (report) {
 902     report_ihop_statistics();
 903   }
 904 }
 905 
 906 void G1Policy::report_ihop_statistics() {
 907   _ihop_control->print();
 908 }
 909 
 910 void G1Policy::print_phases() {
 911   phase_times()->print();
 912 }
 913 
 914 double G1Policy::predict_yg_surv_rate(int age, SurvRateGroup* surv_rate_group) const {
 915   TruncatedSeq* seq = surv_rate_group->get_seq(age);
 916   guarantee(seq->num() > 0, "There should be some young gen survivor samples available. Tried to access with age %d", age);
 917   return _predictor.get_new_unit_prediction(seq);




 918 }
 919 
 920 double G1Policy::accum_yg_surv_rate_pred(int age) const {
 921   return _short_lived_surv_rate_group->accum_surv_rate_pred(age);
 922 }
 923 
 924 double G1Policy::predict_base_elapsed_time_ms(size_t pending_cards,
 925                                               size_t rs_length) const {
 926   size_t effective_scanned_cards = _analytics->predict_scan_card_num(rs_length, collector_state()->in_young_only_phase());
 927   return
 928     _analytics->predict_card_merge_time_ms(pending_cards + rs_length, collector_state()->in_young_only_phase()) +
 929     _analytics->predict_card_scan_time_ms(effective_scanned_cards, collector_state()->in_young_only_phase()) +
 930     _analytics->predict_constant_other_time_ms();
 931 }
 932 
 933 double G1Policy::predict_base_elapsed_time_ms(size_t pending_cards) const {
 934   size_t rs_length = _analytics->predict_rs_length();
 935   return predict_base_elapsed_time_ms(pending_cards, rs_length);
 936 }
 937 


< prev index next >