Fix 64bits compatibility using size_t, ssize_t, intptr_t and uintptr_t everywhere it makes sense. newtRef are promoted to intptr_t size.
Compilation should be done with Makefile, Xcode project hasn't been updated.
Two significant changes were brought:
integers that were larger than 30 bits were encoded in binary of class int32. This is preserved, however the binary is encoded in big endian (only difference occurs in RAM, in NSOF stream, the value was already encoded in big endian). If the value does not fit 32 bits, it is stored in a binary of class int64.
named magic pointers were encoded with the highest bit set. As pointers are 16-bytes aligned on (most) 64 bits platform, least significant bit 3 is used instead to avoid any issue shall a pointer be allocated with highest bit set.
The code should continue to compile on 32 bits platforms.
Fix 64bits compatibility using size_t, ssize_t, intptr_t and uintptr_t everywhere it makes sense. newtRef are promoted to intptr_t size.
Compilation should be done with Makefile, Xcode project hasn't been updated.
Two significant changes were brought:
The code should continue to compile on 32 bits platforms.