]> git.ipfire.org Git - thirdparty/LuaJIT.git/log
thirdparty/LuaJIT.git
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

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

4 years agoFix io.close().
Mike Pall [Thu, 22 Jul 2021 00:33:04 +0000 (02:33 +0200)] 
Fix io.close().

Reported by farmboy0.

4 years agoFix minilua vararg stack handling.
Mike Pall [Wed, 21 Jul 2021 10:14:09 +0000 (12:14 +0200)] 
Fix minilua vararg stack handling.

Note: this is not exploitable! 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. LuaJIT itself has
completely different stack handling code and is not affected either.

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

4 years agoAvoid out-of-range number of results when compiling select(k, ...).
Mike Pall [Mon, 19 Jul 2021 15:03:16 +0000 (17:03 +0200)] 
Avoid out-of-range number of results when compiling select(k, ...).

The interpreter will throw and abort the trace, anyway.

4 years agoFix jit.dump() output for IR_CONV.
Mike Pall [Mon, 19 Jul 2021 14:05:05 +0000 (16:05 +0200)] 
Fix jit.dump() output for IR_CONV.

4 years agoDynASM/x86: Add missing escape in pattern.
Mike Pall [Tue, 8 Jun 2021 20:34:22 +0000 (22:34 +0200)] 
DynASM/x86: Add missing escape in pattern.

4 years agoFix HTML.
Mike Pall [Mon, 7 Jun 2021 10:05:34 +0000 (12:05 +0200)] 
Fix HTML.

4 years agoFFI: Fix dangling reference to CType.
Mike Pall [Mon, 31 May 2021 22:26:45 +0000 (00:26 +0200)] 
FFI: Fix dangling reference to CType.

4 years agoPPC/PS3: Fix BC_ADD*/BC_SUB*.
Mike Pall [Sat, 29 May 2021 13:33:08 +0000 (15:33 +0200)] 
PPC/PS3: Fix BC_ADD*/BC_SUB*.

Thanks to MaryWan1982.

4 years agoFix use-def analysis for vararg functions.
Mike Pall [Sat, 29 May 2021 13:31:13 +0000 (15:31 +0200)] 
Fix use-def analysis for vararg functions.

Reported by Shmuel Zeigerman.

4 years agoFix use-def analysis for BC_VARG.
Mike Pall [Mon, 24 May 2021 20:25:26 +0000 (22:25 +0200)] 
Fix use-def analysis for BC_VARG.

Reported by Ryan Lucia.