> In case of passing GC memory to C functions, I would prefer to just 
> disallow the C code to capture the reference, and to disable GC while 
> the C function runs.

Wouldn't this be a problem with non concurrent GC? If you have multiple threads 
that spend most of the time in C function calls (for example performing IO), 
garbage collection would be impossible most of the time. In the extreme case 
garbage would never be collected.

Couldn't we just require that the programmer keeps a reference to the memory 
passed to C in a D variable? AFAIK python does it that way, but
I don't use python enough to know if it causes serious problems there.

Reply via email to