Skip to main content

eval_wprog_config_probed

Function eval_wprog_config_probed 

Source
pub fn eval_wprog_config_probed(
    cfg: &WProgConfig,
    params: &[i64],
    heap_init: &[i64],
) -> (i64, u64, Vec<i64>, usize)
Expand description

As eval_wprog_config_counted_heap_preloaded but also returns the PEAK call-frame depth the run reached.

Every other config dimension (blocks, cells, registers, live-ins, konsts) is a STATIC property the fit-check reads straight off the config. Frame depth is not: it depends on the arguments, so the only way to size the engine’s DEPTH against a program is to run the program. Without this the sizing oracle is blind in exactly the dimension the hardware corrupts silently — the engine advances sp past DEPTH with no bound check, so an over-deep call returns a plausible wrong number rather than failing.