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