hotspot/src/share/vm/gc_implementation/g1/survRateGroup.cpp
changeset 24092 e274d864545a
parent 13195 be27e1b6a4b9
child 24424 2658d7834c6e
equal deleted inserted replaced
23859:c8b7bd180417 24092:e274d864545a
   185 }
   185 }
   186 
   186 
   187 #ifndef PRODUCT
   187 #ifndef PRODUCT
   188 void
   188 void
   189 SurvRateGroup::print() {
   189 SurvRateGroup::print() {
   190   gclog_or_tty->print_cr("Surv Rate Group: %s (%d entries)",
   190   gclog_or_tty->print_cr("Surv Rate Group: %s (" SIZE_FORMAT " entries)",
   191                 _name, _region_num);
   191                 _name, _region_num);
   192   for (size_t i = 0; i < _region_num; ++i) {
   192   for (size_t i = 0; i < _region_num; ++i) {
   193     gclog_or_tty->print_cr("    age %4d   surv rate %6.2lf %%   pred %6.2lf %%",
   193     gclog_or_tty->print_cr("    age " SIZE_FORMAT_W(4) "   surv rate %6.2lf %%   pred %6.2lf %%",
   194                   i, _surv_rate[i] * 100.0,
   194                   i, _surv_rate[i] * 100.0,
   195                   _g1p->get_new_prediction(_surv_rate_pred[i]) * 100.0);
   195                   _g1p->get_new_prediction(_surv_rate_pred[i]) * 100.0);
   196   }
   196   }
   197 }
   197 }
   198 
   198 
   201   size_t length = _summary_surv_rates_max_len;
   201   size_t length = _summary_surv_rates_max_len;
   202   if (length == 0)
   202   if (length == 0)
   203     return;
   203     return;
   204 
   204 
   205   gclog_or_tty->print_cr("");
   205   gclog_or_tty->print_cr("");
   206   gclog_or_tty->print_cr("%s Rate Summary (for up to age %d)", _name, length-1);
   206   gclog_or_tty->print_cr("%s Rate Summary (for up to age " SIZE_FORMAT ")", _name, length-1);
   207   gclog_or_tty->print_cr("      age range     survival rate (avg)      samples (avg)");
   207   gclog_or_tty->print_cr("      age range     survival rate (avg)      samples (avg)");
   208   gclog_or_tty->print_cr("  ---------------------------------------------------------");
   208   gclog_or_tty->print_cr("  ---------------------------------------------------------");
   209 
   209 
   210   size_t index = 0;
   210   size_t index = 0;
   211   size_t limit = MIN2((int) length, 10);
   211   size_t limit = MIN2((int) length, 10);
   212   while (index < limit) {
   212   while (index < limit) {
   213     gclog_or_tty->print_cr("           %4d                 %6.2lf%%             %6.2lf",
   213     gclog_or_tty->print_cr("           " SIZE_FORMAT_W(4)
       
   214                   "                 %6.2lf%%             %6.2lf",
   214                   index, _summary_surv_rates[index]->avg() * 100.0,
   215                   index, _summary_surv_rates[index]->avg() * 100.0,
   215                   (double) _summary_surv_rates[index]->num());
   216                   (double) _summary_surv_rates[index]->num());
   216     ++index;
   217     ++index;
   217   }
   218   }
   218 
   219 
   226     sum += _summary_surv_rates[index]->avg() * 100.0;
   227     sum += _summary_surv_rates[index]->avg() * 100.0;
   227     samples += _summary_surv_rates[index]->num();
   228     samples += _summary_surv_rates[index]->num();
   228     ++index;
   229     ++index;
   229 
   230 
   230     if (index == length || num % 10 == 0) {
   231     if (index == length || num % 10 == 0) {
   231       gclog_or_tty->print_cr("   %4d .. %4d                 %6.2lf%%             %6.2lf",
   232       gclog_or_tty->print_cr("   " SIZE_FORMAT_W(4) " .. " SIZE_FORMAT_W(4)
       
   233                     "                 %6.2lf%%             %6.2lf",
   232                     (index-1) / 10 * 10, index-1, sum / (double) num,
   234                     (index-1) / 10 * 10, index-1, sum / (double) num,
   233                     (double) samples / (double) num);
   235                     (double) samples / (double) num);
   234       sum = 0.0;
   236       sum = 0.0;
   235       num = 0;
   237       num = 0;
   236       samples = 0;
   238       samples = 0;