sbcl-devel

well, except for the expected failures, of course. But we pass cons-
madly and we do inline allocation.
The patch can be found at:
http://cyrusharmon.org/cl/static/patches/sbcl-slyrus-ppc-gencgc-
diffs-20060213-2.patch
The goodies in this patch are: proper inline memory allocation by not
using the half-baked fixup offset thing I started to implement (with
Christophe's help, of course) and ... drum roll please ... cons-madly
now passes now that we properly take care of the p-a bits in
reg_alloc/dynamic_space_free_pointer.
Remaining to do items are:
1. TEST! If you have a PPC box running Darwin/OS X available, I'd
appreciate it if you would test this out.
2. linux/ppc port. For whatever reason this dies after the second gc
in linux/ppc. If anyone with a ppc with linux cares to investigate
this, I would appreciate it.
3. fix the fixup in ppc-vm.lisp. I implemented half of a fixup-offset
in generic/genesis.lisp:calc-offset, but we need a corresponding
change in ppc-vm.lisp. In the end, I ended up not using the offset
argument, which the x86-64 port does, and just provide an offset to
the load instruction directly. The fixup offset would be nice if we
need > 16-bit offsets to C symbols in assembly routines.
4. Forward port the patch to the head. It would be cool if we could
get WHN to authorize a tree freeze for a day or two to land the patch
and debug any problems, but this isn't critical.
I'm of the opinion that 2 and 3 don't need to happen before this goes
into the tree, but linux/ppc would be nice.
Feedback/code-review would be greatly appreciated.
Cyrus