On Sun, May 04, 2008 at 05:56:02PM -0700, Andrew Lentvorski wrote:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=474402
This is no new behaviour of SBCL, and rather a implementation limitation
than a bug. SBCL needs to reserve a fixed contiguous address space for
its GC-managed memory.
And known broken. Bad GC implementation.
Back when CMU originally wrote it under Mach, it wasn't a big deal, since
they really were just requesting address space. They try to fake it as
much as they can on other platforms, and other than bogus numbers in 'top'
it really does work.
The issue is that they need to be able to require all future allocations in
the garbage collector will be within the same contiguous address space.
They can't have syscalls allocating in the middle of their space or it gets
a lot less efficient to figure out who owns what pointers.
Don't get me started on the [EMAIL PROTECTED] they have to do on x86 just to
deal with
the lack of registers.
CCL decided that they're finally going to support x86, but only SSE3, so
that they can use the SSE registers. The code generator divides up the
registers and uses one set for managed pointers and the other set for
unmanaged pointers. It makes the tree traversal in the GC a lot simpler,
and faster.
David
--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list