[gclist] Age based promotion

Kragen Sitaker kragen@pobox.com
Thu, 17 Dec 1998 11:20:13 -0500 (EST)

On Thu, 17 Dec 1998, Simon Peyton-Jones wrote:
> > I don't think that transitive promotion is a good idea, since I can
> > imagine (and I think I've seen) certain programming styles for which
> > this would be a relatively disastrous policy.
> Dave Ungar said this too.  Can either of you give some idea of what
> sort of programs would behave badly?  The kind where old things are
> modified often?

Suppose you keep a symbol table, and most of the big data structures in
your program hang off it some way.

The symbol table is likely to be one of the oldest structures in the
program.  But even fairly short-lived big data structures will end up
being pointed to by it.

One obvious hypothetical case where this arises is when you're trying
to run Unix tools in a filesystem-free Lisp OS -- most of the Unix
tools (even sort!) store their big data structures in the filesystem,
which is really a bunch of objects in persistent virtual memory that
point to each other.

<kragen@pobox.com>       Kragen Sitaker     <http://www.pobox.com/~kragen/>
Silence may not be golden, but at least it's quiet.  Don't speak unless you
can improve the silence.  I have often regretted my speech, never my silence.
-- ancient philosopher Syrus (?) via Adam Rifkin, <adam@cs.caltech.edu>