return
return
returns from a function.
- If there are no values left on the stack, it returns nothing/void.
- If there are the same amount of values left on the stack as specified in the function's type signature, it returns those values.
- If there are more values than the function's return type specifies, then the topmost N values are returned, and the remaining values on the stack are discarded.
Try it
(module
(func (export "get_90") (result i32)
;; load 10 onto the stack
i32.const 10
;; load 90 onto the stack
i32.const 90
;; return the second value (90); the first is discarded
return
)
)
const url = "{%wasm-url%}";
await WebAssembly.instantiateStreaming(fetch(url)).then((result) => {
const { get_90 } = result.instance.exports;
console.log(get_90());
// Expected output: 90
});
Syntax
wasm
f32.const 4.3
return
wasm
i32.const 7
f32.const 4.3
return
Instruction | Binary opcode |
---|---|
return |
0x0f |