On Thursday, 22 December 2016 at 03:57:10 UTC, Chris Wright wrote:

You can implement write barriers as runtime calls, but omit them in @nogc code.

That means redefining what @nogc means. Currently it basically means "does not GC-allocate" and you want to change it to "does not mutate GC-allocated objects" which is very different and hardly possible to check in compiler without further changing the language.

However, this would be costly -- it's an expensive technique in general;

Yep, that's what I'm saying. Fast GC has a price on the rest code speed. Fast code has a price on GC. Unless you separate them very clearly by language means.


Reply via email to