![]() The old loop had two separate places where it would flush the acumulated list of straight-line blocks into a new BCB. One occurred at the start of the loop body when the current block couldn't be chained into, and the other occurred at the end of the loop body when the current block couldn't be chained from. The latter check can be hoisted to the start of the loop body by making it examine the previous block (which has added itself to the list) instead of the current block. With that done, we can combine the two separate flushes into one flush with two possible trigger conditions. |
||
---|---|---|
.. | ||
spans | ||
counters.rs | ||
graph.rs | ||
mod.rs | ||
query.rs | ||
spans.rs | ||
tests.rs |