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

4 years agoFix compiler warnings.
Mike Pall [Mon, 17 May 2021 17:42:06 +0000 (19:42 +0200)] 
Fix compiler warnings.

4 years agoAdd FAQ about table iteration order.
Mike Pall [Sun, 25 Apr 2021 15:44:03 +0000 (17:44 +0200)] 
Add FAQ about table iteration order.

4 years agoDetect inconsistent renames even in the presence of sunk values.
Mike Pall [Mon, 22 Mar 2021 23:43:07 +0000 (00:43 +0100)] 
Detect inconsistent renames even in the presence of sunk values.

Reported by Igor Munkin.

4 years agoRemove specific version numbers from the docs.
Mike Pall [Thu, 11 Mar 2021 14:32:28 +0000 (15:32 +0100)] 
Remove specific version numbers from the docs.

4 years agoClarify macOS build instructions.
Mike Pall [Tue, 12 Jan 2021 11:59:54 +0000 (12:59 +0100)] 
Clarify macOS build instructions.

4 years agoBump copyright date.
Mike Pall [Sat, 2 Jan 2021 20:49:41 +0000 (21:49 +0100)] 
Bump copyright date.

4 years agoDocumentation cleanup.
Mike Pall [Sat, 2 Jan 2021 20:17:01 +0000 (21:17 +0100)] 
Documentation cleanup.

4 years agoFFI: Fix recording of union initialization.
Mike Pall [Mon, 28 Dec 2020 11:37:36 +0000 (12:37 +0100)] 
FFI: Fix recording of union initialization.

Thanks to Alex Shpilkin.

4 years agox64: Fix __call metamethod return dispatch.
Mike Pall [Fri, 4 Dec 2020 10:16:55 +0000 (11:16 +0100)] 
x64: Fix __call metamethod return dispatch.

Reported by Igor Munkin.

4 years agoFix warning.
Mike Pall [Mon, 30 Nov 2020 14:46:07 +0000 (15:46 +0100)] 
Fix warning.

4 years agoMinor changes and https-ify links.
Mike Pall [Mon, 12 Oct 2020 14:11:32 +0000 (16:11 +0200)] 
Minor changes and https-ify links.

4 years agoFix snapshot PC when linking to BC_JLOOP that was a BC_RET*.
Mike Pall [Mon, 12 Oct 2020 13:45:05 +0000 (15:45 +0200)] 
Fix snapshot PC when linking to BC_JLOOP that was a BC_RET*.

Reported by Arseny Vakhrushev.
Fix contributed by Peter Cawley.

4 years agoEnsure full init of IR_NOP instructions.
Mike Pall [Mon, 12 Oct 2020 13:40:28 +0000 (15:40 +0200)] 
Ensure full init of IR_NOP instructions.

4 years agoPrevent patching of the GC exit check branch.
Mike Pall [Sun, 27 Sep 2020 14:44:13 +0000 (16:44 +0200)] 
Prevent patching of the GC exit check branch.

Reported by Arseny Vakhrushev.

4 years agoMark CONV as non-weak, to prevent elimination of its side-effect.
Mike Pall [Tue, 22 Sep 2020 09:56:06 +0000 (11:56 +0200)] 
Mark CONV as non-weak, to prevent elimination of its side-effect.

An unused guarded CONV int.num cannot be omitted in general.

4 years agoDynASM/x86: Fix VREG support.
Mike Pall [Sat, 12 Sep 2020 15:32:30 +0000 (17:32 +0200)] 
DynASM/x86: Fix VREG support.

4 years agoLimit path length passed to C library loader.
Mike Pall [Sat, 5 Sep 2020 18:02:54 +0000 (20:02 +0200)] 
Limit path length passed to C library loader.

5 years agoCall error function on rethrow after trace exit.
Mike Pall [Sun, 9 Aug 2020 20:50:31 +0000 (22:50 +0200)] 
Call error function on rethrow after trace exit.