-
A COW transaction allows a trie to be used for reading concurrently while a modified version of the trie is being prepared. The change can be committed by swapping the new trie root in place of the old one. Internally, this feature uses one bit reference counts to identify which parts of the trie are shared between the old and new versions, which parts are new-only (so can be mutated) and which parts are old-only (and will be free()d after commit).
1bc09711