Review request for JDK-8030815: Code roots are not accounted for in region efficiency

Thomas Schatzl thomas.schatzl at oracle.com
Tue Feb 10 13:03:44 UTC 2015


Hi,

On Tue, 2015-01-13 at 12:10 -0500, Alexander Harlap wrote:
> Please help to code review the change for the following CR:
> JDK-8030815 - Code roots are not accounted for in region efficiency
> 
> The webrev is located at
> http://cr.openjdk.java.net/~aharlap/8030815/webrev.00/
> 
> Testing completed: JPRT

- in TraceYoungGenTimeData::print_summary_sd(): please call the added
entry like the one in PrintGCDetails output, i.e. "Code Root Scanning"
instead of "Scan Code Root RS".

- in G1CollectoryPolicy::1148: please move the "+" sign to the end of
the previous line like everywhere else but this statement.
(I know this has been the case before, it would be nice to make the code
more uniform).

- I would prefer if the cost of scanning code roots would not be
conflated with the cost of scanning rset entries, but predicted and
tracked separately from remembered set entries.

I.e. in G1CollectorPolicy::predict_region_elapsed_time_ms() the
region_elapsed_time (the predicted time for evacuating the region) would
consist of

double region_elapsed_time_ms =
  predict_rs_scan_time_ms(card_num) +
  predict_code_root_scan_time_ms(hr->num_code_roots()) + // new
  predict_object_copy_time(bytes_to_copy);

This needs an additional prediction code of code roots for the young
gen; look at young_cards_per_entry_ratio_seq for the predictor for the
number of cards to see how its done for the regular remembered set.

Thanks,
  Thomas
  







More information about the hotspot-gc-dev mailing list