static void _call()

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);
    }
  }