[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Memory Management



Is there any way to walk the lisp memory ala GC? I would like to set up a heap
zone that is swept automatically; e.g. _disposePtr when no Lisp value
references it.  I would like to do this in assembly language.
 
Could I use weak hash tables for this? I thought some of using a weak hash
table to keep a list of all the mac-ptrs to my heap zone I had allocated.  I
can't keep them in any standard lisp collection, because this will prevent them
from being garbage collected!

While on the subject, why not include automatic heaps sweeps in 2.1? The
current scheme is _very_ un-lisp like. I know that occasionally the OS needs to
hold on to a pointer, but it seems pretty easy to keep a lisp pointer around to
prevent the memory block from being disposed of prematurely. The problem I see
is that if something isn't done soon, it will never be able to be done because
it will break to much code (people will stick mac-pointers in all sorts of
crazy places)

Jim Hurd