[gclist] My next garbage collector ...

Chris Dollin kers@hplb.hpl.hp.com
Tue, 30 Apr 1996 17:35:56 +0100


I'm about to start a re-implementation of a home-grown programming
language based on Pop11 (which I will caricature briskly as Lisp with an
Algol-family syntax and a Forth-like open stack). The re-implementation
will have a Risc-like virtual instruction set and ... a garbage
collector.

The current implementation has a stop-and-copy gc, which isn't that good
an idea, since my home machine has only 9M of RAM and no virtual memory.
On the other hand, after the first six months, it was pretty reliable,
and the compiler and linker can rebuild themselves on a 4M machine
anyway.

I expect to run the ``same'' system also on medium-sized Unix engines
(specifically HP machines) and on PCs, so I'm not free to make many
assumptions about memory management.

I'd like to experiment in the new implementation. What sorts of
questions should I be asking (and answering!)? A little statistical work
shows that updating structures once they're constructed happens
relatively rarely (of course the control and value stacks get hammered
endlessly, but the gc knows about them as special types anyway).

Regards, Chris Dollin, HPLabs Bristol.