64 bit and jit JIT compilers assume their addresses will fall within 4 GB FAIL: 64-bit never offered a guarantee like that. more FAIL: Linux fixed things the wrong way: void * mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset); flag MAP_32BIT: make sure the pointer is a 32-bit pointer (high 32 bits are zero) Unfortunately, we'll do something similar, because we don't want our porters to die.