RFR: 8297487: G1 Remark: no need to keep alive oop constants of nmethods on stack
Thomas Schatzl
tschatzl at openjdk.org
Fri Nov 25 19:29:07 UTC 2022
On Fri, 25 Nov 2022 16:12:53 GMT, Richard Reingruber <rrich at openjdk.org> wrote:
> > We at Oracle do not support ARM32 so it should be good, but it may help ARM32 maintainers to keep this now removed code after all.
>
> Good point. It is myy understanding (also stated in the JBS item) that G1 concurrent marking requires the keep alive of oop constants by the nmethod entry barriers for SATB correctness. So without the entry barriers ARM32 has an issue there already because the keep alive during the remark pause is not sufficient, is it?
That is true, but it might make the problem larger than necessary - although admittedly, the comments indicate some magic hand-waving of the effectiveness of this additional walk through the nmethods on thread stacks.
Imho G1 has worked well enough with that level of wrongness for a long time on the other platforms, so keeping this (little amount of) code may help ARM32 maintainers to tide over a little bit (i.e. not make their platforms potentially crash left and right) until they are ready with their nmethod barrier implementation.
I'm good either way you choose.
-------------
PR: https://git.openjdk.org/jdk/pull/11314
More information about the hotspot-gc-dev
mailing list