Commit 1bc09711 authored by Committed by Daniel Salzman
trie: support for copy-on-write transactions
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).
Showing with 734 additions and 30 deletions