I've just committed initial support for moving the dynamic memory space above the >4G memory area into SBCL x86-64-again-branch. Basically this means that the code generator won't generate code that relies on 32-bit fixups. On the previous attempt a couple of weeks ago I got horribly confused by the abuse of the fixup mechanism that the AMD64 backend has inherited from x86, but this second attempt from scratch went suprisingly smoothly.

The real motivation for this is of course having a large dynamic space for applications that use many gigabytes of memory. This also works, but somewhat suboptimally. The GC page tables take up a lot of memory. With a 8GB dynamic space 50MB are used for just the tables. Currently space size is determined at compile-time, so that 50MB will be wasted even for "normal" lisp instances.

This was the last major item on my list of things to do before trying to merge AMD64 support to HEAD. Look for the merge sometime after 0.8.18. I'm already dreading both the Unicode support (added in 0.8.17) and ensuring I didn't break the 32-bit Alpha port.