winch(x64): Improve ABI support in trampolines#6204
Conversation
|
I'm creating it as a draft, since I want to check for any CI failures first. |
Subscribe to Label ActionDetailsThis issue or pull request has been labeled: "winch"Thus the following users have been cc'd because of the following labels:
To subscribe or unsubscribe from this label, edit the |
a337bec to
bab709a
Compare
bab709a to
bf15fe5
Compare
alexcrichton
left a comment
There was a problem hiding this comment.
Looks reasonable to me! Given the trickiness of calling conventions though I think it'd be good to get second opinion from @cfallin too though. (I also just now realized that my request-to-review was removed, oops!)
One thing I might recommend is to add a commit with prtest:full in the commit message to run all tests for the PR to include windows/macOS to confirm it all works out
Agreed, I had added |
cfallin
left a comment
There was a problem hiding this comment.
LGTM as well re: ABI details!
This commit improves ABI support in Winch's trampolines mainly by: * Adding support for the `fastcall` calling convention. * By storing/restoring callee-saved registers. One of the explicit goals of this change is to make tests available in the x86_64 target as a whole and remove the need exclude the windows target. This commit also introduces a `CallingConvention` enum, to better reflect the subset of calling conventions that are supported by Winch.
bf15fe5 to
d81a8e7
Compare
This commit improves ABI support in Winch's trampolines mainly by: * Adding support for the `fastcall` calling convention. * By storing/restoring callee-saved registers. One of the explicit goals of this change is to make tests available in the x86_64 target as a whole and remove the need exclude the windows target. This commit also introduces a `CallingConvention` enum, to better reflect the subset of calling conventions that are supported by Winch.
Follow up to #6119
This commit improves ABI support in Winch's trampolines mainly by:
fastcallcalling convention.One of the explicit goals of this change is to make tests available in the x86_64 target as a whole and remove the need exclude the windows target.
This commit also introduces a
CallingConventionenum, to better reflect the subset of calling conventions that are supported by Winch.