Commit Graph

3038 Commits

Author SHA1 Message Date
Mike Pall
f30aabe82f Modernize jit.* Lua modules. 2026-08-03 10:44:17 +02:00
Mike Pall
28084004ee Merge branch 'master' into v2.1 2026-08-01 19:42:37 +02:00
Mike Pall
5ed524c09f Don't fold -a / -b for unsigned operands.
Thanks to Peter Marreck and Peter Cawley. #1499
2026-08-01 19:39:35 +02:00
Mike Pall
4886b676a6 FFI: Set cur_L in FFI callback.
Thanks to David Komárek. #1498
2026-08-01 11:38:57 +02:00
Mike Pall
594472579a Optimize common 1-char case of string.sub/string.byte.
Reported by Kacper Michajłow. #1497
2026-08-01 11:37:20 +02:00
Mike Pall
afa81a5738 x64/LJ_GC64: Enable XLOAD/STRREF fusion. 2026-08-01 11:36:13 +02:00
Mike Pall
faaf663340 x86: Conditionally use SSE3 for 64 bit conversions.
Reported by Gero Schwäricke. #1496 #1411
2026-07-28 00:44:24 +02:00
Mike Pall
a471ab78c7 Merge branch 'master' into v2.1 2026-07-25 20:55:26 +02:00
Mike Pall
e4d805163f FFI: Fix widening semantics for 64 bit arithmetic.
Thanks to Frityet. #1492
2026-07-25 20:53:11 +02:00
Mike Pall
346ab587cb DynASM/x86: Fix movd/movq and vmovd/vmovq operand sizes.
Thanks to Dmitry Stogov. #1489
2026-07-24 16:14:33 +02:00
Mike Pall
2460b3ff93 Fix documentation about Lua 5.2 extensions/compatibility.
Reported by goodusername123. #1487
2026-07-20 22:55:05 +02:00
Mike Pall
5f627e4114 Document bit operator bytecode compatibility. 2026-07-20 10:23:09 +02:00
Mike Pall
a2ce8114f1 Backport some v3.0 syntax extensions.
Documentation in #1475. Backport discussion in #1476.
Thanks to Appla, slashOwO, Sergey Kaplun, CppCXY.
2026-07-20 10:20:49 +02:00
Mike Pall
14d8a7a27d x64/LJ_GC64: Avoid store-to-load forwarding stall after stack restore.
Thanks to Sergey Kaplun. #1485
2026-07-18 09:48:48 +02:00
Mike Pall
3c4f9fe205 Merge branch 'master' into v2.1 2026-07-11 14:41:15 +02:00
Mike Pall
859ad934bc x64: Fix callback result handling.
Reported by Matt Gerassimoff.
2026-07-11 14:37:49 +02:00
Mike Pall
5dd996ece5 DynASM/x86: Fix insertps instruction encoding.
Thanks to Dmitry Stogov. #1483
2026-07-10 10:38:55 +02:00
Mike Pall
fed6d4782a Don't use destroyed lock when profiler has been stopped.
Reported by Miku AuahDark. #1482 #1460
2026-07-09 10:24:06 +02:00
Mike Pall
acb223497d x64/ARM64/MIPS64: Fix constant bit shift code generation.
Reported by Sergey Kaplun. #1480
2026-07-07 11:07:19 +02:00
Mike Pall
a2bde60819 FFI/MacOS: Fix calling convention for on-stack varargs.
Thanks to Sergey Kaplun. #1455
2026-06-29 11:40:02 +02:00
Mike Pall
9d145d2ca3 Merge branch 'master' into v2.1 2026-06-25 12:00:59 +02:00
Mike Pall
295d45fb26 Make check in os.time() consistent.
Thanks to Temir Galeev. #1470
2026-06-25 11:59:34 +02:00
Mike Pall
7ff8551854 iOS: Avoid macro name collision.
Reported by Andrey Filipenkov. #1477
2026-06-24 16:20:30 +02:00
Mike Pall
8e6520a7ae Optionally return PC position in jit.util.tracesnap().
Suggested by Sergey Bronnikov. #1472
2026-06-16 11:38:02 +02:00
Mike Pall
0bf26146d6 Merge branch 'master' into v2.1 2026-06-16 11:13:38 +02:00
Mike Pall
d2c1327f57 Fix stack overflow relimit handling.
Thanks to Sergey Kaplun. #1471
2026-06-16 11:12:21 +02:00
Mike Pall
194d7f2d63 Merge branch 'master' into v2.1 2026-06-13 11:00:59 +02:00
Mike Pall
72d2061ae2 Fix corner case of os.time().
Thanks to Temir Galeev. #1470
2026-06-13 10:59:29 +02:00
Mike Pall
b925b3e3fc FFI/MacOS: Fix calling convention for enums.
Thanks to Sergey Kaplun. #1455
2026-05-29 19:38:47 +02:00
Mike Pall
8f421c81ec Prevent sanitizer warnings for lj_tab_new*() and table.new().
Reported by Sergey Bronnikov. #1458
2026-05-25 01:28:32 +02:00
Mike Pall
5c12243677 Merge branch 'master' into v2.1 2026-05-25 01:28:03 +02:00
Mike Pall
c3b379bf50 FFI: Prevent sanitizer warning in carith_ptr().
Reported by Sergey Bronnikov. #1459
2026-05-25 01:26:26 +02:00
Mike Pall
86d414f5ca Prevent sanitizer warning in os.time().
Reported by Sergey Bronnikov. #1454
2026-05-25 01:25:32 +02:00
Mike Pall
75abb0d934 Avoid race condition with profiler thread during dispatch table update.
Reported by artemking4. #1460
2026-05-25 01:23:26 +02:00
Mike Pall
64b1f10835 x86/x64: Change ipairs_aux to match JIT backend behavior.
Thanks to Sergey Kaplun. #1463
2026-05-25 01:18:53 +02:00
Mike Pall
5b2e51db2c FFI: Various ABI and calling convention fixes.
Thanks to Sergey Kaplun. #1455
2026-05-25 01:15:29 +02:00
Mike Pall
18b087cd2c Merge branch 'master' into v2.1 2026-03-30 20:43:18 +02:00
Mike Pall
e4c7d8b380 FFI: Shrink container of packed bitfield.
Reported by Huang Haiyang. #1451
2026-03-30 20:41:59 +02:00
Mike Pall
fbb36bb6bf Fix VM event error handling for finalizers.
Reported by Sergey Kaplun. #1445
2026-03-27 20:04:50 +01:00
Mike Pall
6594f87327 Avoid use of subnormals for internal registry keys.
Non-ABI-compliant FPU modes (-ffast-math, -Ofast, FTZ/DAZ set) may
still cause erratic behavior and are not supported. #1448
2026-03-27 19:54:29 +01:00
Mike Pall
0ef314dcb2 Merge branch 'master' into v2.1 2026-03-27 19:51:15 +01:00
Mike Pall
f322ecb51e Prevent false positive sanitizer warning in unpack().
Reported by Sergey Bronnikov. #1450
2026-03-27 19:49:05 +01:00
Mike Pall
b58b071895 FFI: Fix pointer difference operation on 64 bit platforms.
Thanks to cuiweixie. #1449
2026-03-27 19:47:27 +01:00
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