Files
wasmtime/cranelift/wasmtests/multi-8.wat
Nick Fitzgerald 10be3e4ba8 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.
2019-10-02 12:40:35 -07:00

13 lines
288 B
Plaintext

(module
(func (export "f") (param i64 i32) (result i64)
(local.get 0)
(local.get 1)
;; If with else. Same number of params and results.
(if (param i64) (result i64)
(then
(drop)
(i64.const -1))
(else
(drop)
(i64.const -2)))))