[gclist] Age based promotion

Simon Peyton-Jones simonpj@microsoft.com
Thu, 17 Dec 1998 00:08:42 -0800

Thanks Dave

> I called the problem you describe
>  "Nepotism" -- the fact that some old dead object
> drags young, also dead objects across into tenured status merely
> by dint of a relationship ;-).

Well, (ii) does not make anything live longer than it would
have otherwise.  If an old dead object points to a young object, then
the latter will live till the former's generation is gc'd.  Promoting
the young one doesn't make it live any longer; it simply prevents
it being copied to and fro mean while, which must be a good thing.

Are there any descriptions about how to do this 'eager promotion'?
As I indicated message, it is not obvious to me how to implement it.

My argument for (ii) breaks down for objects that are mutated often.
Have you or anyone else measured this effect?

> Frank Jackson & I also published a study of tenuring policies
> (late 80's--I could dig up a reference if need be),

If you could (even a URL?) that would be very helpful.

> On the other hand, if you implemented ii, then it would be
> possible to present the system with programs that would produce
> pathological behavior.

What sort of programs?  Ones with often-mutated cells?  What if one
did (ii) but stopped at mutable objects?