diff options
author | Takashi Kokubun <takashikkbn@gmail.com> | 2022-09-01 13:38:38 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-01 13:38:38 -0700 |
commit | 064944c9029fae0552f120ea586f4f83ce206ec6 (patch) | |
tree | f119d8e9e9951a3ffe4b8314499de9c8caa08d44 /yjit | |
parent | 419118473ea72ddb4526d5641264982897874736 (diff) |
Stop using a callee-saved register for scratch0 on aarch64 (#6312)
[Bug #18985]
* Callee-save x22 for aarch64
* Just use a caller-saved register
* Update yjit/src/backend/arm64/mod.rs
Co-authored-by: Alan Wu <alansi.xingwu@shopify.com>
Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com>
Notes
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
Diffstat (limited to 'yjit')
-rw-r--r-- | yjit/src/backend/arm64/mod.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/yjit/src/backend/arm64/mod.rs b/yjit/src/backend/arm64/mod.rs index 4f07bf8062..3e926c9387 100644 --- a/yjit/src/backend/arm64/mod.rs +++ b/yjit/src/backend/arm64/mod.rs @@ -69,7 +69,8 @@ impl From<&Opnd> for A64Opnd { impl Assembler { // A special scratch register for intermediate processing. - const SCRATCH0: A64Opnd = A64Opnd::Reg(X22_REG); + // This register is caller-saved (so we don't have to save it before using it) + const SCRATCH0: A64Opnd = A64Opnd::Reg(X15_REG); /// Get the list of registers from which we will allocate on this platform /// These are caller-saved registers |