]> git.ipfire.org Git - thirdparty/LuaJIT.git/log
thirdparty/LuaJIT.git
2 years agoFix typo.
Mike Pall [Tue, 22 Aug 2023 15:06:34 +0000 (17:06 +0200)] 
Fix typo.

Thanks to Simon Cooke.

2 years agoMerge branch 'master' into v2.1
Mike Pall [Tue, 22 Aug 2023 15:06:14 +0000 (17:06 +0200)] 
Merge branch 'master' into v2.1

2 years agoHandle the case when .git is not a directory.
Mike Pall [Tue, 22 Aug 2023 15:04:22 +0000 (17:04 +0200)] 
Handle the case when .git is not a directory.

Thanks to Alexander Shpilkin.

2 years agoMerge branch 'master' into v2.1
Mike Pall [Tue, 22 Aug 2023 13:37:21 +0000 (15:37 +0200)] 
Merge branch 'master' into v2.1

2 years agoAdd .gitattributes to dynamically resolve .relver.
Mike Pall [Tue, 22 Aug 2023 13:36:55 +0000 (15:36 +0200)] 
Add .gitattributes to dynamically resolve .relver.

Thanks to Alexander Shpilkin.

2 years agoAdd .gitattributes to dynamically resolve .relver.
Mike Pall [Tue, 22 Aug 2023 13:30:27 +0000 (15:30 +0200)] 
Add .gitattributes to dynamically resolve .relver.

Thanks to Alexander Shpilkin.

2 years agoFix for last commit: also remove symlink on uninstall.
Mike Pall [Tue, 22 Aug 2023 09:46:12 +0000 (11:46 +0200)] 
Fix for last commit: also remove symlink on uninstall.

2 years agoSwitch to rolling releases: mark v2.1 as production.
Mike Pall [Tue, 22 Aug 2023 09:13:45 +0000 (11:13 +0200)] 
Switch to rolling releases: mark v2.1 as production.

2 years agoMerge branch 'master' into v2.1
Mike Pall [Mon, 21 Aug 2023 11:09:52 +0000 (13:09 +0200)] 
Merge branch 'master' into v2.1

2 years agoFix Windows build scripts for rolling releases.
Mike Pall [Mon, 21 Aug 2023 11:08:00 +0000 (13:08 +0200)] 
Fix Windows build scripts for rolling releases.

Reported by Miku AuahDark.

2 years agoMerge branch 'master' into v2.1
Mike Pall [Mon, 21 Aug 2023 02:03:25 +0000 (04:03 +0200)] 
Merge branch 'master' into v2.1

2 years agoSwitch MSVC and console build scripts to rolling releases.
Mike Pall [Mon, 21 Aug 2023 01:59:03 +0000 (03:59 +0200)] 
Switch MSVC and console build scripts to rolling releases.

2 years agoMerge branch 'master' into v2.1 v2.1.ROLLING
Mike Pall [Mon, 21 Aug 2023 01:18:35 +0000 (03:18 +0200)] 
Merge branch 'master' into v2.1

2 years agoSwitch build system to rolling releases. v2.0.ROLLING
Mike Pall [Mon, 21 Aug 2023 01:06:26 +0000 (03:06 +0200)] 
Switch build system to rolling releases.

2 years agoMerge branch 'master' into v2.1
Mike Pall [Mon, 21 Aug 2023 00:38:56 +0000 (02:38 +0200)] 
Merge branch 'master' into v2.1

2 years agoUpdate documentation for switch to rolling releases.
Mike Pall [Mon, 21 Aug 2023 00:28:49 +0000 (02:28 +0200)] 
Update documentation for switch to rolling releases.

2 years agoMerge branch 'master' into v2.1
Mike Pall [Sun, 20 Aug 2023 19:33:37 +0000 (21:33 +0200)] 
Merge branch 'master' into v2.1

2 years agoBump copyright date.
Mike Pall [Sun, 20 Aug 2023 19:25:30 +0000 (21:25 +0200)] 
Bump copyright date.

2 years agoRemove work-in-progress notice in string buffer docs.
Mike Pall [Sun, 20 Aug 2023 19:14:37 +0000 (21:14 +0200)] 
Remove work-in-progress notice in string buffer docs.

2 years agoMIPS: Fix "bad FP FLOAD" assertion.
Mike Pall [Sun, 13 Aug 2023 01:02:25 +0000 (03:02 +0200)] 
MIPS: Fix "bad FP FLOAD" assertion.

Reported by Sergey Kaplun. #1043

2 years agoEnsure forward progress on trace exit to BC_ITERN.
Mike Pall [Sun, 13 Aug 2023 00:25:12 +0000 (02:25 +0200)] 
Ensure forward progress on trace exit to BC_ITERN.

Also use a safer way to force a static dispatch for BC_RET*.
Reported by Bartel Eerdekens. Analyzed by Peter Cawley. #1000 #1045

2 years agoARM64: Add support for ARM64e pointer authentication codes (PAC).
Mike Pall [Sat, 12 Aug 2023 20:25:40 +0000 (22:25 +0200)] 
ARM64: Add support for ARM64e pointer authentication codes (PAC).

Contributed by Peter Cawley. #559

2 years agoDynASM/ARM64: Add instructions for ARM64e PAC.
Mike Pall [Sat, 12 Aug 2023 20:24:00 +0000 (22:24 +0200)] 
DynASM/ARM64: Add instructions for ARM64e PAC.

Contributed by Peter Cawley. #559

2 years agoMerge branch 'master' into v2.1
Mike Pall [Sat, 12 Aug 2023 20:20:33 +0000 (22:20 +0200)] 
Merge branch 'master' into v2.1

2 years agoFix maxslots when recording BC_VARG, part 3.
Mike Pall [Sat, 12 Aug 2023 18:16:56 +0000 (20:16 +0200)] 
Fix maxslots when recording BC_VARG, part 3.

Thanks to Peter Cawley. #1046

2 years agoFix predict_next() in parser.
Mike Pall [Sat, 12 Aug 2023 14:21:41 +0000 (16:21 +0200)] 
Fix predict_next() in parser.

Reported by Sergey Kaplun. #1033

2 years agoMIPS32: Declare that the assembler part uses the FR=0 model.
Mike Pall [Sat, 12 Aug 2023 13:02:51 +0000 (15:02 +0200)] 
MIPS32: Declare that the assembler part uses the FR=0 model.

Thanks to Peter Cawley. #1040

2 years agoARM64: Fix assembly of HREFK (again).
Mike Pall [Sat, 12 Aug 2023 12:52:48 +0000 (14:52 +0200)] 
ARM64: Fix assembly of HREFK (again).

Thanks to Peter Cawley. #1026

2 years agoFix frame for more types of on-trace error messages.
Mike Pall [Sat, 12 Aug 2023 12:48:34 +0000 (14:48 +0200)] 
Fix frame for more types of on-trace error messages.

Thanks to Maxim Kokryashkin. #1034

2 years agoAdd workaround for bytecode dump of builtins.
Mike Pall [Sat, 12 Aug 2023 12:37:35 +0000 (14:37 +0200)] 
Add workaround for bytecode dump of builtins.

Reported by Hang Zhou. Thanks to Sergey Kaplun. #1038

2 years agoDynASM: Fix regression due to warning fix.
Mike Pall [Sat, 12 Aug 2023 12:29:02 +0000 (14:29 +0200)] 
DynASM: Fix regression due to warning fix.

Thanks to Dmitry Stogov. #1041 #970

2 years agoMerge branch 'master' into v2.1
Mike Pall [Wed, 12 Jul 2023 20:34:46 +0000 (22:34 +0200)] 
Merge branch 'master' into v2.1

2 years agoFix base register coalescing in side trace.
Mike Pall [Wed, 12 Jul 2023 19:56:17 +0000 (21:56 +0200)] 
Fix base register coalescing in side trace.

Thanks to Sergey Kaplun, NiLuJe and Peter Cawley. #1031 #1016

2 years agoARM64: Fix assembly of HREFK.
Mike Pall [Sun, 9 Jul 2023 19:15:01 +0000 (21:15 +0200)] 
ARM64: Fix assembly of HREFK.

Reported by caohongqing. #1026
Fix contributed by Peter Cawley.

2 years agoMerge branch 'master' into v2.1
Mike Pall [Sun, 9 Jul 2023 19:09:21 +0000 (21:09 +0200)] 
Merge branch 'master' into v2.1

2 years agoFix maxslots when recording BC_VARG, part 2.
Mike Pall [Sun, 9 Jul 2023 19:08:12 +0000 (21:08 +0200)] 
Fix maxslots when recording BC_VARG, part 2.

Analyzed by Sergey Kaplun. #1024

2 years agoFix maxslots when recording BC_TSETM.
Mike Pall [Sat, 8 Jul 2023 17:44:48 +0000 (19:44 +0200)] 
Fix maxslots when recording BC_TSETM.

Analyzed by Sergey Kaplun. #1025

2 years agoMerge branch 'master' into v2.1
Mike Pall [Sat, 8 Jul 2023 17:43:08 +0000 (19:43 +0200)] 
Merge branch 'master' into v2.1

2 years agoFix maxslots when recording BC_VARG.
Mike Pall [Sat, 8 Jul 2023 17:40:12 +0000 (19:40 +0200)] 
Fix maxslots when recording BC_VARG.

Analyzed by Sergey Kaplun. #1024

2 years agoFix register mask for stack check in head of side trace.
Mike Pall [Sat, 8 Jul 2023 17:36:24 +0000 (19:36 +0200)] 
Fix register mask for stack check in head of side trace.

Analyzed by Sergey Kaplun. #1016

2 years agoFFI: Fix ffi.metatype() for non-raw types.
Mike Pall [Sat, 8 Jul 2023 17:30:56 +0000 (19:30 +0200)] 
FFI: Fix ffi.metatype() for non-raw types.

Reported by 999pingGG. #1005

2 years agoARM64: Fix LDP code generation.
Mike Pall [Sat, 8 Jul 2023 10:10:18 +0000 (12:10 +0200)] 
ARM64: Fix LDP code generation.

Thanks to Zhongwei Yao. #1028

2 years agoMIPSr6: Add missing files to Makefile install target.
Mike Pall [Mon, 12 Jun 2023 07:19:58 +0000 (09:19 +0200)] 
MIPSr6: Add missing files to Makefile install target.

Reported by FractalU.

2 years agoDynASM: Fix warnings.
Mike Pall [Fri, 2 Jun 2023 10:54:46 +0000 (12:54 +0200)] 
DynASM: Fix warnings.

Reported by Ilija Tovilo.

2 years agoFix frame for on-trace out-of-memory error.
Mike Pall [Fri, 2 Jun 2023 09:42:58 +0000 (11:42 +0200)] 
Fix frame for on-trace out-of-memory error.

Reported by ruidong007.

2 years agoMerge branch 'master' into v2.1
Mike Pall [Fri, 2 Jun 2023 09:42:24 +0000 (11:42 +0200)] 
Merge branch 'master' into v2.1

2 years agoFix handling of instable types in TNEW/TDUP load forwarding.
Mike Pall [Fri, 2 Jun 2023 09:38:45 +0000 (11:38 +0200)] 
Fix handling of instable types in TNEW/TDUP load forwarding.

Analyzed by Sergey Kaplun. #994

2 years agoFix compiler warning.
Mike Pall [Fri, 2 Jun 2023 09:36:24 +0000 (11:36 +0200)] 
Fix compiler warning.

Reported by Myriachan.

2 years agoFix last commit.
Mike Pall [Sun, 30 Apr 2023 11:38:29 +0000 (13:38 +0200)] 
Fix last commit.

Reported by PluMGMK.

2 years agoPrint errors from __gc finalizers instead of rethrowing them.
Mike Pall [Sun, 16 Apr 2023 16:13:48 +0000 (18:13 +0200)] 
Print errors from __gc finalizers instead of rethrowing them.

Finalizers are not supposed to throw errors -- this is undefined behavior.
Lua 5.1 - 5.3 and (previously) LuaJIT rethrow the error. This randomly
breaks some unrelated code that just happens to do an allocation. Bad.
Lua 5.4 catches the error and emits a warning instead. But warnings are
not enabled by default, so it fails silently. Even worse.
LuaJIT (now) catches the error and emits a VM event. The default event
handler function prints "ERROR in finalizer: ...".
Set a custom handler function with: jit.attach(handler, "errfin")

2 years agoMerge branch 'master' into v2.1
Mike Pall [Sun, 16 Apr 2023 11:29:58 +0000 (13:29 +0200)] 
Merge branch 'master' into v2.1

2 years agoFix TDUP load forwarding after table rehash.
Mike Pall [Sun, 16 Apr 2023 11:26:18 +0000 (13:26 +0200)] 
Fix TDUP load forwarding after table rehash.

Reported by Sergey Kaplun. #980

2 years agoFix canonicalization of +-0.0 keys for IR_NEWREF.
Mike Pall [Sun, 16 Apr 2023 11:24:08 +0000 (13:24 +0200)] 
Fix canonicalization of +-0.0 keys for IR_NEWREF.

Reported by Sergey Kaplun. #981

2 years agoMerge branch 'master' into v2.1
Mike Pall [Tue, 21 Feb 2023 16:07:37 +0000 (17:07 +0100)] 
Merge branch 'master' into v2.1

2 years agoImprove error reporting on stack overflow.
Mike Pall [Tue, 21 Feb 2023 16:05:12 +0000 (17:05 +0100)] 
Improve error reporting on stack overflow.

Thanks to Nicolas Lebedenco.

2 years agoMerge branch 'master' into v2.1
Mike Pall [Tue, 21 Feb 2023 15:53:51 +0000 (16:53 +0100)] 
Merge branch 'master' into v2.1

2 years agoAllow building sources with mixed LF/CRLF line-endings.
Mike Pall [Tue, 21 Feb 2023 15:49:51 +0000 (16:49 +0100)] 
Allow building sources with mixed LF/CRLF line-endings.

Reported by mgood7123.

2 years agoFix compiler warning.
Mike Pall [Wed, 4 Jan 2023 09:44:18 +0000 (10:44 +0100)] 
Fix compiler warning.

Reported by Christopher Ng.

2 years agoDon't fail for Clang builds, which pretend to be an ancient GCC.
Mike Pall [Wed, 4 Jan 2023 09:30:59 +0000 (10:30 +0100)] 
Don't fail for Clang builds, which pretend to be an ancient GCC.

Reported by pkubaj.

2 years agoMerge branch 'master' into v2.1
Mike Pall [Wed, 21 Dec 2022 23:52:04 +0000 (00:52 +0100)] 
Merge branch 'master' into v2.1

2 years agoAvoid negation of signed integers in C that may hold INT*_MIN.
Mike Pall [Wed, 21 Dec 2022 23:03:06 +0000 (00:03 +0100)] 
Avoid negation of signed integers in C that may hold INT*_MIN.

Reported by minoki.
Recent C compilers 'take advantage' of the undefined behavior.
This completely changes the meaning of expressions like (k == -k).

2 years agoMerge branch 'master' into v2.1
Mike Pall [Thu, 8 Dec 2022 23:21:40 +0000 (00:21 +0100)] 
Merge branch 'master' into v2.1

2 years agoCorrect fix for stack check when recording BC_VARG.
Mike Pall [Thu, 8 Dec 2022 23:20:05 +0000 (00:20 +0100)] 
Correct fix for stack check when recording BC_VARG.

Reported by Yichun Zhang.

2 years agoDisable FMA by default. Use -Ofma or jit.opt.start("+fma") to enable.
Mike Pall [Wed, 7 Dec 2022 17:38:22 +0000 (18:38 +0100)] 
Disable FMA by default. Use -Ofma or jit.opt.start("+fma") to enable.

See the discussion in #918 for the rationale.

2 years agoMerge branch 'master' into v2.1
Mike Pall [Wed, 7 Dec 2022 16:21:36 +0000 (17:21 +0100)] 
Merge branch 'master' into v2.1

2 years agoFFI: Fix dangling reference to CType. Improve checks.
Mike Pall [Wed, 7 Dec 2022 16:19:29 +0000 (17:19 +0100)] 
FFI: Fix dangling reference to CType. Improve checks.

Reported by elmknot.

2 years agoARM64: Fix code generation for IR_SLOAD with typecheck + conversion.
Mike Pall [Thu, 1 Dec 2022 11:03:09 +0000 (12:03 +0100)] 
ARM64: Fix code generation for IR_SLOAD with typecheck + conversion.

Reported by memcorrupt.

2 years agoPS4/PS5: Fix build scripts.
Mike Pall [Sun, 27 Nov 2022 14:36:11 +0000 (15:36 +0100)] 
PS4/PS5: Fix build scripts.

Thanks to Mathias Westerdahl.

2 years agoAvoid assertion in case of stack overflow from stitched trace.
Mike Pall [Sun, 27 Nov 2022 14:25:32 +0000 (15:25 +0100)] 
Avoid assertion in case of stack overflow from stitched trace.

Reported by Sergey Bronnikov. Fixed by Sergey Kaplun.

2 years agoNX: Always compile with -fPIC.
Mike Pall [Tue, 22 Nov 2022 08:52:56 +0000 (09:52 +0100)] 
NX: Always compile with -fPIC.

Suggested by Mathias Westerdahl.

2 years agoMerge branch 'master' into v2.1
Mike Pall [Mon, 14 Nov 2022 08:56:07 +0000 (09:56 +0100)] 
Merge branch 'master' into v2.1

2 years agoClarify contact page.
Mike Pall [Mon, 14 Nov 2022 08:55:38 +0000 (09:55 +0100)] 
Clarify contact page.

2 years agoMerge branch 'master' into v2.1
Mike Pall [Wed, 9 Nov 2022 10:06:11 +0000 (11:06 +0100)] 
Merge branch 'master' into v2.1

2 years agoEnsure correct stack top for OOM error message.
Mike Pall [Wed, 9 Nov 2022 10:01:41 +0000 (11:01 +0100)] 
Ensure correct stack top for OOM error message.

Reported by Sergey Kaplun.

3 years agoARM64: Fix IR_SLOAD assembly.
Mike Pall [Tue, 4 Oct 2022 10:04:17 +0000 (12:04 +0200)] 
ARM64: Fix IR_SLOAD assembly.

Reported by Gate88.

3 years agoFix trace join to BC_JLOOP originating from BC_ITERN.
Mike Pall [Wed, 14 Sep 2022 10:26:53 +0000 (12:26 +0200)] 
Fix trace join to BC_JLOOP originating from BC_ITERN.

Reported by OpenResty Inc.

3 years agoFix compiler warnings.
Mike Pall [Tue, 13 Sep 2022 11:43:03 +0000 (13:43 +0200)] 
Fix compiler warnings.

Reported by gan74.

3 years agoMerge branch 'master' into v2.1
Mike Pall [Tue, 13 Sep 2022 09:33:12 +0000 (11:33 +0200)] 
Merge branch 'master' into v2.1

3 years agoFix last edit.
Mike Pall [Tue, 13 Sep 2022 09:32:53 +0000 (11:32 +0200)] 
Fix last edit.

3 years agoMerge branch 'master' into v2.1
Mike Pall [Tue, 13 Sep 2022 09:22:18 +0000 (11:22 +0200)] 
Merge branch 'master' into v2.1

3 years agoRemove dead Wiki links.
Mike Pall [Tue, 13 Sep 2022 09:21:30 +0000 (11:21 +0200)] 
Remove dead Wiki links.

The lost content may be resurrected later.

3 years agoFix QNX build.
Mike Pall [Mon, 12 Sep 2022 09:16:20 +0000 (11:16 +0200)] 
Fix QNX build.

Note: this is not an officially supported target.
Contributed by Wen Yang.

3 years agoAdd -F option to override filename in jit.bcsave (luajit -b).
Mike Pall [Mon, 15 Aug 2022 12:16:58 +0000 (14:16 +0200)] 
Add -F option to override filename in jit.bcsave (luajit -b).

Suggested by Mathias Westerdahl.

3 years agoMerge branch 'master' into v2.1
Mike Pall [Mon, 15 Aug 2022 12:16:39 +0000 (14:16 +0200)] 
Merge branch 'master' into v2.1

3 years agoPatch luajit.pc with INSTALL_INC, if customized.
Mike Pall [Mon, 15 Aug 2022 12:16:14 +0000 (14:16 +0200)] 
Patch luajit.pc with INSTALL_INC, if customized.

Suggested by Henrique Bucher.

3 years agoLJ_GC64: Fix lua_concat().
Mike Pall [Wed, 10 Aug 2022 17:27:53 +0000 (19:27 +0200)] 
LJ_GC64: Fix lua_concat().

Reported by Mathias Westerdahl.

3 years agoMerge branch 'master' into v2.1
Mike Pall [Sun, 7 Aug 2022 18:04:52 +0000 (20:04 +0200)] 
Merge branch 'master' into v2.1

3 years agoPrevent use of RTLD_DEFAULT when NO_RTLD_DEFAULT is defined.
Mike Pall [Sun, 7 Aug 2022 18:02:40 +0000 (20:02 +0200)] 
Prevent use of RTLD_DEFAULT when NO_RTLD_DEFAULT is defined.

Workaround for Android 4.4 bug.
Thanks to gudzpoz.

3 years agoImprove GC estimation for userdata with attached managed memory.
Mike Pall [Thu, 28 Jul 2022 13:40:28 +0000 (15:40 +0200)] 
Improve GC estimation for userdata with attached managed memory.

This works well for string.buffers, but not for userdata or
cdata with attached unmanaged memory (malloc/free, mmap/munmap).

3 years agoAdd missing GC steps to string buffer methods.
Mike Pall [Thu, 28 Jul 2022 13:38:54 +0000 (15:38 +0200)] 
Add missing GC steps to string buffer methods.

Reported by Cosmin Apreutesei.

3 years agox86/x64: Limit VLOAD fusion to simple cases.
Mike Pall [Wed, 27 Jul 2022 09:32:33 +0000 (11:32 +0200)] 
x86/x64: Limit VLOAD fusion to simple cases.

Reported by ccagml.

3 years agoOSX/iOS/ARM64: Fix generation of Mach-O object files.
Mike Pall [Fri, 22 Jul 2022 10:14:40 +0000 (12:14 +0200)] 
OSX/iOS/ARM64: Fix generation of Mach-O object files.

Thanks to Carlo Cabrera.

3 years agoPrevent trace start at BC_ITERL after compiled BC_ITERN.
Mike Pall [Thu, 21 Jul 2022 15:30:56 +0000 (17:30 +0200)] 
Prevent trace start at BC_ITERL after compiled BC_ITERN.

Reported by ccagml.

3 years agoARM64: Allow building with unwinding disabled.
Mike Pall [Tue, 19 Jul 2022 10:53:34 +0000 (12:53 +0200)] 
ARM64: Allow building with unwinding disabled.

3 years agoMerge branch 'master' into v2.1
Mike Pall [Tue, 12 Jul 2022 22:37:14 +0000 (00:37 +0200)] 
Merge branch 'master' into v2.1

3 years agoFFI: Fix sizeof expression in C parser for reference types.
Mike Pall [Tue, 12 Jul 2022 22:32:31 +0000 (00:32 +0200)] 
FFI: Fix sizeof expression in C parser for reference types.

3 years agoFFI: Fix ffi.alignof() for reference types.
Mike Pall [Tue, 12 Jul 2022 22:32:04 +0000 (00:32 +0200)] 
FFI: Fix ffi.alignof() for reference types.

Reported by Eric Gouyer.

3 years agoFFI: Allow ffi.metatype() for typedefs with attributes.
Mike Pall [Tue, 12 Jul 2022 22:30:23 +0000 (00:30 +0200)] 
FFI: Allow ffi.metatype() for typedefs with attributes.

Reported by Eric Gouyer.

3 years agoOSX/iOS/ARM64: Fix bytecode embedding in Mach-O object file.
Mike Pall [Tue, 12 Jul 2022 20:25:33 +0000 (22:25 +0200)] 
OSX/iOS/ARM64: Fix bytecode embedding in Mach-O object file.

Thanks to Carlo Cabrera.

3 years agoLJ_GC64: Fix IR_VARG offset for fixed number of results.
Mike Pall [Tue, 12 Jul 2022 20:21:26 +0000 (22:21 +0200)] 
LJ_GC64: Fix IR_VARG offset for fixed number of results.

Reported by George Vaintrub. Fixed by Sergey Kaplun.