RFR: Allow young collection to suspend marking in old generation [v14]
Roman Kennke
rkennke at openjdk.java.net
Mon Mar 1 18:17:07 UTC 2021
On Mon, 1 Mar 2021 17:53:37 GMT, earthling-amzn <github.com+71722661+earthling-amzn at openjdk.org> wrote:
>> 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.
Ok. But I think the OOM handler still needs to be cleared at the safepoint.
-------------
PR: https://git.openjdk.java.net/shenandoah/pull/19
More information about the shenandoah-dev
mailing list