Added tests for host functions calls

This commit is contained in:
Syrus
2020-06-15 13:33:46 -07:00
parent 99ed3e889e
commit 24077fb919
3 changed files with 54 additions and 2 deletions

View File

@@ -169,10 +169,10 @@ macro_rules! impl_native_traits {
}) => {
match self.arg_kind {
VMFunctionKind::Static => unsafe {
let f = std::mem::transmute::<_, unsafe fn( *mut VMContext, $( $x, )*) -> Rets>(self.address);
let f = std::mem::transmute::<_, unsafe fn( *mut VMContext, $( $x, )*) -> Rets::CStruct>(self.address);
// We always pass the vmctx
let results = f( self.vmctx, $( $x, )* );
return Ok(results);
return Ok(Rets::from_c_struct(results));
},
VMFunctionKind::Dynamic => {
let params_list = [ $( $x.to_native().to_value() ),* ];