Newsgroups: alt.lang.design,comp.lang.c,comp.lang.c++,comp.lang.lisp,zer.z-netz.sprachen.algorithmen
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!news.mathworks.com!uhog.mit.edu!bloom-beacon.mit.edu!gatech!swrinde!pipex!uknet!festival!edcogsci!jeff
From: jeff@aiai.ed.ac.uk (Jeff Dalton)
Subject: Re: Reference Counting (was Re: Searching Method for Incremental  Garbage Collection)
Message-ID: <Czor8H.Mqw@cogsci.ed.ac.uk>
Sender: usenet@cogsci.ed.ac.uk (C News Software)
Nntp-Posting-Host: bute-alter.aiai.ed.ac.uk
Organization: AIAI, University of Edinburgh, Scotland
References: <AST.178.785265972@postman.hsn.no> <CzKAnH.D3@rheged.dircon.co.uk> <3asu5u$4im@gateway.wiltel.com>
Date: Tue, 22 Nov 1994 20:21:53 GMT
Lines: 36
Xref: glinda.oz.cs.cmu.edu comp.lang.c:117523 comp.lang.c++:99943 comp.lang.lisp:15759

In article <3asu5u$4im@gateway.wiltel.com> igor_chudov@wiltel.com (Igor Chudov) writes:
>Simon Brooke (simon@rheged.dircon.co.uk) wrote:
>
>: Well, my education is still at fault, because although you are very
>: clear that my idea does not work, you haven't told me why. Would
>: somebody care to do so?
>
>: After all, circular data structures hit most (all?) garbage collecting
>: strategies. Anything in a circular structure necessarily does still
>: have a pointer to it, even if nothing still 'live' points to any part
>: of it. If there is a computationally tractable solution to this
>: problem, please inform us of it (I'm not being rhetorical here: I
>: don't know, but would be pleased to learn).
>
>Suppose you have the following structure: 
>
>Root object, main()
> |
> |
> V
> A -----> B -------> C
>         ^          |
>         +-- D <----+
>
>
>and you remove a reference in A pointing to B. Simple-minded incremental gc
>would think that object B is still in use when it actually isn't (there is no
>access to it from the program root and the garbge will survive forever. 

I have never seen such a simple-minded GC.  Do they exist?

However, I can well imagine an incremental / generational GC
that might miss some things until a "full GC" was done.  So
how much depends on "incremental" here?

-- jeff
