saulecabrera opened PR #14074 from saulecabrera:winch-value-stack-atomic to bytecodealliance:main:
This patch fixes https://github.com/bytecodealliance/wasmtime/issues/13989
It passes the arguments of the atomic operations through the value stack instead of calculating and holding the address register prior to handing over control to the MacroAssembler. This approach ensures that spills can happen naturally when specific registers are needed when lowering these operations.
<!--
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
-->
saulecabrera requested alexcrichton for a review on PR #14074.
saulecabrera requested wasmtime-compiler-reviewers for a review on PR #14074.
saulecabrera requested wasmtime-core-reviewers for a review on PR #14074.
:thumbs_up: alexcrichton submitted PR review.
alexcrichton has enabled auto merge for PR #14074.
alexcrichton added PR #14074 winch(x64): Prefer operands in the value stack for atomic operations to the merge queue.
:check: alexcrichton merged PR #14074.
alexcrichton removed PR #14074 winch(x64): Prefer operands in the value stack for atomic operations from the merge queue.
Last updated: Aug 30 2026 at 10:08 UTC