Skip to main content

node_tier

Function node_tier 

Source
pub fn node_tier(
    node: &dyn PolydatNode,
    wire_types: &[PortType],
) -> CompileLevel
Expand description

The highest tier a node can reach, given the types of the wires feeding it: the one answer to a question four places were asking separately.

The order is the one every builder walks. Native first, since a node with a lowering joins a segment; then the compiled forms, in the order assembly::node_step_op tries them — a copy step, the scalar compiled_u64, the node’s own slot kit; then the interpreter.

The wire types are not optional. compiled_slot is offered per call site with the types the kernel fixed, so a caller without them can only ask the first two questions, and the three callers that reported a tier rather than selecting one did exactly that — they asked compiled_u64().is_some() and called a node with a slot kit Phase1, which is what the binary printed for printf.