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

Martin Doerr mdoerr at openjdk.java.net
Wed Sep 29 09:39:34 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.

We found the issue by running jvm2008 crypto.aes with our experimental ZGC on PPC64 with FullGCALot.
I verified the fix by disassembling C2 compiled `com.sun.crypto.provider.CipherBlockChaining::implEncrypt` on PPC64. The load barrier for the `sessionK[0]` before the `implEncryptBlock` intrinsic stub call is missing without this fix and gets generated with this fix.

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

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


More information about the hotspot-compiler-dev mailing list