Stream: git-wasmtime

Topic: wasmtime / PR #6649 Remove Wasmtime ABIs from Cranelift


view this post on Zulip Wasmtime GitHub notifications bot (Jun 27 2023 at 17:03):

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 the TypedFunc 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:

Our development process is documented in the Wasmtime book:
https://docs.wasmtime.dev/contributing-development-process.html

Please ensure all communication follows the code of conduct:
https://github.com/bytecodealliance/wasmtime/blob/main/CODE_OF_CONDUCT.md
-->

view this post on Zulip Wasmtime GitHub notifications bot (Jun 27 2023 at 17:03):

alexcrichton requested fitzgen for a review on PR #6649.

view this post on Zulip Wasmtime GitHub notifications bot (Jun 27 2023 at 17:03):

alexcrichton requested wasmtime-compiler-reviewers for a review on PR #6649.

view this post on Zulip Wasmtime GitHub notifications bot (Jun 27 2023 at 17:03):

alexcrichton requested wasmtime-core-reviewers for a review on PR #6649.

view this post on Zulip Wasmtime GitHub notifications bot (Jun 27 2023 at 18:27):

alexcrichton updated PR #6649.

view this post on Zulip Wasmtime GitHub notifications bot (Jun 27 2023 at 19:34):

fitzgen submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Jun 27 2023 at 19:34):

fitzgen submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Jun 27 2023 at 19:34):

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.

view this post on Zulip Wasmtime GitHub notifications bot (Jun 28 2023 at 16:06):

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.

view this post on Zulip Wasmtime GitHub notifications bot (Jun 28 2023 at 16:56):

alexcrichton updated PR #6649.

view this post on Zulip Wasmtime GitHub notifications bot (Jun 28 2023 at 16:56):

alexcrichton has enabled auto merge for PR #6649.

view this post on Zulip Wasmtime GitHub notifications bot (Jun 28 2023 at 18:07):

alexcrichton updated PR #6649.

view this post on Zulip Wasmtime GitHub notifications bot (Jun 28 2023 at 18:07):

alexcrichton has enabled auto merge for PR #6649.

view this post on Zulip Wasmtime GitHub notifications bot (Jun 28 2023 at 19:33):

alexcrichton merged PR #6649.


Last updated: Oct 23 2024 at 20:03 UTC