RFR: 8274401: C2: GraphKit::load_array_element bypasses Access API

Martin Doerr mdoerr at openjdk.java.net
Tue Sep 28 08:00:53 UTC 2021


On Mon, 27 Sep 2021 22:38:13 GMT, Martin Doerr <mdoerr at openjdk.org> wrote:

> C2: GraphKit::load_array_element only creates nodes for loading a raw element from the given array. This is wrong when the element is an Oop which needs a load barrier for some GCs.

The only place where we currently have a real bug is `LibraryCallKit::get_key_start_from_aescrypt_object` on PPC64 and s390 with ZGC or ShenandoahGC. Note that these GCs are not yet contributed. But we can reproduce the problem on PPC64 with our experimental GC implementation.
So, this fix is needed to support these GCs on these platforms. And it will be needed if anyone else starts using the function for Oops.

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

PR: https://git.openjdk.java.net/jdk/pull/5727


More information about the hotspot-compiler-dev mailing list