RFR: Allow young collection to suspend marking in old generation [v14]
earthling-amzn
github.com+71722661+earthling-amzn at openjdk.java.net
Mon Mar 1 17:55:59 UTC 2021
On Mon, 1 Mar 2021 13:47:56 GMT, Roman Kennke <rkennke at openjdk.org> wrote:
>> earthling-amzn has updated the pull request incrementally with three additional commits since the last revision:
>>
>> - Encode active generation and old generation marking status
>> - Do not unset preemption request flag prematurely
>> - Disable reference processing generational mode
>
> src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp line 189:
>
>> 187: _cancelled_gc.set(CANCELLABLE);
>> 188: if (clear_oom_handler) {
>> 189: _oom_evac_handler.clear();
>
> This change seems a bit suspicious to me. Why do we need to clear the OOM evac handler here?
Prior to these changes, the gc cancellation flag was always set because of an allocation failure, so the flag was cleared on a safepoint (final update refs). Now we have a case where we've "cancelled" a gc, but not because we've run out of memory so we don't need to clear the oom evac handler.
-------------
PR: https://git.openjdk.java.net/shenandoah/pull/19
More information about the shenandoah-dev
mailing list