Excellent. Don't forget to add the test for that invariant to gc.c under debug mode. On a different note, did you want modeEqMark() to be inline? I don't know how hot this function is, but one could probably do this with only one test and an xor, right? I.e., (bit & mask ) ^ mode, or something like that.