aboutsummaryrefslogtreecommitdiff
path: root/src/lj_emit_arm64.h
diff options
context:
space:
mode:
authorMike Pall <mike>2023-09-11 16:35:28 +0200
committerMike Pall <mike>2023-09-11 16:35:28 +0200
commit1c33f46314cc4e3cb52ac83c5b27419bc06b5154 (patch)
treedc0a2609e21612839aa657cf9129009247bfc9c5 /src/lj_emit_arm64.h
parentf63bc569fab1450def4c817f100e580dddb425c5 (diff)
downloadluajit-1c33f46314cc4e3cb52ac83c5b27419bc06b5154.tar.gz
luajit-1c33f46314cc4e3cb52ac83c5b27419bc06b5154.tar.bz2
luajit-1c33f46314cc4e3cb52ac83c5b27419bc06b5154.zip
Windows/ARM64: Support Windows calling conventions.
Dear Microsoft: your butchering of the (perfectly fine) ARM64 ABI is a disgrace. Thanks to Peter Cawley. #593
Diffstat (limited to '')
-rw-r--r--src/lj_emit_arm64.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lj_emit_arm64.h b/src/lj_emit_arm64.h
index fef5d973..3c510492 100644
--- a/src/lj_emit_arm64.h
+++ b/src/lj_emit_arm64.h
@@ -124,9 +124,9 @@ static LJ_AINLINE uint32_t emit_lso_pair_candidate(A64Ins ai, int ofs, int sc)
124 } 124 }
125} 125}
126 126
127static void emit_lso(ASMState *as, A64Ins ai, Reg rd, Reg rn, int64_t ofs) 127static void emit_lso(ASMState *as, A64Ins ai, Reg rd, Reg rn, int64_t ofs64)
128{ 128{
129 int ot = emit_checkofs(ai, ofs), sc = (ai >> 30) & 3; 129 int ot = emit_checkofs(ai, ofs64), sc = (ai >> 30) & 3, ofs = (int)ofs64;
130 lj_assertA(ot, "load/store offset %d out of range", ofs); 130 lj_assertA(ot, "load/store offset %d out of range", ofs);
131 /* Combine LDR/STR pairs to LDP/STP. */ 131 /* Combine LDR/STR pairs to LDP/STP. */
132 if ((sc == 2 || sc == 3) && 132 if ((sc == 2 || sc == 3) &&