[Gc] Scanning the System Stack

Fergus Henderson fjh at cs.mu.oz.au
Wed Mar 31 02:37:26 PST 2004


On 29-Mar-2004, wlight at weatherlight.com <wlight at weatherlight.com> wrote:
> I'm a graduate student at the University of Florida.  I'm presently 
> working on an independent study of garbage collection, and my final 
> project for the independent study is to be the implementation of a 
> garbage collection library in C that should be able to run on, at a 
> minimum, Solaris 8 for a SPARC or GNU/Linux for an Intel.  I've got a 
> lot of design decisions already made, but one thing is still evading me- 
> how do I scan the system stack and the registers?  I'm certain there's a 
> reasonably portable way to do this, but I can't figure it out.  If 
> anyone could send me a pointer or two on this, I'd be deeply appreciative.

Apologies for citing myself yet again on this list, but you may find
the following paper [1] relevant.  It discusses a completely portable
technique for scanning the system stack in standard C -- albeit one that
requires significant cooperation from the client program.

[1] "Accurate garbage collection in an uncooperative environment",
Fergus Henderson.  Proceedings of the 2002 International Symposium on
Memory Management, Berlin, Germany, June 2002, pages 150-156.
<http://www.cs.mu.oz.au/research/mercury/information/papers.html#high_level_gc>

-- 
Fergus Henderson                    |  "I have always known that the pursuit
                                    |  of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh>  |     -- the last words of T. S. Garp.


More information about the Gc mailing list