DIP60: @nogc attribute

Walter Bright via Digitalmars-d digitalmars-d at puremagic.com
Wed Apr 16 17:12:10 PDT 2014


On 4/16/2014 5:06 PM, Michel Fortin wrote:
> It's not just ARC. As far as I know, most GC algorithms require some action to
> be taken when changing the value of a pointer. If you're seeing this as
> unnecessary bloat, then there's not much hope in a better GC for D either.

Yeah, those are called write gates. The write gate is used to tell the GC that 
"I wrote to this section of memory, so that bucket is dirty now." They're fine 
in a language without pointers, but I just don't see how one could write fast 
loops using pointers with write gates.

> But beyond that I wonder if @nogc won't entrench that stance even more. Here's
> the question: is assigning to a pointer allowed in a @nogc function?  Of course
> it's allowed! Assigning to a pointer does not involve the GC in its current
> implementation... but what if another GC implementation to be used later needs
> something to be done every time a pointer is modified, is this "something to be
> done" allowed in a @nogc function?

It would have to be.



More information about the Digitalmars-d mailing list