2995 Commits

Author SHA1 Message Date
Mike Pall
659a61693a Merge branch 'master' into v2.1 2026-03-04 11:20:47 +01:00
Mike Pall
89f268b3f7 Fix edge cases when recording string.byte/sub.
Thanks to Sergey Kaplun. #1443
2026-03-04 11:18:28 +01:00
Mike Pall
a553b3de24 Add ffi.abi("dualnum").
Thanks to Sergey Kaplun. #1442
2026-02-27 00:33:30 +01:00
Mike Pall
fc3d17eb40 Merge branch 'master' into v2.1 2026-02-24 22:17:01 +01:00
Mike Pall
02e2999558 FFI: Fix constructor index resolution in JIT compiler.
Reported by Vladimir Davydov and Sergey Kaplun. #1441
2026-02-24 22:13:15 +01:00
Mike Pall
1c3b5a4d72 DUALNUM: Fix recording of loops broken by previous change.
Thanks to Nicholas Davies. #1432 #1433 #1438
2026-02-16 18:00:33 +01:00
Mike Pall
26fd1a7d67 Merge branch 'master' into v2.1 2026-02-13 14:24:23 +01:00
Mike Pall
5db4b03aea Fix compiler warning.
Thanks to Holger Hoffstätte. #1436
2026-02-13 14:21:42 +01:00
Mike Pall
233ad24035 Fix G->jit_base relocation on stack resize.
Reported by f32y. #1435
2026-02-11 23:16:59 +01:00
Mike Pall
54cce2e171 Prevent recording of loops with -0 step or NaN values.
Thanks to Sergey Kaplun. #1432 #1433
2026-02-11 23:14:13 +01:00
Mike Pall
ab834de8b6 Avoid recording interference due to invocation of VM hooks.
Thanks to Sergey Kaplun. #1429 #1434
2026-02-11 23:12:53 +01:00
Mike Pall
eff4006837 x64/!LJ_GC64: The allocation limit is required for a no-JIT build, too.
Thanks to Sergey Kaplun. #1430
2026-02-11 23:09:57 +01:00
Mike Pall
2aec641e01 MIPS64: Avoid unaligned load in lj_vm_exit_interp.
Thanks to Sergey Kaplun. #1428
2026-02-11 23:06:36 +01:00
Mike Pall
d459c6ce50 Prevent snapshot purge while recording a function header.
Thanks to Sergey Kaplun. #1425
2026-02-11 23:04:42 +01:00
Mike Pall
707c12bf00 DUALNUM: Improve/fix edge cases of unary minus.
Thanks to Sergey Kaplun. #1422 #1418
2026-01-09 18:46:32 +01:00
Mike Pall
3015b6187e Merge branch 'master' into v2.1 2026-01-09 17:37:57 +01:00
Mike Pall
221ea00775 Fix minilua undefined behavior in bit.tohex.
Note: this is not a vulnerability! minilua is only used during the LuaJIT
build process. It only runs controlled and static Lua code (DynASM),
which is entirely contained within this repo and does not trigger the
undefined behavior.

This change is solely for the benefit of others, who might possibly use
minilua for purposes other than running DynASM.

Reported by quart27219. #1424
2026-01-09 17:34:15 +01:00
Mike Pall
68d807ace1 Merge branch 'master' into v2.1 2026-01-09 17:27:35 +01:00
Mike Pall
282e1a969d Ignore PDB files for git.
Thanks to Michael Fisher. #1423
2026-01-09 17:26:13 +01:00
Mike Pall
2c110b7769 Merge branch 'master' into v2.1 2026-01-09 17:25:02 +01:00
Mike Pall
6e69e47314 Bump copyright date. 2026-01-09 17:18:03 +01:00
Mike Pall
7152e15489 Fix string.format for limited precision FP conversions.
Enforce round-to-even semantics. #1363
2025-12-08 22:18:40 +01:00
Mike Pall
45b771bb2c PPC: Fix soft-float lj_num2u64().
Reported by Doug Crawford. #1411
2025-12-06 08:44:03 +01:00
Mike Pall
c7c74ea505 ARM64: More fixes for ARM BTI.
Reported by Yuichiro Naito. #1415
2025-12-06 08:42:18 +01:00
Mike Pall
b1cd2f83b5 DUALNUM: Fix narrowing of unary minus.
Reported by Sergey Kaplun. #1418
2025-12-06 08:39:11 +01:00
Mike Pall
53d014fea8 Merge branch 'master' into v2.1 2025-12-06 08:38:49 +01:00
Mike Pall
406cf69b3a DUALNUM: Add missing type conversion for FORI slots.
Reported by Sergey Kaplun. #1413
2025-12-06 08:35:19 +01:00
Mike Pall
6f21cb8ace Remove pointless GCC/MSVC const function attributes.
They are only called from JIT-compiled code and not from C.
Reported by Richard Beckmann. #1414
2025-12-01 13:50:32 +01:00
Mike Pall
b973c6243d Fix MSVC LJ_CONSTF declaration.
Reading MS docs is hard. #1412
2025-11-27 20:04:42 +01:00
Mike Pall
6b35217b3d Back out MSVC LJ_CONSTF declaration.
The reason for the error message is still unclear. #1412.
2025-11-27 20:02:00 +01:00
Mike Pall
1acb204447 Remove compiler flag for FP conversions. Now unnecessary.
Undo #1355. #1397 #1411
2025-11-27 17:48:44 +01:00
Mike Pall
f80b349d54 Unify Lua number to FFI integer conversions.
Phew. #1411
2025-11-27 17:45:17 +01:00
Mike Pall
3215838aa7 ARM64: Fix disassembly of certain sub-word-size loads/stores. 2025-11-27 16:39:15 +01:00
Mike Pall
e17ee83326 ELF/Mach-O: Force default visibility for public API functions.
Thanks to Dymphna. #1409
2025-11-16 19:41:51 +01:00
Mike Pall
e274fe760d Merge branch 'master' into v2.1 2025-11-16 19:36:40 +01:00
Mike Pall
34b59f8aa9 x86/x64: Backport fix for math.min()/math.max() argument check.
Reported by puffy.
2025-11-16 19:34:11 +01:00
Mike Pall
5c8cee3dff Merge branch 'master' into v2.1 2025-11-14 20:22:24 +01:00
Mike Pall
af9763a50d Fix edge cases when generating IR for string.byte/sub/find.
Contributed by XmiliaH. #1407
2025-11-14 20:15:44 +01:00
Mike Pall
eba91fceb6 Merge branch 'master' into v2.1 2025-11-10 18:18:19 +01:00
Mike Pall
c94312d348 FFI: Avoid dangling cts->L.
Reported by ZumiKua. #1405
2025-11-10 18:15:11 +01:00
Mike Pall
5c647754a6 Run VM events and finalizers in separate state.
Reported by Sergey Kaplun. #1403
2025-11-10 18:11:26 +01:00
Mike Pall
fdf2379ccb macOS: Change Mach-O object file layout required by XCode 15.0.
Reported by George Zhao. #1404
2025-11-08 16:54:00 +01:00
Mike Pall
578c41ceb7 ARM64: Enable unaligned accesses if indicated by the toolchain.
If you get a crash in jit_init() then you need to fix your toolchain.
2025-11-08 15:41:42 +01:00
Mike Pall
68354f4447 Allow mcode allocations outside of the jump range to the support code.
Thank you for your patience. #285
2025-11-06 00:42:02 +01:00
Mike Pall
3c7b158b79 ARM64: Fix disassembly of >2GB branch targets. 2025-11-06 00:30:22 +01:00
Mike Pall
8518c0b40b x64: Fix CET IBT.
Reported by Yuichiro Naito. #1400
2025-10-29 09:38:41 +01:00
Mike Pall
5b20d6e305 ARM64: Fix ARM BTI.
Reported by Yuichiro Naito. #1400
2025-10-29 09:38:31 +01:00
Mike Pall
864e78d66c Windows: Fix lua52compat option for msvcbuild.bat.
Thanks to Alex Orlenko. #1395 #1366
2025-10-28 04:59:18 +01:00
Mike Pall
8651ef6df4 ARM64: Add support for ARM BTI.
Note: this is not enabled by default, look for CET in lj_arch.h.
Thanks to Yuichiro Naito. #1398
2025-10-28 04:46:10 +01:00
Mike Pall
e34a78acf6 x64: Various fixes for CET IBT.
Also add ELF notes. #1391
2025-10-28 00:27:15 +01:00