Representation of WebAssembly control flow.
Normally written as
WasmControl s e pre post
Type parameter s is the type of (unspecified) statements.
It might be instantiated with an open Cmm block or with a sequence
of Wasm instructions.
Parameter e is the type of expressions.
Parameter pre represents the values that are expected on the
WebAssembly stack when the code runs, and post represents
the state of the stack on completion.
Constructors
WasmPush :: WasmTypeTag t -> b -> WasmControl a b c (t ': c)WasmBlock :: WasmFunctionType c d -> WasmControl a b c d -> WasmControl a b c dWasmLoop :: WasmFunctionType c d -> WasmControl a b c d -> WasmControl a b c dWasmIfTop :: WasmFunctionType pre d -> WasmControl a b pre d -> WasmControl a b pre d -> WasmControl a b ('I32 ': pre) dWasmBr :: Int -> WasmControl a b c dWasmFallthrough :: WasmControl a b c dWasmBrTable :: b -> BrTableInterval -> [Int] -> Int -> WasmControl a b c dWasmTailCall :: b -> WasmControl a b c dWasmActions :: a -> WasmControl a b c cWasmSeq :: WasmControl a b c mid -> WasmControl a b mid d -> WasmControl a b c d