RFR: Degenerating update-references phase

Aleksey Shipilev shade at redhat.com
Wed May 3 17:09:23 UTC 2017


On 05/03/2017 06:58 PM, Roman Kennke wrote:
> This patch implements degenerating of update-refs phase in much the same
> way (and the same reasons) as we did for concurrent marking: when we run
> OOM during (concurrent) update-references, it seems likely that we're
> close to finish, and thus, instead of starting from scratch and doing a
> full-gc, finish updating refs under the final-update-refs-pause, and
> reclaim memory. When we do this, we're pessimizing adaptive heuristics,
> so hopefully next time we have more room and not run into this.
> 
> http://cr.openjdk.java.net/~rkennke/degen-uprefs/webrev.00/

In here:

 492   void optimize_free_threshold() {
 493     if (_successful_cm_cycles_in_a_row > ShenandoahHappyCyclesThreshold &&
 494         _free_threshold > ShenandoahMinFreeThreshold) {

...it ignores _successful_uprefs_cycles_in_a_row, but called from
record_uprefs_success()?

Otherwise looks good to me.

-Aleksey





More information about the shenandoah-dev mailing list