getAndAddInt() breaks AOT compilation for AArch64

Daniel Stewart stewartd at qti.qualcomm.com
Tue May 29 16:45:08 UTC 2018


Unfortunately I'm on holiday until Friday and have no access to be able to patch this. I'll work on it once I'm back if someone doesn't get to it first.

Sorry for the breakage.

Daniel
________________________________________
From: Andrew Haley [aph at redhat.com]
Sent: Tuesday, May 29, 2018 12:36 PM
To: stewartd.qdt
Cc: graal-dev at openjdk.java.net
Subject: getAndAddInt() breaks AOT compilation for AArch64

The problem is that the new code assumes that the delta is passed
in a register, but the caller does not allocate a register for it.

In AArch64AtomicMove.java, delta must be an AllocatableValue, and the
caller at AArch64LIRGenerator.java must call asAllocatable(delta).

An alternative might be to special-case integer values that will fit
in an immediate operand and generate an immediate add.  But, please do
something: AOT is broken until you patch it.  Thank you.

--
Andrew Haley
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671


More information about the graal-dev mailing list