Aarch64 code sometime freely exchange int64_t and intptr_t. This is a problem for toolchains that do not have shared underlying type for them.
I.e darwin uses `long long` for int64_t https://github.com/apple/darwin-xnu/blob/master/bsd/sys/_types/_int64_t.h and long for intptr_t https://github.com/apple/darwin-xnu/blob/master/bsd/arm/_types.h
For example, declaration
http://hg.openjdk.java.net/jdk/jdk/file/f74d10596242/src/hotspot/cpu/aarch64/assembler_aarch64.hpp#l716
defintion:
http://hg.openjdk.java.net/jdk/jdk/file/f74d10596242/src/hotspot/cpu/aarch64/assembler_aarch64.cpp#l1546