diff options
| author | eunhhu <[email protected]> | 2026-09-29 18:03:55 +0100 |
|---|---|---|
| committer | eunhhu <[email protected]> | 2026-09-29 18:03:55 +0100 |
| commit | 7ac82a749062bd321e2bb68c22d1e6efafdb55b7 (patch) | |
| tree | 14579cc38f266875bbb649d8f659d0336a9b7c6d /tests/surface-probe.c | |
| parent | d9e1fbddf9f92fc7850b0346f1f2511ddc0b6e54 (diff) | |
| download | pure-7ac82a749062bd321e2bb68c22d1e6efafdb55b7.tar.gz pure-7ac82a749062bd321e2bb68c22d1e6efafdb55b7.zip | |
Keep a walk's range only when its body moves no state its bound reads
A walk whose where bounds a keyed list's key finds the bound once, when
the walk begins, if its body writes nothing the bound reads. The body's
writes counted only states stored and lists changed, not what those
changes move with them: an insert or remove moves the indices into the
list, a text's change the cursors in it. A walk bounded by an index
into a list its body inserts into saw the bound it began with: of five
rows it took one (review 004, F1). Those states now count as written,
and a bound that moves an index (whose list is whichever the index's
is) is kept only when the body changes no list.
build/module-probe runs a module twice from the same keys, as it loads
and with every range let go, and says which state first differs.
check.py's module_ranges runs the review's case (all rows twice: done
10, at 10) and a walk whose bound its body cannot move, still ranged.
The probe finds the difference in the runtime before this.
Diffstat (limited to 'tests/surface-probe.c')
0 files changed, 0 insertions, 0 deletions
