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 16:38:07 UTC 2021
On Mon, 1 Mar 2021 10:37:24 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/mode/shenandoahGenerationalMode.cpp line 46:
>
>> 44: // HEY! Disabled while M7 work is in progress.
>> 45: FLAG_SET_ERGO(ShenandoahUnloadClassesFrequency, 0);
>> 46: FLAG_SET_ERGO(RegisterReferences, false);
>
> This doesn't work in release build, unfortunately.
I also tried some runs with reference processing enabled and they succeeded. As I think about it, the reference processing itself will probably be fine with these changes. My concern would be that finalizers in the old generation might not run. I disabled it out of caution, but we can try leaving it enabled.
-------------
PR: https://git.openjdk.java.net/shenandoah/pull/19
More information about the shenandoah-dev
mailing list