This would be great, and is greatly needed. but I have a question for the performance junkies here:
If the cost of atomically setting bits in the mark bitmap turns out to be
high, we could instead dedicate a byte per object for the mark. This idea is
mentioned in GC literature [Garner, 2007]. Obviously, this involves an 8×
increase in memory overhead. It’s likely that on modern hardware, the
cost of the atomic bit operation is small, while the cost of increasing
the cache footprint of the mark structure is probably large.
I have been trained to think of an atomic operation at the CPU level flushing the cache line, and possibly L1 and further impacting all cores sharing the cache. This statement implies the opposite. Can anyone comment on this vis-a-vis a modern intel chip?