diff options
author | Mike Pall <mike> | 2023-09-11 16:35:28 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2023-09-11 16:35:28 +0200 |
commit | 1c33f46314cc4e3cb52ac83c5b27419bc06b5154 (patch) | |
tree | dc0a2609e21612839aa657cf9129009247bfc9c5 /src/lj_emit_arm64.h | |
parent | f63bc569fab1450def4c817f100e580dddb425c5 (diff) | |
download | luajit-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.h | 4 |
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 | ||
127 | static void emit_lso(ASMState *as, A64Ins ai, Reg rd, Reg rn, int64_t ofs) | 127 | static 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) && |