dsimcha wrote:
== Quote from Sean Kelly (s...@invisibleduck.org)'s article
== Quote from Christopher Wright (dhase...@gmail.com)'s article
This isn't unreasonable, and it really just depends on how complete and
how fast D's runtime reflection is.
This would incur more memory overhead as well. Right now, we make
do with one bit per block that indicates whether the block should be
scanned for pointers, while this may theoretically require a pointer
to TypeInfo per block in order to perform precise scanning.
Sean
Under what use cases would this extra few bytes really matter? What kinds of
programs allocate so many objects that this overhead would be significant in
practice?
It means that you can't use one block for objects of multiple types.
That's a limitation on how you implement a GC, and it could possibly
increase your overhead a lot more than converting a bit to a word.
(Unless you use some tricks, that bit will take at least one byte, maybe
more depending on alignment.)