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