MCPcopy Create free account
hub / github.com/bytecodealliance/wasmtime / lower_args

Method lower_args

crates/wasmtime/src/runtime/component/func.rs:567–587  ·  view source on GitHub ↗
(
        cx: &mut LowerContext<'_, T>,
        params: &[Val],
        params_ty: InterfaceType,
        dst: &mut [MaybeUninit<ValRaw>],
    )

Source from the content-addressed store, hash-verified

565 }
566
567 pub(crate) fn lower_args<T>(
568 cx: &mut LowerContext<'_, T>,
569 params: &[Val],
570 params_ty: InterfaceType,
571 dst: &mut [MaybeUninit<ValRaw>],
572 ) -> Result<()> {
573 let params_ty = match params_ty {
574 InterfaceType::Tuple(i) => &cx.types[i],
575 _ => unreachable!(),
576 };
577 if params_ty.abi.flat_count(MAX_FLAT_PARAMS).is_some() {
578 let dst = &mut dst.iter_mut();
579
580 params
581 .iter()
582 .zip(params_ty.types.iter())
583 .try_for_each(|(param, ty)| param.lower(cx, *ty, dst))
584 } else {
585 Self::store_args(cx, &params_ty, params, dst)
586 }
587 }
588
589 fn store_args<T>(
590 cx: &mut LowerContext<'_, T>,

Callers

nothing calls this directly

Calls 5

flat_countMethod · 0.80
is_someMethod · 0.45
iter_mutMethod · 0.45
iterMethod · 0.45
lowerMethod · 0.45

Tested by

no test coverage detected