Is there a modern GC for D?

Justin Johansson no at spam.com
Wed Feb 10 03:35:49 PST 2010


Robert Jacques wrote:
> Based on a thread on the DMD concurrency mailing list I've begun to get 
> a sinking regarding the future of the garbage collector in D: most of 
> the work in GC algorithms has gone into functional and (mostly) pure-OO 
> languages, leaving a multi-paradigm systems programming language like D 
> out in the cold. So far, I know mark-sweep and mark-region algorithms in 
> either serial, parallel or thread-local forms should work. But based on 
> Java we'd really like incremental, generational and/or concurrent 
> options. So I'd like to ask people to help brainstorm some ideas.
> 
> Some things I've run into:
> -structs/pointers/slices/etc make finding memory meta information, like 
> mark-bits or ref-counts, non-trivial.
> -C function calls and assembler blocks make code instrumentation 
> questionable.
> -Getting concurrent GC code correct is very hard. Boehm's algorithm, for 
> instance, looks extremely racy.
> 
> Thanks!

As my high school maths teacher used to say:

Good question; next question. :-)

Justin Johansson





More information about the Digitalmars-d mailing list