Recoding LISP programs in C

VLD/VMB gwyn at BRL.ARPA
Thu Oct 24 07:54:37 AEST 1985


The original suggestion was to perform garbage collection
on the STACK, not on the HEAP.  There is a BIG difference.

Both the DMD (5620) and 8th Ed. UNIX have garbage-collecting
equivalents of malloc().  The DMD does it right, by using an
extra level of indirection, and the 8th. Ed. uses the "neat
hack", but only on the gcalloc()ed HEAP, not on the run-time
STACK.  (It coexists with malloc() and leaves the malloc()
arena alone.)

The best LISP garbage collectors perform on-the-fly, so
that there is no screeching halt while the trash compactor
operates.

I'm all for factors-of-2 performance improvements!



More information about the Comp.lang.c mailing list