RFR: 8297487: G1 Remark: no need to keep alive oop constants of nmethods on stack
Richard Reingruber
rrich at openjdk.org
Mon Nov 28 15:00:13 UTC 2022
On Wed, 23 Nov 2022 10:05:56 GMT, Richard Reingruber <rrich at openjdk.org> wrote:
> This pr removes the stackwalks to keep alive oops of nmethods found on stack during G1 remark as it seems redundant. The oops are already kept alive by the [nmethod entry barrier](https://github.com/openjdk/jdk/blob/f26bd4e0e8b68de297a9ff93526cd7fac8668320/src/hotspot/share/gc/shared/barrierSetNMethod.cpp#L85)
>
> Additionally it fixes a comment that says nmethod entry barriers are needed to deal with continuations which, afaik, is not the case. Please correct me and explain if I'm mistaken.
>
> Testing: the patch is included in our daily CI testing since a week. That is most JCK and JTREG tests, also in Xcomp mode, Renaissance benchmark and SAP specific tests with fastdebug and release builds on the standard platforms plus PPC64. There was no failure I could attribute to this change.
>
> I tried to find a jtreg test that is sensitive to the keep alive by omitting it in the nmethod entry barrier and also in G1 remark but without success.
I would like to get rid of the stackwalks if they are unnecessary, for pause time reduction but also to ease understanding the code. I'm not in a hurry though.
I've posted on the porters list to get some feedback from ARM32 maintainers: https://mail.openjdk.org/pipermail/porters-dev/2022-November/000739.html
-------------
PR: https://git.openjdk.org/jdk/pull/11314
More information about the hotspot-compiler-dev
mailing list