Stream: git-wasmtime

Topic: wasmtime / PR #10312 winch(aarch64): ABI integration


view this post on Zulip Wasmtime GitHub notifications bot (Feb 28 2025 at 21:34):

saulecabrera opened PR #10312 from saulecabrera:winch-aarch64-abi to bytecodealliance:main:

This commit finalizes the ABI integration between Winch and Cranelift, notably:

The alternative to treating x28 as callee-saved is to treat it as caller-saved and save it when required e.g., at call-sites, even though this approach works, it's probably more efficient to perform a store/pop once per function, to minimize the number of move instructions required.

There are still some changes needed in order to fully enable running spec tests for aarch64, however, this change is one step further. If interested, you can run the call.wast test via:

cargo run -- wast -Ccompiler=winch tests/spec_testsuite/call_indirect.wast

<!--
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 (Feb 28 2025 at 21:34):

saulecabrera requested wasmtime-compiler-reviewers for a review on PR #10312.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 28 2025 at 21:34):

saulecabrera requested fitzgen for a review on PR #10312.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 28 2025 at 21:35):

saulecabrera edited PR #10312:

This commit finalizes the ABI integration between Winch and Cranelift, notably:

The alternative to treating x28 as callee-saved is to treat it as caller-saved and save it when required e.g., at call-sites, even though this approach works, it's probably more efficient to perform a store/pop once per function, to minimize the number of move instructions required.

There are still some changes needed in order to fully enable running spec tests for aarch64, however, this change is one step further. If interested, you can run the call.wast test via:

cargo run -- wast -Ccompiler=winch tests/spec_testsuite/call_indirect.wast

<!--
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 (Feb 28 2025 at 21:36):

saulecabrera edited PR #10312:

This commit finalizes the ABI integration between Winch and Cranelift, notably:

The alternative to treating x28 as callee-saved is to treat it as caller-saved and save it when required e.g., at call-sites, even though this approach works, it's probably more efficient to perform a store/pop once per function, to minimize the number of move instructions required.

There are still some changes needed in order to fully enable running spec tests for aarch64, however, this change is one step further. If interested, you can run the call.wast test via:

cargo run -- wast -Ccompiler=winch tests/spec_testsuite/call.wast

<!--
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 (Feb 28 2025 at 21:50):

saulecabrera updated PR #10312.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 28 2025 at 21:50):

saulecabrera requested wasmtime-core-reviewers for a review on PR #10312.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 03 2025 at 17:10):

fitzgen submitted PR review.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 03 2025 at 18:01):

alexcrichton merged PR #10312.


Last updated: Apr 18 2025 at 11:03 UTC