Re: Daily gclist MIME digest V5 #102

Robert Virding <[email protected]> Tue, 21 Oct 2008 00:13:20 +0200
Newsgroups gmane.comp.programming.garbage-collection.general
Message-ID <[email protected]>
I didn't mention it but I did actually do an implementation of reference 
counting gc based on what was written in the book. It worked very well. 
There is something very satisfying, at the end of a long run when you 
take down the system in a controlled manner, to see all the counts go to 
zero and everything reclaimed as it should be.

Anyway I had considered the problem of memory fragmentation, although I 
didn't do any proper analysis of it. To get around it I used a very 
simple solution, all allocated cells were of the same size. Larger 
objects were just chains of the basic cell. The cell was three words so 
as to be able fit a list cell, (type/count - head - tail). It worked 
surprisingly well. I had no cyclic memory references either which made 
things easier.

Robert

Boehm, Hans wrote:
> It might be worth pointing out that, at least if I correctly understand the technique being referred to, it potentially (under conditions that are hopefully unlikely in practice) squares space consumption.  See http://portal.acm.org/citation.cfm?doid=964001.964019 for a proof.
>
> Hans
>
>   
>> -----Original Message-----
>> From: [email protected]
>> [mailto:[email protected]] On Behalf Of Richard Jones
>> Sent: Thursday, October 16, 2008 2:45 AM
>> To: [email protected]
>> Cc: Robert Virding
>> Subject: Re: [gclist] Daily gclist MIME digest V5 #102
>>
>> Another possibility is that what you recall is Scott Baden's
>> chapter "Low overhead storage reclamation in the Smalltalk-80
>> virtual machine"
>> in Glenn Krasner, ed., Smalltalk-80: Bits of History, Words
>> of Advice, Addison-Wesley, 1983. (I think) I recall that it
>> gave a particularly clear description of deferred reference counting.
>>
>> Richard
>>
>>     
>>> Date: Tue, 14 Oct 2008 21:57:24 +0200
>>> From: Robert Virding <[email protected]>
>>> To: [email protected]
>>> Subject: Help finding a book and some gc references
>>> Message-ID: <[email protected]>
>>>
>>> Hi, I need some help finding the name of a book.
>>>
>>> The book is quite old, from the late eighties. I can't remember the
>>> name of even the general content. However, there was a
>>>       
>> chapter in the
>>     
>>> book about reference counting garbage collection and how to make it
>>> interactive without long pause times. The author used something he
>>> called a TBD list (to be dereferenced) where you push references to
>>> objects which are to have the reference count decremented. When an
>>> object is completely deferenced then its children are pushed on the
>>> stack and so you avoid having to potentially free a large object in
>>> one go. I know the technique is described in many places, but this
>>> description was very understandable. And I remember the rest of the
>>> book as well, but I had only borrowed the book.
>>>
>>>