Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!uunet!brunix!twl From: twl@brunix (Ted "Theodore" (W) Leung) Newsgroups: comp.sw.components Subject: Re: Re: Garbage Collection & ADTs Message-ID: <16270@brunix.UUCP> Date: 26 Sep 89 14:32:39 GMT References: <900@scaup.cl.cam.ac.uk> <6530@hubcap.clemson.edu> <909@scaup.cl.cam.ac.uk> <62342@tut.cis.ohio-state.edu> <599@hsi86.hsi.UUCP> Sender: news@brunix.UUCP Reply-To: twl@boojum.UUCP (Ted "Theodore" (W) Leung) Organization: Brown University Department of Computer Science Lines: 28 In article <599@hsi86.hsi.UUCP> wright@hsi.com (Gary Wright) writes: >It is interesting to note the advances that have been made in >optimizing compilers. Perhaps a sufficiently smart compiler for a language >that supports GC can figure out when GC can be avoided? That is to say, >the compiler can notice when the last reference to an object will be lost >and can explicity "dispose" of the object. In general, the compiler won't >be able to determine this (thus GC) but for the simple cases, why not? There has been some work done in this area..... @incollection{NDJSSM81, author = "Neil D. Jones and Steven S. Muchnick", title = "Flow Analysis and Optimization of LISP-like Structures", booktitle = "Program Flow Analysis: Theory and Applications", publisher = "Prentice Hall", year = "1981", editor = "Steven S. Muchnick and Neil D. Jones", chapter = "4", pages = "102-131" } Jones and Muchnick present some techniques which allow exactly the kinds of determinations which you are talking about. -------------------------------------------------------------------- Internet/CSnet: twl@cs.brown.edu | Ted Leung BITNET: twl@BROWNCS.BITNET | Box 1910, Brown University UUCP: uunet!brunix!twl | Providence, RI 02912