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