fix PicoSpinLock for aarch64 and allow PackedSyncPtr to compile for aarch64
Summary:
Looks like we never tried to compile or run the PicoSpinLock under aarch64. There were two problems:
if sizeof(IntType) is 64, we try to do
1 << 63
in lock and unlock. This doesn't compile because sizeof(1) is 32.
Also for try_lock, we were returning the data instead of checking for the locked bit.
Reviewed By: djwatson, yfeldblum
Differential Revision:
D5091656
fbshipit-source-id:
4f81b8b32633e87b491548a1a24b9bcf20264063