My understanding is that whether or not aarch64 allows unaligned
accesses is based on a
system setting, so this change is too simplistic. I would prefer that
this was controlled with
something more flexible, like "sun.cpu.unaligned".
dl
On 2/13/2015 5:38 AM, Andrew Haley wrote:
java.​nio.​DirectByteBuffer.getXXX is slow for types larger than byte
because the runtime does not know that AArch64 can perform unaligned
memory accesses.
The problem is due to this code in java.nio.Bits.unaligned():
unaligned = arch.equals("i386") || arch.equals("x86")
|| arch.equals("amd64") || arch.equals("x86_64");
If we add AArch64 to this list code quality is very much improved.
http://cr.openjdk.java.net/~aph/8073093/
Thanks,
Andrew.