Discusssion on the Discussion of the Design for a new GC

Leandro Lucarella via Digitalmars-d digitalmars-d at puremagic.com
Thu Apr 24 09:26:18 PDT 2014


On Thursday, 24 April 2014 at 14:22:17 UTC, Dicebot wrote:
> On Thursday, 24 April 2014 at 14:15:45 UTC, Orvid King wrote:
>> On Thursday, 24 April 2014 at 10:14:07 UTC, Kagamin wrote:
>>> On Wednesday, 23 April 2014 at 18:35:26 UTC, Messenger wrote:
>>>> On Wednesday, 23 April 2014 at 15:33:36 UTC, Orvid King 
>>>> wrote:
>>>>> After all of that, I intend to include a base draft of the 
>>>>> design of the GC, along with opening the PRs and committing 
>>>>> the starting API. So, is there something I’m missing? Am I 
>>>>> overlooking the obvious? Is there a more practical way to 
>>>>> produce the same results?
>>>>
>>>> What is the state of Rainer Schütze's precise gc? 
>>>> Duplication of effort and all that.
>>>
>>> Also CDGC http://www.llucax.com.ar/proj/dgc/
>>
>> Ah, I hadn't realized he had actually implemented the 
>> concurrent GC he gave a talk on, I will make sure to look over 
>> the code before writing out the design. I was also planning on 
>> watching the full talk before posting the design, to make sure 
>> that it doesn't prevent any aspects of the design from working.
>
> Leandro's CDGC is used as default GC in Sociomantic 
> applications, so it is not only implemented but also 
> extensively production-tested :) I have pinged him to give some 
> feedback about issues he has encountered when trying to port it 
> to D2.

I didn't find any particular issues with the porting, I just 
didn't get far enough with the porting. My idea was to add 
patches on top of the current implementation instead of rolling 
out a complete new implementation from the scratch, since there 
were a few changes to the GC in D2, the porting should be done 
with a lot of care.

There is still also the problem with threading, see 
https://www.dsource.org/projects/tango/ticket/2087 for details.

BTW, if someone wants to take over the porting, and also do it 
"patch by patch" I recommend consulting this repo: 
http://git.llucax.com.ar/w/software/dgc/cdgc.git (here is where 
the complete history of the changes live, not in tango). And of 
course, feel free to contact me for any questions advice you 
might need!


More information about the Digitalmars-d mailing list