Implement tables and call_indirect (#12)

* Implement tables and call_indirect

* Restore comment about sig checking.

* Widen callee index on 64bit platforms.
This commit is contained in:
Sergey Pepyakin
2018-08-16 02:25:49 +03:00
committed by Dan Gohman
parent e7c8d23a42
commit 7b222190f5
5 changed files with 138 additions and 17 deletions

View File

@@ -133,8 +133,11 @@ fn handle_module(args: &Args, path: PathBuf, isa: &TargetIsa) -> Result<(), Stri
let translation = environ.translate(&data).map_err(|e| e.to_string())?;
let instance = match compile_and_link_module(isa, &translation) {
Ok(compilation) => {
let mut instance =
Instance::new(translation.module, &translation.lazy.data_initializers);
let mut instance = Instance::new(
translation.module,
&compilation,
&translation.lazy.data_initializers,
);
execute(&translation.module, &compilation, &mut instance)?;
instance
}