in wasm/lib/src/module.dart [101:118]
static void _call(
Pointer<_WasmFnImport> imp,
Pointer<WasmerValVec> rawArgs,
Pointer<WasmerValVec> rawResult,
) {
final fn = _wasmFnImportToFn[imp.address] as Function;
final args = [];
for (var i = 0; i < rawArgs.ref.length; ++i) {
args.add(rawArgs.ref.data[i].toDynamic);
}
assert(
rawResult.ref.length == 1 || imp.ref.returnType == wasmerValKindVoid,
);
final result = Function.apply(fn, args);
if (imp.ref.returnType != wasmerValKindVoid) {
rawResult.ref.data[0].fill(imp.ref.returnType, result);
}
}