saulecabrera opened PR #6841 from saulecabrera:winch-clean-masm-asm
to bytecodealliance:main
:
This commit prepares for the introduction of float support to Winch. Initially, I intended to include this change as part of the original change supporting floats, but that change is already sizable enough.
This modification simplifies the Assembler and MacroAssembler interfaces, as well as the interaction and responsibilities between them, by:
Eliminating the
Operand
abstraction, which didn't offer a substantial benefit over simply using the MacroAssembler'sRegImm
andAddress
abstractions as operands where necessary. This approach also reduces the number of conversions required prior to emission.Shifting the instruction dispatch responsibility solely to the MacroAssembler, rather than having this responsibility shared across both abstractions. This was always the original intention behind the MacroAssembler. As a result, function definitions at the Assembler layer become simpler.
This change also introduces richer type information for immediates, which results in better instruction selection in some cases, and it's also needed to support floats.
<!--
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 cfallin for a review on PR #6841.
saulecabrera requested wasmtime-compiler-reviewers for a review on PR #6841.
cfallin submitted PR review:
LGTM!
cfallin merged PR #6841.
Last updated: Dec 23 2024 at 12:05 UTC