Skip to main content

program_with_roots

Function program_with_roots 

Source
pub fn program_with_roots(defs: usize, roots: usize) -> String
Expand description

defs shared definitions reachable from each of roots roots.

§17.2 makes tier splitting reachability over the product of the definition set and the root set. To measure the product rather than either factor, the definitions must be shared: a chain of defs functions, and roots server-placed signals each rooted at the head of that chain. The source is O(defs + roots) lines and the reachable set is defs × roots pairs, so any gap between the two is the pass’s own.

Server placement is what mints a root here. zdc build refuses to emit a server function (§16.5, M6), which is why this measures split and ifc directly rather than going through the whole pipeline — those two passes run on the program regardless of whether anything is emitted.