Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!us.feeder.erje.net!news.linkpendium.com!news.linkpendium.com!news.iecc.com!.POSTED!nerds-end From: "Robin Vowels" Newsgroups: comp.compilers Subject: Re: Historical Implementations to Garbage Collectors Date: Tue, 6 May 2014 01:23:50 +1000 Organization: Compilers Central Lines: 33 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <14-05-016@comp.compilers> References: <14-05-001@comp.compilers> <14-05-009@comp.compilers> <14-05-012@comp.compilers> NNTP-Posting-Host: news.iecc.com Mime-Version: 1.0 Content-Type: text/plain; format=flowed; charset="iso-8859-1"; reply-type=original Content-Transfer-Encoding: 7bit X-Trace: miucha.iecc.com 1399321163 95347 2001:470:1f07:1126:0:676f:7373:6970 (5 May 2014 20:19:23 GMT) X-Complaints-To: abuse@iecc.com NNTP-Posting-Date: Mon, 5 May 2014 20:19:23 +0000 (UTC) Keywords: GC, history Posted-Date: 05 May 2014 16:19:23 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: csiph.com comp.compilers:1241 "Kaz Kylheku" > On 2014-05-04, Robin Vowels wrote: >>: wrote: >>> I'm interested in studying historical implementations of garbage >>> collection in early programming languages (BASIC, Lisp, etc). I'm >>> especially interested in language/runtime interface descriptions. >>> Does anybody have references they can share? >> >> McKeeman, Horning, and Wortman's XPL compiler used garbage >> collection for strings on S/360. Collection was automatic >> and invisible to the user. >> >> No tags were needed. > > Why would there be tags; I mentioned it only only because John mentioned tags in one implementation that he cited. > strings don't point to other strings. There are no > arcs or cycles in the graph. You never have to solve the problem "has the > garbage collector already visited this string", since you can use a handles to > keep track of strings---hence there is no need to walk the graph of non-string > objects in order to find strings; just the array or list of string handles, > where no two handles reference the same string. In the XPL implementation, multiple references [handles] to the same string can occur. Furthermore, strings can overlap; that is, two or more handles can point to different parts of the same string. -- This email is longer than it should be because avast! Antivirus protection is active. http://www.avast.com