D2 port of Sociomantic CDGC available for early experiments

Dicebot via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Mon Oct 6 09:51:06 PDT 2014


https://github.com/D-Programming-Language/druntime/pull/985

Here is initial port result available for early experiments. It 
can be compiled with make -f posix.mak GC_TYPE=concurrent and 
passes the test suite with only shared library tests disabled 
(ef20b7a).

There are still many issues to be aware of:
1) Documentation is largely missing. Working on it, reading 
@leandro-lucarella-sociomantic old posts 
(http://www.llucax.com.ar/blog/blog/tag/understanding%20the%20current%20gc) 
may help in the meanwhile
2) Code style differs from Phobos standards. To be fixed soon.
3) Shared library support is completely missing. Proxy 
infrastructure similar to one in existing gc needs to be added 
and I don't know if actual implementation will work in such 
environments or more changes will be needed.
4) Deadlock issue 
(http://www.dsource.org/projects/tango/ticket/2087) still 
remains. It is not critical to our code because it almost never 
uses threads so no big effort was put into it but this can be 
huge problem for any other project.

In general this is very far from something that can be merged 
upstream straight away and replace default GC on linux. It can be 
interesting for other projects with similar architecture and 
requirements and probably helpful for anyone else working on 
better D GC.

And contributions are welcome via pull requests towards this PR 
base branch 
(https://github.com/mihails-strasuns-sociomantic/druntime-1/tree/sociomantic-cdgc-wip) 
or as e-mail patches (public at dicebot.lv)


More information about the Digitalmars-d-announce mailing list