Skip to content
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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wasm multi-value returns support #112

Open
greenhat opened this issue Jan 29, 2024 · 2 comments
Open

Wasm multi-value returns support #112

greenhat opened this issue Jan 29, 2024 · 2 comments
Labels
frontend wasm WebAssembly frontend

Comments

@greenhat
Copy link
Contributor

Look into its support in Rust->LLVM->Wasm as well as in Wasm CM and its tooling.

@greenhat greenhat added frontend wasm WebAssembly frontend labels Jan 29, 2024
@greenhat greenhat self-assigned this Jan 29, 2024
@greenhat greenhat changed the title Determine the status of Wasm multi-value returns support Wasm multi-value returns support Jan 29, 2024
@greenhat
Copy link
Contributor Author

greenhat commented Jan 29, 2024

@bitwalker The rustc support is in place but there are still some issues (see 1, 2)

There is an interest to enable it in LLVM by default this year but it might be a bumpy ride - see 1

Canonical ABI does not support milti-value returns yet (see docs and code)

EDIT: "The knobs are there" but there are no plans to implement it. See the answer in the comment below.

@greenhat greenhat removed their assignment Jan 29, 2024
@greenhat
Copy link
Contributor Author

I got reply at Wasm zulip chat https://bytecodealliance.zulipchat.com/#narrow/stream/206238-general/topic/.E2.9C.94.20Multi-value.20returns.20support.20in.20Wasm.20component.20model.20in.20.2E.2E.2E/near/418666262

Currently AFAIK there's no plans to implement it. The knobs are all there to take advantage of it and we have binary encodings in place to eventually take advantage of it in the future too. For now it's blocked on there's no way to write a source-level program (e.g. C or Rust) which uses multi-value returns in a stable fashion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
frontend wasm WebAssembly frontend
Projects
None yet
Development

No branches or pull requests

1 participant