src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.cpp

Print this page




1262 
1263   set_survivor_size(target_size);
1264 
1265   return tenuring_threshold;
1266 }
1267 
1268 void PSAdaptiveSizePolicy::update_averages(bool is_survivor_overflow,
1269                                            size_t survived,
1270                                            size_t promoted) {
1271   // Update averages
1272   if (!is_survivor_overflow) {
1273     // Keep running averages on how much survived
1274     _avg_survived->sample(survived);
1275   } else {
1276     size_t survived_guess = survived + promoted;
1277     _avg_survived->sample(survived_guess);
1278   }
1279   avg_promoted()->sample(promoted + _avg_pretenured->padded_average());
1280 
1281   if (PrintAdaptiveSizePolicy) {
1282     gclog_or_tty->print(
1283                   "AdaptiveSizePolicy::update_averages:"
1284                   "  survived: "  SIZE_FORMAT
1285                   "  promoted: "  SIZE_FORMAT
1286                   "  overflow: %s",
1287                   survived, promoted, is_survivor_overflow ? "true" : "false");
1288   }
1289 }
1290 
1291 bool PSAdaptiveSizePolicy::print_adaptive_size_policy_on(outputStream* st)
1292   const {
1293 
1294   if (!UseAdaptiveSizePolicy) return false;
1295 
1296   return AdaptiveSizePolicy::print_adaptive_size_policy_on(
1297                           st,
1298                           PSScavenge::tenuring_threshold());
1299 }


1262 
1263   set_survivor_size(target_size);
1264 
1265   return tenuring_threshold;
1266 }
1267 
1268 void PSAdaptiveSizePolicy::update_averages(bool is_survivor_overflow,
1269                                            size_t survived,
1270                                            size_t promoted) {
1271   // Update averages
1272   if (!is_survivor_overflow) {
1273     // Keep running averages on how much survived
1274     _avg_survived->sample(survived);
1275   } else {
1276     size_t survived_guess = survived + promoted;
1277     _avg_survived->sample(survived_guess);
1278   }
1279   avg_promoted()->sample(promoted + _avg_pretenured->padded_average());
1280 
1281   if (PrintAdaptiveSizePolicy) {
1282     gclog_or_tty->print_cr(
1283                   "AdaptiveSizePolicy::update_averages:"
1284                   "  survived: "  SIZE_FORMAT
1285                   "  promoted: "  SIZE_FORMAT
1286                   "  overflow: %s",
1287                   survived, promoted, is_survivor_overflow ? "true" : "false");
1288   }
1289 }
1290 
1291 bool PSAdaptiveSizePolicy::print_adaptive_size_policy_on(outputStream* st)
1292   const {
1293 
1294   if (!UseAdaptiveSizePolicy) return false;
1295 
1296   return AdaptiveSizePolicy::print_adaptive_size_policy_on(
1297                           st,
1298                           PSScavenge::tenuring_threshold());
1299 }