Twisty maze of absolute fixups, all alike

Posted on 2004-12-12 in Lisp
» 1 comment

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.

Next » Almost there (2004-12-24)
Previous » Self-hosting, ansi-tests (2004-12-05)

Comments

By myname on 2006-12-28

give me the password

Name
Message

As an antispam measure, you need to write a super-secret password below. Today's password is "xyzzy" (without the quotes).

Password

Formatting guidelines for comments: No tags, two newlines can be used for separating paragraphs, http://... is automatically turned into a link.