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

Support multiple-return values in singlepass compiler #5286

Open
playX18 opened this issue Dec 6, 2024 · 1 comment
Open

Support multiple-return values in singlepass compiler #5286

playX18 opened this issue Dec 6, 2024 · 1 comment
Labels
🎉 enhancement New feature!

Comments

@playX18
Copy link

playX18 commented Dec 6, 2024

Motivation

Rust enabled multiple returns values in WASM targets in stable which means if you're compiling now it might be possible that WASM is produced with multiple return values which does not yet work on singlepass compiler and thus you have to switch to nightly and explicitly disable multiple return values in rustc and also compile with RUSTC_BOOTSTRAP to rebuild libstd without multiple return values. It's tedious and cumbersome to do, and forces users to compile on nightly which is not the best way of doing things.

Proposed solution

Implement multiple-return values in singlepass compiler.

Alternatives

No alternatives

Additional context

This feature is desired by our team at @gear-tech to make building smart-contracts on user side easier without all the shenanigans of RUSTC_BOOTSTRAP. If Wamser team is not yet working on this feature I would be happy to work on it as I have experince in X64/ARM64 assembly.

@playX18 playX18 added the 🎉 enhancement New feature! label Dec 6, 2024
@syrusakbary
Copy link
Member

Hey @playX18 , happy to have review and merge PR for singlepass on multivalue support.

We have an open-source sponsorship plan if you would like the Wasmer team to set priority for this work: https://wasmer.io/wasmer-open-source-program

Feel free to send me an email to [email protected] and we can organize next steps!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🎉 enhancement New feature!
Projects
None yet
Development

No branches or pull requests

2 participants