[aarch64-port-dev ] RFR: 8224828: aarch64: save and restore the rflags register in push_CPU_state and pop_CPU_state
Andrew Haley
aph at redhat.com
Tue May 28 13:50:44 UTC 2019
On 5/27/19 1:42 PM, Yangfei (Felix) wrote:
> JBS: https://bugs.openjdk.java.net/browse/JDK-8224828
> Webrev: http://cr.openjdk.java.net/~fyang/8224828/webrev.00/
>
> Currently, the rflags register is not handled in push_CPU_state and pop_CPU_state for the aarch64 port (including aarch64-8u, jdk11 and jdk13).
> This is causing random Hadoop Terasort failure using an aarch64-8u jvm.
> After some further investigation, we located the problematic C2 JIT code snippet:
Great catch! I'm somewhat appalled that flags are live across
safepoint polls. I know that they are not live on x86.
I don't think you should do this. Instead, please apply
effect(KILL cr);
to instruct safePoint in aarch64.ad.
--
Andrew Haley
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
https://keybase.io/andrewhaley
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671
More information about the aarch64-port-dev
mailing list