DDMD as showcase?
Jakob Ovrum
jakobovrum at gmail.com
Tue Feb 11 06:32:09 PST 2014
On Tuesday, 11 February 2014 at 10:29:58 UTC, thedeemon wrote:
> 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.
D code has different allocation patterns from Java and C#. In
idiomatic D, young GC-allocated objects are probably much fewer.
More information about the Digitalmars-d
mailing list