Description
GCIdMarkAndRestore is not really needed, we can let the normal GCIdMark have the restore semantics and get rid of GCIdMarkAndRestore. GCId and GCIdMark can also be cleaned up a bit, for example. the GCIdMark::_gc_id member is unnecessary, some functions return "const uint" instead of "uint", etc.