On Friday, 21 November 2014 at 10:24:09 UTC, Kagamin wrote:
On Thursday, 25 September 2014 at 21:59:15 UTC, Sean Kelly wrote:
On Thursday, 25 September 2014 at 13:55:42 UTC, Wyatt wrote:

The caveat for D being this design requires read and write barriers and I'm pretty sure I recall correctly that those have been vetoed several times for complexity.

Pretty much for reasons of being able to call C functions and inline asm code. Memory barriers may still be possible in these scenarios, but they would be extremely expensive.

BTW, C usually accepts data only for reading, and writes mostly strings and buffers - plain data without pointers. In both cases it doesn't need to notify GC (as far as I understand write barriers).

"usually" isn't sufficient if you're trying to make a GC that doesn't collect live data. It's possible that we could do something around calls to extern (C) functions that accept a type containing pointers, but I'd have to give this some thought.

Reply via email to