[gclist] Unreal

David Chase chase@world.std.com
Sun, 18 Jul 1999 00:40:33 -0400


At 03:56 AM 7/18/99 +1200, Nigel Bree wrote:

>In my own collector, I store mark bits separate from objects, in a bit-vector
>local to the collection. While in my case the (C++ based) objects and indeed
>program footprint is small enough to make this unnecessary, I do it as a
>cautious measure to avoid causing VM stress - although any even partially
>conservative collector is likely to stress the VM system, I figure a mark bit
>in the object header is likely to be unhelpful overall. I await correction
>from Hans, David Chase et al. :-)

Uh, no.  I think storing the mark bits separately is a good idea.
You do win somewhat on locality of writing cache
lines/pages, and you also protect yourself somewhat from C/C++
accidents in which you overwrite collector data structures
(collector bugs are bad enough without that additional hair).
It also gives you somewhat more freedom to fiddle with your
collector without changing your object format, which might
matter to you in a big C/C++ system.

David Chase
NaturalBridge LLC