Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!uunet!zephyr.ens.tek.com!tekcrl!tekgvs!jans From: jans@tekgvs.LABS.TEK.COM (Jan Steinman) Newsgroups: comp.sw.components Subject: Re: Garbage Collection & ADTs (w/bib) Message-ID: <6024@tekgvs.LABS.TEK.COM> Date: 29 Sep 89 18:38:13 GMT Organization: Tektronix Inc., Beaverton, Or. Lines: 25 <..A good garbage collector will reclaim loops of ANY complexity IF they are garbage. I don't have the best reference handy, but page 682 of "Smalltalk-80 The Language and its Implementation" may give you a hint as to how such GC works.> Smalltalk-80, as described in the "Blue Book", uses a combination of reference counting and mark-sweep. Few, if any, modern implementations use such an inefficient scheme. "Generation scavenging" seems to be the latest and greatest, and it also reclaims arbitrarily long cyclic garbage. It has some drawbacks if loops contain garbage of widely differing ages, but evidence suggests (at least in Smalltalk) that cyclic garbage tends to be contemporary. * Caudill, P "A Third Generation Smalltalk-80 Implementation", OOPSLA 86 Proceedings, Oct 1986. * Deutsch, LP "An Efficient Incremental Automatic Garbage Collector", CACM Sep 1976. * Lieberman, H "A Real-Time Garbage Collector Based on the Lifetimes of Objects", CACM, Jun 1983. * Ungar, D "Generation Scavenging: A Non-disruptive High Performance Storage Reclamation Algorithm", SIGSOFT/SIGPLAN Proceedings, Apr 1984. Jan Steinman - N7JDB Electronic Systems Laboratory Box 500, MS 50-370, Beaverton, OR 97077 (w)503/627-5881 (h)503/657-7703