DDMD as showcase?

thedeemon dlang at thedeemon.com
Tue Feb 11 02:29:57 PST 2014


On Tuesday, 11 February 2014 at 04:36:28 UTC, Adam Wilson wrote:

> The GC itself is an orthogonal issue to the compiler. The way I 
> see it, once the compiler can output precise information about 
> the heap, stack, and registers, you can build any GC you want 
> without the compiler requiring any knowledge of the GC.

If you want a fast GC it needs to be generational, i.e. most of 
the times scan just a portion of heap where young objects live 
(because most objects die young), not scan whole heap each time 
(as in current D GC). However in a mutable language that 
young/old generation split usually requires write barriers: 
compiler must emit code differently: each time a pointer field of 
a heap object is mutated it must check whether it's a link from 
old gen to young gen and remember that link (or just mark the 
page for scanning). So to have a generational GC in a mutable 
language you need to change the codegen as well. At least this is 
how most mature GCs work.


More information about the Digitalmars-d mailing list