@icedquinn I thought about it for a bit and I think there is an argument that SATB does literally incrementally compute a snapshot by logging, though it’s more obvious in hybrid coalescing RC/SATB like Levanoni-Petrank and LXR where we’re logging the old values of fields/slots that we update. In pure SATB we only care for the old value to mark it before we update some location, so we mark it right before we update, processing the log entry immediately; coalescing RC needs to know both the old value and what location it came from in order to update refcounts, so we have to actually store the log.