| 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.