[Vm-dev] Looking for resources explaining Spur GC

phil at highoctane.be phil at highoctane.be
Mon May 8 11:42:06 UTC 2017


Excellent book indeed.

Do you have those papers you mention in PDF form somewhere? (in case
they are behind a paywall)

Phil



On Mon, May 8, 2017 at 11:52 AM, Clément Bera <bera.clement at gmail.com> wrote:
>
> Hi Yuriy,
>
> There is one main paper about Spur, but it focuses on forwarding objects / become:
> A Partial Read Barrier for Efficient Support of Live Object-Oriented Programming
> https://hal.inria.fr/hal-01152610/file/partialReadBarrier.pdf
>
> Spur's scavenger is an implementation of this paper:
> Generation Scavenging, A Non-disruptive, High-Performance Storage Reclamation Algorithm
> David Ungar
>
> The tenuring policy is an implementation of this paper:
> An adaptive tenuring policy for generation scavengers
> David Ungar & Frank Jackson
> + some new features not described in papers
>
> In addition,
> I wrote a "Spur GC overview" here: https://clementbera.wordpress.com/2017/03/12/tuning-the-pharo-garbage-collector/
> Eliot wrote some blog post about Spur, but it focuses on object representation and forwarding objects, not on the GC.
>
> Else there is a very good book about GC by Richard Jones and Antony Hosking (best book about GC according to many VM implementors):
> https://www.amazon.com/Garbage-Collection-Handbook-Management-Algorithms/dp/1420082795/ref=sr_1_1?s=books&ie=UTF8&qid=1494236960&sr=1-1&keywords=garbage+collection+handbook
>
> Lastly, don't hesitate to ask questions on the GC on this mailing list or to read the class comment in VMMaker (SpurMemoryManager class comment for instance) :-)
>
> On Mon, May 8, 2017 at 11:16 AM, Yuriy Tymchuk <yuriy.tymchuk at me.com> wrote:
>>
>>
>> Hi everyone,
>>
>> I am assisting in teaching a compiler construction course in the University of Bern. On the last lecture students learned about the basic ideas of garbage collection which was exemplified on Pharo/Squeak. However I found the slides a bit outdated as they explained mark and sweep as well as basic tenuring. To my knowledge Spur is more complicated as it has the scavenger garbage collector, has multiple generations of objects, etc. Is there any presentation of a paper describing how GC works in Spur? Because some students want to learn more (as well as myself).
>>
>> Also excuse me please if I wrote something stupid :) I’m not an expert in VMs, but I want to learn.
>>
>> Cheers.
>> Uko
>
>
>


More information about the Vm-dev mailing list