On 2008-12-13 04:24:54 +0100, dsimcha <dsim...@yahoo.com> said:

== Quote from Christopher Wright (dhase...@gmail.com)'s article
It means that you can't use one block for objects of multiple types.

Sure you can, without being any worse off than under the current scheme. Mark the contents of the memory as an array of void*s. This would have the same effect as marking it for GC scanning under the current scheme, basically making the GC scan the block conservatively. Furthermore, if you're storing value types or pointers to reference types that also have a pointer stored in a GC-scanned block, set the typeinfo to byte or something, and you have the equivalent of setting the NO_SCAN bit.

it should be an array of void (or union pointer, non pointer), they should be pinned. Also all pointers given to C (and potentially pointers reachable from them) should be pinned.
This makes system programming difficult.
If one has a closed system with just D then it is easier.

Fawzi

Reply via email to