pub fn compile_program_with_mir_fallback(
items: &[ResolvedTopLevel],
symbols: &SymbolTable,
arena: &mut Arena,
analysis: Option<&AnalysisResult>,
) -> Result<(CodeStore, Vec<NanValue>), CompileError>Expand description
Phase 4b of #252: compile with MIR-first dispatch + HIR
fallback. Per fn: if the fn’s body lowers cleanly to MIR
and MIR-emit produces bytecode, use that chunk; otherwise
fall back to the existing HIR walker. The fallback is
deliberate — every fn that lands in MirVmUnsupported
territory (Match / Try / TailCall / Construct / Record* /
Project / List / Tuple / Map / InterpolatedStr /
IndependentProduct / builtin callees / first-class fn
values) keeps the well-tested HIR shape.
Same I/O contract as [compile_program]; the only
difference is the per-fn dispatch.