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