New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

馃洡 Multi-value #1146

jfbastien opened this Issue Nov 3, 2017 · 4 comments


None yet
6 participants

jfbastien commented Nov 3, 2017

This is a tracking issue for a post-MVP feature
It will be updated as the issue progresses.

Topic Multi-value
Champion Andreas Rossberg @rossberg
Status in progress
Phase Implementation phase
Linked issues #937, #667,
Linked repositories


  • Multiple return values for functions:

    • enable unboxing of tuples or structs returned by value
    • efficient compilation of multiple return values
  • Multiple results for instructions:

    • enable instructions producing several results (divmod, arithmetics with carry)
  • Inputs to blocks:

    • loop labels can have arguments
    • can represent phis on backward edges
    • enable future pick operator to cross block boundary
    • macro definability of instructons with inputs
      • i32.select3 = dup if ... else ... end

This comment has been minimized.


kripken commented Nov 3, 2017

Were any numbers presented about how much this can be used in practice? I think previous notes said something about testing in the wasm backend and elsewhere, to see code size etc. Sorry if I missed it in the notes.


This comment has been minimized.


jfbastien commented Nov 5, 2017

@kripken I believe you're asking about WebAssembly/meetings#94


This comment has been minimized.

phreda4 commented Jan 13, 2018

I need this feature for implement a forth compiler to webassembly, without this, I need simulate the stack of parameters.

@WebAssembly WebAssembly locked and limited conversation to collaborators Jan 14, 2018


This comment has been minimized.


binji commented Oct 16, 2018

@binji binji closed this Oct 16, 2018

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.