There is a log message at gc+ergo+cset=debug level that reads:
log_debug(gc, ergo, cset)("Finish choosing collection set old regions. Initial: %u, optional: %u, "
"predicted old time: %1.2fms, predicted optional time: %1.2fms, time remaining: %1.2f",
num_initial_regions, num_optional_regions,
predicted_initial_time_ms, predicted_optional_time_ms, time_remaining_ms);
The value used for printing the predicted old time is always zero. Instead of using predicted_old_time in the method, predicted_initial_time_ms should be used, and predicted_old_time removed.
Issue introduced in JDK-8218668 apparently.