alexcrichton opened PR #6649 from alexcrichton:remove-wasmtime-abi
to bytecodealliance:main
:
This commit removes the
Wasmtime*
family of ABIs from Cranelift. These were originally added to support multi-value in Wasmtime via theTypedFunc
API, but they should now no longer be necessary. In general this is a higher-level Wasmtime concern than something all backends of Cranelift should have to deal with.Today with recent refactorings it's possible to remove the reliance on ABI details for multi-value and instead codify it directly into the Cranelift IR generated. For example wasm calls are able to have a "purely internal" ABI which Wasmtime's Rust code doesn't see at all, and the Rust code only interacts with the native ABI. The native ABI is redefined to be what the previous Wasmtime ABIs were, which is to return the first of a 2+ value return through a register (native return value) and everything else through a return pointer.
<!--
Please make sure you include the following information:
If this work has been discussed elsewhere, please include a link to that
conversation. If it was discussed in an issue, just mention "issue #...".Explain why this change is needed. If the details are in an issue already,
this can be brief.Our development process is documented in the Wasmtime book:
https://docs.wasmtime.dev/contributing-development-process.htmlPlease ensure all communication follows the code of conduct:
https://github.com/bytecodealliance/wasmtime/blob/main/CODE_OF_CONDUCT.md
-->
alexcrichton requested fitzgen for a review on PR #6649.
alexcrichton requested wasmtime-compiler-reviewers for a review on PR #6649.
alexcrichton requested wasmtime-core-reviewers for a review on PR #6649.
alexcrichton updated PR #6649.
fitzgen submitted PR review.
fitzgen submitted PR review.
fitzgen created PR review comment:
Do we always need something special here? Because I'd like this function to unconditionally use
CallConv::Tail
soon, but I don't understand the details of this apple aarch64 stuff.
alexcrichton created PR review comment:
Hm so I'm not actually entirely sure what's going on here. This comment was added in https://github.com/bytecodealliance/wasmtime/pull/4195 with relation to pointer-authentication support on AArch64 I believe, but I'm not sure what ended up leading to the apple-aarch64 change here. I can confirm locally that if I change this to
Fast
that everything passes locally.I'll file this as a follow-up to have it as a separate change.
alexcrichton updated PR #6649.
alexcrichton has enabled auto merge for PR #6649.
alexcrichton updated PR #6649.
alexcrichton has enabled auto merge for PR #6649.
alexcrichton merged PR #6649.
Last updated: Nov 22 2024 at 17:03 UTC