getAndAddInt() breaks AOT compilation for AArch64

Andrew Haley aph at redhat.com
Tue May 29 16:36:33 UTC 2018


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