summaryrefslogtreecommitdiff
path: root/yjit
diff options
context:
space:
mode:
authorTakashi Kokubun <takashikkbn@gmail.com>2022-09-01 13:38:38 -0700
committerGitHub <noreply@github.com>2022-09-01 13:38:38 -0700
commit064944c9029fae0552f120ea586f4f83ce206ec6 (patch)
treef119d8e9e9951a3ffe4b8314499de9c8caa08d44 /yjit
parent419118473ea72ddb4526d5641264982897874736 (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.rs3
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