aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2026-06-29 11:40:02 +0200
committerMike Pall <mike>2026-06-29 11:40:02 +0200
commita2bde60819d83e6f75130ac2c93ee4b3c7615800 (patch)
tree89e1915d10285f9c2e8516e9633c1fda873b3ba8 /src
parent9d145d2ca3db58493859c495489a0f08f627834f (diff)
downloadluajit-a2bde60819d83e6f75130ac2c93ee4b3c7615800.tar.gz
luajit-a2bde60819d83e6f75130ac2c93ee4b3c7615800.tar.bz2
luajit-a2bde60819d83e6f75130ac2c93ee4b3c7615800.zip
FFI/MacOS: Fix calling convention for on-stack varargs.
Thanks to Sergey Kaplun. #1455
Diffstat (limited to 'src')
-rw-r--r--src/lj_ccall.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lj_ccall.c b/src/lj_ccall.c
index c89d97605..1aae0d40c 100644
--- a/src/lj_ccall.c
+++ b/src/lj_ccall.c
@@ -1091,7 +1091,7 @@ static int ccall_set_args(lua_State *L, CTState *cts, CType *ct,
1091 if (CCALL_ALIGN_STACKARG) { /* Align argument on stack. */ 1091 if (CCALL_ALIGN_STACKARG) { /* Align argument on stack. */
1092 MSize align = (1u << ctype_align(ccall_struct_align(cts, d))) - 1; 1092 MSize align = (1u << ctype_align(ccall_struct_align(cts, d))) - 1;
1093#if LJ_TARGET_ARM64 && LJ_TARGET_OSX 1093#if LJ_TARGET_ARM64 && LJ_TARGET_OSX
1094 isva = ctype_isstruct(d->info); 1094 isva |= ctype_isstruct(d->info);
1095#endif 1095#endif
1096 if (rp || (CCALL_PACK_STACKARG && isva && align < CTSIZE_PTR-1)) 1096 if (rp || (CCALL_PACK_STACKARG && isva && align < CTSIZE_PTR-1))
1097 align = CTSIZE_PTR-1; 1097 align = CTSIZE_PTR-1;