Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

winch: Properly define destination registers #9354

Merged

Conversation

saulecabrera
Copy link
Member

No functional changes are introduced as part of this change.

This commit introduces a formal mechanism for identifying destination registers in Winch's MacroAssembler and Assembler layers.

Before this change, there was no standardized way to identify writable registers, which made it challenging to:

  • Audit register clobbering effectively.
  • Establish a consistent approach for defining new MacroAssembler methods, as the identification of writable registers was done ad-hoc and varied from method to method.

This enhancement aims to improve code maintainability and reduce potential errors related to register management.

This commit makes use of Cranelift's Writable<T> type to identify writable registers.

No functional changes are introduced as part of this change.

This commit introduces a formal mechanism for identifying destination
registers in Winch's MacroAssembler and Assembler layers.

Before this change, there was no standardized way to identify writable
registers, which made it challenging to:

* Audit register clobbering effectively.
* Establish a consistent approach for defining new MacroAssembler
  methods, as the identification of writable registers was done ad-hoc
  and varied from method to method.

This enhancement aims to improve code maintainability and reduce
potential errors related to register management.

This commit makes use of Cranelift's `Writable<T>` type to identify writable
registers.
@saulecabrera saulecabrera requested a review from a team as a code owner October 1, 2024 20:56
@saulecabrera saulecabrera requested review from abrown and removed request for a team October 1, 2024 20:56
@github-actions github-actions bot added the winch Winch issues or pull requests label Oct 1, 2024
Copy link

github-actions bot commented Oct 1, 2024

Subscribe to Label Action

cc @saulecabrera

This issue or pull request has been labeled: "winch"

Thus the following users have been cc'd because of the following labels:

  • saulecabrera: winch

To subscribe or unsubscribe from this label, edit the .github/subscribe-to-label.json configuration file.

Learn more.

@saulecabrera saulecabrera added this pull request to the merge queue Oct 2, 2024
Merged via the queue into bytecodealliance:main with commit bdb834b Oct 2, 2024
39 checks passed
@saulecabrera saulecabrera deleted the winch-properly-id-dest-regs branch October 2, 2024 01:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
winch Winch issues or pull requests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants