-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
pulley: Move fp
/lr
out of XReg
set
#9806
pulley: Move fp
/lr
out of XReg
set
#9806
Conversation
I'd like to get there with |
Subscribe to Label Action
This issue or pull request has been labeled: "cranelift", "isle", "pulley", "wasmtime:api"
Thus the following users have been cc'd because of the following labels:
To subscribe or unsubscribe from this label, edit the |
This commit moves the `fp` and `lr` registers out of the `XReg` register set and into the `MachineState` per-VM. These are automatically modified and read with `push_frame` and `pop_frame`. Dedicated `xmov_{fp,lr}` instructions were added for use in Wasmtime's trampolines which directly read these registers.
d3a9667
to
f3541f7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice!
x_reg(30) => spilltmp_reg, writable_spilltmp_reg; | ||
x_reg(31) => spilltmp2_reg, writable_spilltmp2_reg; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we actually use spilltmp2 in cranelift's pulley backend? AFAICT, we don't. Could free up one more GPR I think.
Also unused in CLIF
This commit moves the
fp
andlr
registers out of theXReg
register set and into theMachineState
per-VM. These are automatically modified and read withpush_frame
andpop_frame
. Dedicatedxmov_{fp,lr}
instructions were added for use in Wasmtime's trampolines which directly read these registers.cc #9747