RFR (XXS): 8049051: Use of during_initial_mark_pause() in G1CollectorPolicy::record_collection_pause_end() prevents use of seperate object copy time prediction during marking

Thomas Schatzl thomas.schatzl at oracle.com
Wed Jul 2 12:33:10 UTC 2014


Hi all,

  some apparent bug in the G1 pause time prediction logic: when ending
an initial mark pause, G1 is supposed to switch to different predictors
for the object copy time.

Since the code that sets the flag to indicate to the prediction that the
other predictor should be used for object copy time prediction wrongly
reuses during_initial_mark_pause() that has been unconditionally set to
false before, G1 never switches predictors.

The fix is to use the backup ("last_pause_included_initial_mark") value
for during_initial_mark_pause() already used in several places in that
method.

Bug:
https://bugs.openjdk.java.net/browse/JDK-8049051

Webrev:
http://cr.openjdk.java.net/~tschatzl/8049051/webrev/

Testing:
JPRT

Thanks,
  Thomas





More information about the hotspot-gc-dev mailing list