Make all the function bodies executable, not just the start function.

This commit is contained in:
Dan Gohman
2018-05-17 23:56:05 -07:00
parent d162f8bc59
commit 52f1171485

View File

@@ -84,7 +84,7 @@ pub fn execute(
let start_index = compilation.module.start_func.ok_or_else(|| { let start_index = compilation.module.start_func.ok_or_else(|| {
String::from("No start function defined, aborting execution") String::from("No start function defined, aborting execution")
})?; })?;
let code_buf = &compilation.functions[start_index]; for code_buf in &compilation.functions {
match unsafe { match unsafe {
protect( protect(
code_buf.as_ptr(), code_buf.as_ptr(),
@@ -100,6 +100,9 @@ pub fn execute(
)) ))
} }
} }
}
let code_buf = &compilation.functions[start_index];
let vmctx = make_vmctx(instance); let vmctx = make_vmctx(instance);