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