pub(crate) fn run_once(
program: &Arc<Program>,
sources: &Arc<SourceMap>,
module: &str,
entry: &str,
allow: &[String],
trace: Arc<dyn TraceSink>,
backend: Backend,
ir: Option<&Arc<Program>>,
) -> RunMeasurementExpand description
Builds a fresh registry, budget, and backend – exactly what cove run
builds for one run – and calls module.entry once under trace.
ir is Some on a vm row and None on an ast one; everything
either backend is given is built the same way and given to both, so the
difference between two measurements is the backend and nothing around it.