Re: Divide and conquer GC algorithms

"Jon Harrop" <[email protected]> Sat, 12 Nov 2011 18:43:46 -0000
Newsgroups gmane.comp.programming.garbage-collection.general
Message-ID <[email protected]>
Yes, traditional reference counting is extremely fine-grained but what if it
could also handle coarser grains? For example, if values become unreachable
in clumps then it is surely valuable to be able to track the number of
references to either A or B in a pair (A, B) in order to deallocate both
simultaneously if they both die at the same time. There could be fewer
reference counts to increment and decrement and it would be possible to
reclaim multiple heap-allocated blocks in a single operation. It might even
be possible to replace the count of the number of direct references to each
value with a count of the number of values from which it is reachable...

> -----Original Message-----
> From: [email protected] [mailto:[email protected]] On
> Behalf Of David S. Wise
> Sent: 12 November 2011 15:26
> To: Jon Harrop
> Cc: [email protected]
> Subject: Re: [gclist] Divide and conquer GC algorithms
> 
> On 2011 Nov 12, at 4:31, Jon Harrop wrote:
> > gradually refine the granularity.
> 
> 
> Absent the intervening degrees of graularity but....
> 'Tis important to appreciate that, way down at or near each mutation,
reference
> counting is extremely granular and, therefore, remains most interesting
for
> supporting parallel processing.
> And that is why---in the face of ubiquitous "But it doesn't work for
circular
> structures" dismissals---it is used every day by each of us to sustain our
> persistent file systems (e.g. the Unix HFS).
> d
> ====
> David S. Wise +1(360)582-9233 ;  fax: +1(360)582-9233
[email protected]
> Computer Science Emeritus, Indiana University
>                     http://www.cs.indiana.edu/~dswise/