Stream: git-wasmtime

Topic: wasmtime / PR #11597 pulley: Fix big-endian results in a ...


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

alexcrichton opened PR #11597 from alexcrichton:fix-pulley-big-endian to bytecodealliance:main:

This commit fixes an issue for Pulley on big-endian targets where if a call's result was mapped to a spillslot it was loaded with a too-wide load when moving from the return location to the storage location. This only affects the shared CallInfo::emit_retval_loads implementation which is unused on s390x. All other targets, with the exception of big-endian Pulley targets, using this are little-endian where the width won't matter since slots are always integer-register-in-size.

The fix here is to perform a load with the exact type of the return value as opposed to a full machine word width. This fixes the big-endian behavior for Pulley and fixes the attached test cases which reproduce the issue. I've also expanded some of the many-results tests to also have many parameters to try to exercise more parts of the ABI pipeline too.

<!--
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 (Sep 03 2025 at 17:44):

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

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

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

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

alexcrichton requested fitzgen for a review on PR #11597.

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

cfallin submitted PR review:

Thanks!

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

alexcrichton updated PR #11597.

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

alexcrichton has enabled auto merge for PR #11597.

view this post on Zulip Wasmtime GitHub notifications bot (Sep 03 2025 at 20:02):

alexcrichton updated PR #11597.

view this post on Zulip Wasmtime GitHub notifications bot (Sep 03 2025 at 20:02):

alexcrichton updated PR #11597.

view this post on Zulip Wasmtime GitHub notifications bot (Sep 03 2025 at 20:08):

alexcrichton updated PR #11597.

view this post on Zulip Wasmtime GitHub notifications bot (Sep 03 2025 at 20:32):

alexcrichton commented on PR #11597:

@cfallin mind taking another look at this? The fix was a bit more involved than originally planned:

view this post on Zulip Wasmtime GitHub notifications bot (Sep 03 2025 at 21:39):

cfallin created PR review comment:

This whole expression could be wrapped up in a Type::int_for_size(bytes: usize) helper, probably? (And IMHO the if-else split is a little clearer as something like Type::int_for_size(cmp::min(M::word_bytes(), ty.bytes())); maybe together with renaming load_ty to one_part_load_ty to make it clear why we clamp it)

view this post on Zulip Wasmtime GitHub notifications bot (Sep 03 2025 at 21:39):

cfallin submitted PR review:

Updates look good; thanks for the care with the details here!

view this post on Zulip Wasmtime GitHub notifications bot (Sep 03 2025 at 23:44):

github-actions[bot] commented on PR #11597:

Label Messager: wasmtime:config

It looks like you are changing Wasmtime's configuration options. Make sure to
complete this check list:

[fuzzing-config]: https://github.com/bytecodealliance/wasmtime/blob/ca0e8d0a1d8cefc0496dba2f77a670571d8fdcab/crates/fuzzing/src/generators.rs#L182-L194
[fuzzing-docs]: https://docs.wasmtime.dev/contributing-fuzzing.html


<details>

To modify this label's message, edit the <code>.github/label-messager/wasmtime-config.md</code> file.

To add new label messages or remove existing label messages, edit the
<code>.github/label-messager.json</code> configuration file.

Learn more.

</details>

view this post on Zulip Wasmtime GitHub notifications bot (Sep 04 2025 at 01:52):

alexcrichton updated PR #11597.

view this post on Zulip Wasmtime GitHub notifications bot (Sep 04 2025 at 01:52):

alexcrichton updated PR #11597.

view this post on Zulip Wasmtime GitHub notifications bot (Sep 04 2025 at 01:52):

alexcrichton has enabled auto merge for PR #11597.

view this post on Zulip Wasmtime GitHub notifications bot (Sep 04 2025 at 02:27):

alexcrichton merged PR #11597.


Last updated: Dec 06 2025 at 06:05 UTC