Commit Graph

3027 Commits

Author SHA1 Message Date
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
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