[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