diff --git a/lib/kwasm-loader/src/lib.rs b/lib/kwasm-loader/src/lib.rs index 3e98175db..5d5489805 100644 --- a/lib/kwasm-loader/src/lib.rs +++ b/lib/kwasm-loader/src/lib.rs @@ -74,7 +74,7 @@ impl Loader for KernelLoader { ::std::slice::from_raw_parts(ctx.dynamic_sigindices, full_ctx.dynamic_sigindice_count()) ) }; - let local_param_counts: Vec = (module.imported_functions.len()..module.func_assoc.len()) + let param_counts: Vec = (0..module.func_assoc.len()) .map(|x| module.signatures.get(*module.func_assoc.get(FuncIndex::new(x)).unwrap()).unwrap().params().len()) .collect(); let profile = LoadProfile { @@ -90,7 +90,7 @@ impl Loader for KernelLoader { Ok(KernelInstance { context: sc, offsets: rm.get_offsets().unwrap(), - param_counts: local_param_counts, + param_counts: param_counts, }) } } diff --git a/lib/runtime-core/src/instance.rs b/lib/runtime-core/src/instance.rs index f6d6a7a0c..f87c62810 100644 --- a/lib/runtime-core/src/instance.rs +++ b/lib/runtime-core/src/instance.rs @@ -220,7 +220,7 @@ impl Instance { } } - pub fn resolve_local_func(&self, name: &str) -> ResolveResult { + pub fn resolve_func(&self, name: &str) -> ResolveResult { let export_index = self.module .info @@ -231,13 +231,7 @@ impl Instance { })?; if let ExportIndex::Func(func_index) = export_index { - match func_index.local_or_import(&self.module.info) { - LocalOrImport::Local(x) => Ok(x.index()), - LocalOrImport::Import(x) => Err(ResolveError::ExportWrongType { - name: name.to_string(), - } - .into()) - } + Ok(func_index.index()) } else { Err(ResolveError::ExportWrongType { name: name.to_string(), diff --git a/src/bin/kwasmd.rs b/src/bin/kwasmd.rs index 3fd745fc6..5a7c327ca 100644 --- a/src/bin/kwasmd.rs +++ b/src/bin/kwasmd.rs @@ -84,7 +84,7 @@ fn handle_client(mut stream: UnixStream) { args.push(Value::I64(stream.read_u64::().unwrap() as _)); } - let index = instance.resolve_local_func(func_name).unwrap(); + let index = instance.resolve_func(func_name).unwrap(); let ret = ins.call(index, &args); match ret { Ok(x) => {