cranelift-wasm: support multi-value Wasm (#1049)
This commit introduces initial support for multi-value Wasm. Wasm blocks and calls can now take and return an arbitrary number of values. The encoding for multi-value blocks means that we need to keep the contents of the "Types" section around when translating function bodies. To do this, we introduce a `WasmTypesMap` type that maps the type indices to their parameters and returns, construct it when parsing the "Types" section, and shepherd it through a bunch of functions and methods when translating function bodies.
This commit is contained in:
@@ -31,6 +31,7 @@ fn testsuite() {
|
||||
let flags = Flags::new(settings::builder());
|
||||
for path in paths {
|
||||
let path = path.path();
|
||||
println!("=== {} ===", path.display());
|
||||
let data = read_module(&path);
|
||||
handle_module(data, &flags, ReturnMode::NormalReturns);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user