[aarch64-port-dev ] RFR: 8153172: aarch64: hotspot crashes after the 8.1 LSE patch is merged
Edward Nevill
edward.nevill at gmail.com
Thu Mar 31 12:21:18 UTC 2016
Hi,
Sorry, there is a bug in the 8.1 LSE patch I pushed yesterday which causes a guarantee failure.
The following program
http://cr.openjdk.java.net/~enevill/8153172/TestUnsafe.java
generates the following guarantee failure
# Internal Error (/home/yangfei/openjdk9_hs-comp/hotspot/src/cpu/aarch64/vm/assembler_aarch64.hpp:1157), pid=7967, tid=8040
# guarantee(Rs != Rn && Rs != Rt) failed: unpredictable instruction
The following webrev fixes this
http://cr.openjdk.java.net/~enevill/8153172/webrev
The problem is that the usage of scratch registers in atomic_xchg is different from the usage previously so using rscratch1 for the obj causes Rs == Rn which is unpredictable. Changed it to use rscratch2 for the obj fixes this.
Thanks to Felix for finding this.
OK to push?
Ed.
More information about the aarch64-port-dev
mailing list