optimize get_wasmtime_signature (#2243)

This commit is contained in:
zhiqiangxu
2020-09-29 12:49:46 +08:00
committed by GitHub
parent 92d3261366
commit a8a6e4e69d

View File

@@ -252,21 +252,20 @@ impl FuncType {
use wasmtime_environ::ir::{AbiParam, ArgumentPurpose, Signature}; use wasmtime_environ::ir::{AbiParam, ArgumentPurpose, Signature};
use wasmtime_jit::native; use wasmtime_jit::native;
let call_conv = native::call_conv(); let call_conv = native::call_conv();
let mut params = self let mut params = vec![
.params AbiParam::special(pointer_type, ArgumentPurpose::VMContext),
AbiParam::new(pointer_type),
];
params.extend(
self.params
.iter() .iter()
.map(|p| AbiParam::new(p.get_wasmtime_type())) .map(|p| AbiParam::new(p.get_wasmtime_type())),
.collect::<Vec<_>>(); );
let returns = self let returns = self
.results .results
.iter() .iter()
.map(|p| AbiParam::new(p.get_wasmtime_type())) .map(|p| AbiParam::new(p.get_wasmtime_type()))
.collect::<Vec<_>>(); .collect::<Vec<_>>();
params.insert(
0,
AbiParam::special(pointer_type, ArgumentPurpose::VMContext),
);
params.insert(1, AbiParam::new(pointer_type));
Signature { Signature {
params, params,