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.

Reply via email to