vere icon indicating copy to clipboard operation
vere copied to clipboard

serf: stay in an inner road between events

Open joemfb opened this issue 1 year ago • 0 comments

This PR runs the serf in an inner road, as long as possible. In practice, the serf will return to the home road to take a snapshot or for |pack, |meld, and |mass.

With this change, all allocations of events and effects no longer modify persistent state. Home-road unification (which we don't have) is somewhat deprioritized, as arvo lives on an inner road between snapshots. On the other hand, with the more efficient free-list utilization from #539, the many small (re)allocations involved in incremental arvo updates should help to defragment the home-road heap.

This PR is a draft because the changes are still somewhat messy, and the error-handling behavior after this change needs to be carefully tested.

This PR should help with urbit/urbit#6805

joemfb avatar Oct 12 '23 15:10 joemfb