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.
