]> git.ipfire.org Git - thirdparty/LuaJIT.git/log
thirdparty/LuaJIT.git
18 months agoRework stack overflow handling.
Mike Pall [Sun, 4 Feb 2024 15:34:30 +0000 (16:34 +0100)] 
Rework stack overflow handling.

Reported by pwnhacker0x18. Fixed by Peter Cawley. #1152

18 months agoPreserve keys with dynamic values in template tables when saving bytecode.
Mike Pall [Wed, 31 Jan 2024 13:32:04 +0000 (14:32 +0100)] 
Preserve keys with dynamic values in template tables when saving bytecode.

Reported by Lyrthras. Fixed by Peter Cawley. #1155

18 months agoPrevent include of luajit_rolling.h.
Mike Pall [Wed, 31 Jan 2024 13:29:23 +0000 (14:29 +0100)] 
Prevent include of luajit_rolling.h.

Thanks to Peter Cawley. #1145

18 months agoFix documentation bug about '\z' string escape.
Mike Pall [Fri, 26 Jan 2024 22:17:33 +0000 (23:17 +0100)] 
Fix documentation bug about '\z' string escape.

18 months agoFix unsinking of IR_FSTORE for NULL metatable.
Mike Pall [Tue, 23 Jan 2024 17:58:52 +0000 (18:58 +0100)] 
Fix unsinking of IR_FSTORE for NULL metatable.

Reported by pwnhacker0x18. #1147

19 months agoCheck for IR_HREF vs. IR_HREFK aliasing in non-nil store check.
Mike Pall [Sat, 23 Dec 2023 18:43:03 +0000 (19:43 +0100)] 
Check for IR_HREF vs. IR_HREFK aliasing in non-nil store check.

Thanks to Peter Cawley. #1133

19 months agoRespect jit.off() on pending trace exit.
Mike Pall [Sat, 23 Dec 2023 18:22:34 +0000 (19:22 +0100)] 
Respect jit.off() on pending trace exit.

Thanks to Sergey Kaplun. #1134

19 months agoSimplify handling of instable types in TNEW/TDUP load forwarding.
Mike Pall [Sat, 23 Dec 2023 18:14:32 +0000 (19:14 +0100)] 
Simplify handling of instable types in TNEW/TDUP load forwarding.

Thanks to Peter Cawley. #994

20 months agoOnly emit proper parent references in snapshot replay.
Mike Pall [Mon, 11 Dec 2023 12:01:36 +0000 (13:01 +0100)] 
Only emit proper parent references in snapshot replay.

Thanks to Peter Cawley. #1132

20 months agoARM: Fix stack restore for FP slots.
Mike Pall [Sun, 10 Dec 2023 15:10:48 +0000 (16:10 +0100)] 
ARM: Fix stack restore for FP slots.

Thanks to Peter Cawley. #1131

20 months agoDocument workaround for multilib vs. cross-compiler conflict.
Mike Pall [Sun, 10 Dec 2023 14:45:10 +0000 (15:45 +0100)] 
Document workaround for multilib vs. cross-compiler conflict.

Reported by igorpupkinable. #1126

20 months agoFix runtime library flags for MSVC debug builds.
Mike Pall [Sun, 10 Dec 2023 14:00:52 +0000 (15:00 +0100)] 
Fix runtime library flags for MSVC debug builds.

Reported by igor725. #1127

20 months agoFix .debug_abbrev section in GDB JIT API.
Mike Pall [Sun, 10 Dec 2023 13:48:34 +0000 (14:48 +0100)] 
Fix .debug_abbrev section in GDB JIT API.

Thanks to Dmitry Stogov. #1129

20 months agoEmit sunk IR_NEWREF only once per key on snapshot replay.
Mike Pall [Sun, 10 Dec 2023 13:29:45 +0000 (14:29 +0100)] 
Emit sunk IR_NEWREF only once per key on snapshot replay.

Thanks to Sergey Kaplun and Peter Cawley. #1128

20 months agox86/x64: Don't fuse loads across IR_NEWREF.
Mike Pall [Tue, 14 Nov 2023 21:50:21 +0000 (22:50 +0100)] 
x86/x64: Don't fuse loads across IR_NEWREF.

Reported by Peter Cawley. #1117

20 months agox86/x64: Add more red zone checks to assembler backend.
Mike Pall [Sun, 12 Nov 2023 14:18:44 +0000 (15:18 +0100)] 
x86/x64: Add more red zone checks to assembler backend.

Thanks to Peter Cawley. #1116

21 months agoAdd stack check to pcall/xpcall.
Mike Pall [Sun, 12 Nov 2023 13:42:24 +0000 (14:42 +0100)] 
Add stack check to pcall/xpcall.

Analyzed by Peter Cawley. #1048

21 months agoInvalidate SCEV entry when returning to lower frame.
Mike Pall [Thu, 9 Nov 2023 10:02:36 +0000 (11:02 +0100)] 
Invalidate SCEV entry when returning to lower frame.

Thanks to Zhongwei Yao. #1115

21 months agoFFI: Fix pragma push stack limit check and throw on overflow.
Mike Pall [Tue, 7 Nov 2023 21:25:42 +0000 (22:25 +0100)] 
FFI: Fix pragma push stack limit check and throw on overflow.

Reported by Sergey Kaplun. #1114

21 months agox64: Properly fix __call metamethod return dispatch.
Mike Pall [Sun, 5 Nov 2023 10:31:08 +0000 (11:31 +0100)] 
x64: Properly fix __call metamethod return dispatch.

Reported by Sergey Kaplun. #1110

21 months agoFFI: Fix dangling reference to CType in carith_checkarg().
Mike Pall [Sat, 21 Oct 2023 11:11:50 +0000 (13:11 +0200)] 
FFI: Fix dangling reference to CType in carith_checkarg().

Reported by Sergey Kaplun. #1108

22 months agoMaintain chain invariant in DCE.
Mike Pall [Fri, 22 Sep 2023 19:04:22 +0000 (21:04 +0200)] 
Maintain chain invariant in DCE.

Thanks to Peter Cawley. #1094

22 months agoFollow-up fix for stack overflow handling cleanup.
Mike Pall [Thu, 21 Sep 2023 02:43:40 +0000 (04:43 +0200)] 
Follow-up fix for stack overflow handling cleanup.

22 months agoHandle all stack layouts in (delayed) TRACE vmevent.
Mike Pall [Thu, 21 Sep 2023 00:15:16 +0000 (02:15 +0200)] 
Handle all stack layouts in (delayed) TRACE vmevent.

Thanks to Sergey Bronnikov and Peter Cawley. #1087

22 months agoAdd missing coercion when recording select(string, ...)
Mike Pall [Thu, 21 Sep 2023 00:10:18 +0000 (02:10 +0200)] 
Add missing coercion when recording select(string, ...)

Thanks to Peter Cawley. #1083

22 months agoCleanup stack overflow handling.
Mike Pall [Wed, 20 Sep 2023 23:58:43 +0000 (01:58 +0200)] 
Cleanup stack overflow handling.

Reported by Peter Cawley. #962

23 months agoAllow path overrides in genversion.lua with minilua, too.
Mike Pall [Sun, 10 Sep 2023 03:23:10 +0000 (05:23 +0200)] 
Allow path overrides in genversion.lua with minilua, too.

Thanks to arch1t3cht. #1067

23 months agoImprove architecture detection error messages.
Mike Pall [Sat, 9 Sep 2023 21:01:26 +0000 (23:01 +0200)] 
Improve architecture detection error messages.

23 months agoARM: Fix stack check code generation.
Mike Pall [Sat, 9 Sep 2023 16:16:31 +0000 (18:16 +0200)] 
ARM: Fix stack check code generation.

Thanks to Peter Cawley. #1068

23 months agoFix mcode limit check for non-x86 archs.
Mike Pall [Sat, 9 Sep 2023 15:44:54 +0000 (17:44 +0200)] 
Fix mcode limit check for non-x86 archs.

Thanks to Peter Cawley.

23 months agoAdd NaN check to IR_NEWREF.
Mike Pall [Sat, 9 Sep 2023 11:37:31 +0000 (13:37 +0200)] 
Add NaN check to IR_NEWREF.

Thanks to Peter Cawley. #1069

23 months agoAllow override of paths for genversion.lua.
Mike Pall [Sat, 9 Sep 2023 10:47:27 +0000 (12:47 +0200)] 
Allow override of paths for genversion.lua.

Thanks to arch1t3cht. #1067

23 months agoFix native MinGW build.
Mike Pall [Sat, 9 Sep 2023 10:41:47 +0000 (12:41 +0200)] 
Fix native MinGW build.

Thanks to Victor Bombi. #1071

23 months agoUpdate external MSDN URL in code.
Mike Pall [Tue, 29 Aug 2023 20:27:38 +0000 (22:27 +0200)] 
Update external MSDN URL in code.

Thanks to Kyle Marshall. #1060

23 months agoHandle table unsinking in the presence of IRFL_TAB_NOMM.
Mike Pall [Mon, 28 Aug 2023 20:15:42 +0000 (22:15 +0200)] 
Handle table unsinking in the presence of IRFL_TAB_NOMM.

Reported by Sergey Kaplun. #1052

23 months agoUse fallback name for install files without valid .git or .relver.
Mike Pall [Mon, 28 Aug 2023 19:25:51 +0000 (21:25 +0200)] 
Use fallback name for install files without valid .git or .relver.

23 months agoHandle non-.git checkout with .relver in .bat-file builds.
Mike Pall [Mon, 28 Aug 2023 19:59:01 +0000 (21:59 +0200)] 
Handle non-.git checkout with .relver in .bat-file builds.

Thanks to Simon Cooke.

23 months agoFix external C call stack check when using LUAJIT_MODE_WRAPCFUNC.
Mike Pall [Mon, 28 Aug 2023 19:04:01 +0000 (21:04 +0200)] 
Fix external C call stack check when using LUAJIT_MODE_WRAPCFUNC.

Thanks to Peter Cawley. #1047

23 months agoFix predict_next() in parser (again).
Mike Pall [Mon, 28 Aug 2023 19:00:37 +0000 (21:00 +0200)] 
Fix predict_next() in parser (again).

Reported by Sergey Bronnikov. #1054

23 months 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.

23 months 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.

23 months 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.

23 months 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.

23 months 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.

23 months 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.

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

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 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 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_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 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 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 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 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 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 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 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 agoClarify contact page.
Mike Pall [Mon, 14 Nov 2022 08:55:38 +0000 (09:55 +0100)] 
Clarify contact page.

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.

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

2 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.

2 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 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 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 agox86/x64: Fix math.ceil(-0.9) result sign.
Mike Pall [Fri, 8 Jul 2022 12:57:01 +0000 (14:57 +0200)] 
x86/x64: Fix math.ceil(-0.9) result sign.

Reported by minoki.

3 years agoGrammar and spell check.
Mike Pall [Thu, 23 Jun 2022 07:10:09 +0000 (09:10 +0200)] 
Grammar and spell check.

3 years agoFix warnings in minilua.c.
Mike Pall [Wed, 8 Jun 2022 13:35:12 +0000 (15:35 +0200)] 
Fix warnings in minilua.c.

3 years agoUpdate console build instructions.
Mike Pall [Wed, 8 Jun 2022 12:55:59 +0000 (14:55 +0200)] 
Update console build instructions.

3 years agoPrevent C compiler undefined-behavior optimization.
Mike Pall [Sat, 21 May 2022 10:00:10 +0000 (12:00 +0200)] 
Prevent C compiler undefined-behavior optimization.

3 years agoCleanup of system and architecture support docs.
Mike Pall [Sun, 17 Apr 2022 23:54:00 +0000 (01:54 +0200)] 
Cleanup of system and architecture support docs.

3 years agoFix assertions.
Mike Pall [Sun, 17 Apr 2022 08:56:11 +0000 (10:56 +0200)] 
Fix assertions.

Reported by ssdr.

3 years agoFix BC_UCLO insertion for returns.
Mike Pall [Sun, 13 Mar 2022 17:32:32 +0000 (18:32 +0100)] 
Fix BC_UCLO insertion for returns.

Contributed by XmiliaH.

3 years agoFix install docs for Android.
Mike Pall [Mon, 7 Mar 2022 08:50:25 +0000 (09:50 +0100)] 
Fix install docs for Android.

Thanks to GuDzpoz.

3 years agoFix command-line argv handling.
Mike Pall [Thu, 27 Jan 2022 21:18:39 +0000 (22:18 +0100)] 
Fix command-line argv handling.

3 years agoDon't export internal symbol.
Mike Pall [Tue, 25 Jan 2022 21:17:56 +0000 (22:17 +0100)] 
Don't export internal symbol.

3 years agoAlways exit after machine code page protection change fails.
Mike Pall [Sun, 23 Jan 2022 18:16:53 +0000 (19:16 +0100)] 
Always exit after machine code page protection change fails.

Reported by Sergey Kaplun.

3 years agoSave trace recorder state around VM event call.
Mike Pall [Sun, 16 Jan 2022 19:58:42 +0000 (20:58 +0100)] 
Save trace recorder state around VM event call.

Reported by Sergey Kaplun.

3 years agoBump copyright date.
Mike Pall [Sat, 15 Jan 2022 18:30:54 +0000 (19:30 +0100)] 
Bump copyright date.

3 years agoLimit exponent range in number parsing.
Mike Pall [Thu, 13 Jan 2022 16:48:43 +0000 (17:48 +0100)] 
Limit exponent range in number parsing.

Reported by XmiliaH.

3 years agoFix tonumber("-0") in dual-number mode.
Mike Pall [Thu, 13 Jan 2022 14:38:56 +0000 (15:38 +0100)] 
Fix tonumber("-0") in dual-number mode.

Reported by Sergey Kaplun.

3 years agoLimit work done in SINK pass.
Mike Pall [Thu, 13 Jan 2022 14:13:59 +0000 (15:13 +0100)] 
Limit work done in SINK pass.

Reported by XmiliaH.

3 years agoFix ABC FOLD rule with constants.
Mike Pall [Thu, 13 Jan 2022 13:40:11 +0000 (14:40 +0100)] 
Fix ABC FOLD rule with constants.

Reported by XmiliaH.

3 years agoPrevent CSE of a REF_BASE operand across IR_RETF.
Mike Pall [Sun, 19 Dec 2021 17:35:27 +0000 (18:35 +0100)] 
Prevent CSE of a REF_BASE operand across IR_RETF.

Reported by XmiliaH.

3 years agoFix FOLD rule for x-0.
Mike Pall [Fri, 17 Dec 2021 13:15:40 +0000 (14:15 +0100)] 
Fix FOLD rule for x-0.

Reported by XmiliaH.

3 years agoUpdate Android build docs.
Mike Pall [Sat, 13 Nov 2021 19:24:06 +0000 (20:24 +0100)] 
Update Android build docs.

3 years agoMIPS: Fix register allocation in assembly of HREF.
Mike Pall [Sat, 2 Oct 2021 14:52:57 +0000 (16:52 +0200)] 
MIPS: Fix register allocation in assembly of HREF.

Reported by Jakub Piotr Cłapa.

3 years agoWindows/x64: Document MSVC flags for C++ exception interoperability.
Mike Pall [Fri, 24 Sep 2021 10:10:44 +0000 (12:10 +0200)] 
Windows/x64: Document MSVC flags for C++ exception interoperability.

Suggested by Julien Cugnière.

3 years agoFix stack allocation after on-trace stack check.
Mike Pall [Tue, 21 Sep 2021 14:42:35 +0000 (16:42 +0200)] 
Fix stack allocation after on-trace stack check.

3 years agoFFI: Don't load PC from non-function object in FFI continuation.
Mike Pall [Mon, 20 Sep 2021 12:36:52 +0000 (14:36 +0200)] 
FFI: Don't load PC from non-function object in FFI continuation.

Reported by Yichun Zhang. #743

3 years agoFFI: Fix missing cts->L initialization in argv2ctype().
Mike Pall [Mon, 20 Sep 2021 12:34:47 +0000 (14:34 +0200)] 
FFI: Fix missing cts->L initialization in argv2ctype().

4 years agoConsider slots used by upvalues in use-def analysis.
Mike Pall [Tue, 27 Jul 2021 12:47:41 +0000 (14:47 +0200)] 
Consider slots used by upvalues in use-def analysis.

Reported by XmiliaH.

4 years agoPrevent loop in snap_usedef().
Mike Pall [Fri, 23 Jul 2021 19:33:59 +0000 (21:33 +0200)] 
Prevent loop in snap_usedef().

Reported by XmiliaH.

4 years agoFix io.close() error message.
Mike Pall [Thu, 22 Jul 2021 14:21:45 +0000 (16:21 +0200)] 
Fix io.close() error message.

Reported by François Perrad.