RFR: 8303040: linux PPC64le: Implementation of Foreign Function & Memory API (Preview) [v22]

Stefan Karlsson stefank at openjdk.org
Wed May 10 13:56:38 UTC 2023


On Wed, 10 May 2023 13:43:41 GMT, Martin Doerr <mdoerr at openjdk.org> wrote:

>> You are reasoning about implementation details. By using the provided abstraction you and other maintainers (who might be unfamiliar with them) would not have to do that. Also the assumptions you make introduce a hidden dependency.
>
> I just figured it out. It was introduced by https://bugs.openjdk.org/browse/JDK-8203172 (on aarch64) which mentions Shenandoah and future GCs. However, the Shenandoah comment says "non-reference load, no additional barrier is needed" and it doesn't use barriers in such a case. So, for the time being, I'll keep the normal load (because `access_load_at` is not ready for non-oop types). But I should add the `NONZERO` check.

FWIW, since Shenandoah changed their load barriers we have been cleaning away the usages of the Access API for loads and stores to primitive values. There's no such support in the C++ Runtime code.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/12708#discussion_r1189948988


More information about the core-libs-dev mailing list