Related articles |
---|
Heap pointers shreyas76@gmail.com (shrey) (2005-10-29) |
Re: Heap pointers gene.ressler@gmail.com (Gene) (2005-11-01) |
Re: Heap pointers peter.ludemann@gmail.com (2005-11-01) |
Re: Heap pointers DrDiettrich@compuserve.de (Hans-Peter Diettrich) (2005-11-01) |
Re: Heap pointers mailbox@dmitry-kazakov.de (Dmitry A. Kazakov) (2005-11-01) |
Re: Heap pointers bobduff@shell01.TheWorld.com (Robert A Duff) (2005-11-01) |
From: | "Gene" <gene.ressler@gmail.com> |
Newsgroups: | comp.compilers |
Date: | 1 Nov 2005 00:21:57 -0500 |
Organization: | http://groups.google.com |
References: | 05-10-204 |
Keywords: | GC, storage |
Posted-Date: | 01 Nov 2005 00:21:57 EST |
For the runtime part, you might study the Boehm garbage collector,
which uses some of the techniques that John mentions.
http://www.hpl.hp.com/personal/Hans_Boehm/gc/
A compile-time part is pretty standard data flow analysis, somewhat
easier than general alias analysis. (See for example the "dragon book"
Compiler Design, Aho, Sethi, and Ullman.) Essentially it's a reaching
definitions problem. If a pointer use can be reached only by
definitions of one type (stack or heap) then you can safely tag that
use. Otherwise it remains untagged, a "don't know" case.
Gene
Return to the
comp.compilers page.
Search the
comp.compilers archives again.