RFR: Degenerating update-references phase
Aleksey Shipilev
shade at redhat.com
Wed May 3 17:29:33 UTC 2017
On 05/03/2017 07:26 PM, Roman Kennke wrote:
> Am 03.05.2017 um 19:09 schrieb Aleksey Shipilev:
>> 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.
> Right.
>
> http://cr.openjdk.java.net/~rkennke/degen-uprefs/webrev.02/
Yup! Go!
-Aleksey
More information about the shenandoah-dev
mailing list