I have previously sent out links to this paper:

Fergus Henderson, Accurate Garbage Collection in an Uncooperative
Environment


This morning, I stumbled across a successor paper:

J. Baker *et al.*, Accurate Garbage Collection in Uncooperative
Environments Revisited <http://www.cs.purdue.edu/homes/jv/pubs/ccpe09.pdf>


Citeseer is down at the moment, so you'll have to google for the first one
later; the second link is from Purdue.

The main new technique in the second paper is lazy saving of pointers for
GC, which is done using a *disgusting* trick that involves copying the
stack to the side and returning up the stack *twice* to exploit a guard
that saves object references only when needed. The result is much less
conservative about safe points, offers better register allocation and
retention than Ferguson's technique, and has a much higher code size (17%).
Offhand, it seems like a difficult convention to code by hand if one wanted
to do so.

But the important thing to note about this paper is that it is *not* friendly
to concurrent collection. Offhand, it seems to me that the Henderson
technique can be extended with a (manual) stack barrier to get on-the-fly
collection as well.
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to