]> git.ipfire.org Git - thirdparty/LuaJIT.git/log
thirdparty/LuaJIT.git
3 years agoFix alias analysis for table length forwarding.
Mike Pall [Fri, 20 May 2022 10:16:25 +0000 (12:16 +0200)] 
Fix alias analysis for table length forwarding.

Contributed by Maxim Sokolov.

3 years agoFix loop initialization in table.foreach().
Mike Pall [Fri, 20 May 2022 09:54:20 +0000 (11:54 +0200)] 
Fix loop initialization in table.foreach().

Reported by Daniel Steinberg.

3 years agoLJ_GC64: Fix HREFK optimization.
Mike Pall [Tue, 3 May 2022 18:51:29 +0000 (20:51 +0200)] 
LJ_GC64: Fix HREFK optimization.

Contributed by XmiliaH.

3 years agoFix recording of __concat metamethod.
Mike Pall [Mon, 2 May 2022 20:33:35 +0000 (22:33 +0200)] 
Fix recording of __concat metamethod.

Reported by Elias Oelschner. Analyzed by XmiliaH.

3 years agoMerge branch 'master' into v2.1
Mike Pall [Mon, 18 Apr 2022 00:02:56 +0000 (02:02 +0200)] 
Merge branch 'master' into v2.1

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 agoAdd PS5 port.
Mike Pall [Sun, 17 Apr 2022 21:41:39 +0000 (23:41 +0200)] 
Add PS5 port.

3 years agoMerge branch 'master' into v2.1
Mike Pall [Sun, 17 Apr 2022 08:57:43 +0000 (10:57 +0200)] 
Merge branch 'master' into v2.1

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

Reported by ssdr.

3 years agox64: Fix RETHI/RETLO swap after call.
Mike Pall [Tue, 5 Apr 2022 07:55:15 +0000 (09:55 +0200)] 
x64: Fix RETHI/RETLO swap after call.

Reported by savilli.

3 years agoFix assertion for LJ_KEYINDEX.
Mike Pall [Sun, 3 Apr 2022 08:35:42 +0000 (10:35 +0200)] 
Fix assertion for LJ_KEYINDEX.

Thanks to XmiliaH.

3 years agoAdd missing check for LJ_KEYINDEX in ITERN recording.
Mike Pall [Sat, 2 Apr 2022 19:24:18 +0000 (21:24 +0200)] 
Add missing check for LJ_KEYINDEX in ITERN recording.

Reported by dragonorloong. Analyzed by vfprintf. #827

3 years agoDynASM/ARM64: Fix NOP instruction for aligment
Mike Pall [Fri, 25 Mar 2022 14:31:17 +0000 (15:31 +0100)] 
DynASM/ARM64: Fix NOP instruction for aligment

Reported by Marius Wachtler.

3 years agoFix soft-float IR_POW splitting.
Mike Pall [Sun, 20 Mar 2022 10:29:17 +0000 (11:29 +0100)] 
Fix soft-float IR_POW splitting.

Reported by lison0322.

3 years agoMerge branch 'master' into v2.1
Mike Pall [Sun, 13 Mar 2022 17:34:59 +0000 (18:34 +0100)] 
Merge branch 'master' into v2.1

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 compiler warning.
Mike Pall [Tue, 8 Mar 2022 19:05:33 +0000 (20:05 +0100)] 
Fix compiler warning.

3 years agoRevert to trival pow() optimizations to prevent inaccuracies.
Mike Pall [Tue, 8 Mar 2022 18:44:10 +0000 (19:44 +0100)] 
Revert to trival pow() optimizations to prevent inaccuracies.

3 years agoFix string buffer COW handling, part 2.
Mike Pall [Mon, 7 Mar 2022 14:46:51 +0000 (15:46 +0100)] 
Fix string buffer COW handling, part 2.

Reported by XmiliaH.

3 years agoMerge branch 'master' into v2.1
Mike Pall [Mon, 7 Mar 2022 08:51:40 +0000 (09:51 +0100)] 
Merge branch 'master' into v2.1

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 ago*BSD: Fix getentropy() declaration.
Mike Pall [Mon, 7 Mar 2022 08:45:04 +0000 (09:45 +0100)] 
*BSD: Fix getentropy() declaration.

Thanks to dundargoc.

3 years agoFix string buffer COW handling.
Mike Pall [Mon, 7 Mar 2022 08:42:59 +0000 (09:42 +0100)] 
Fix string buffer COW handling.

Reported by XmiliaH.

3 years agoMerge branch 'master' into v2.1
Mike Pall [Thu, 27 Jan 2022 21:26:14 +0000 (22:26 +0100)] 
Merge branch 'master' into v2.1

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 agoMerge branch 'master' into v2.1
Mike Pall [Tue, 25 Jan 2022 21:18:20 +0000 (22:18 +0100)] 
Merge branch 'master' into v2.1

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 agoFix pow() optimization inconsistencies.
Mike Pall [Mon, 24 Jan 2022 13:37:50 +0000 (14:37 +0100)] 
Fix pow() optimization inconsistencies.

3 years agoMerge branch 'master' into v2.1
Mike Pall [Sun, 23 Jan 2022 18:19:26 +0000 (19:19 +0100)] 
Merge branch 'master' into v2.1

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 agoFix FOLD rule for BUFHDR append with intervening buffer use.
Mike Pall [Sun, 23 Jan 2022 18:13:53 +0000 (19:13 +0100)] 
Fix FOLD rule for BUFHDR append with intervening buffer use.

Reported by XmiliaH.

3 years agoFix compiled error handling for buffer methods.
Mike Pall [Sun, 23 Jan 2022 18:10:47 +0000 (19:10 +0100)] 
Fix compiled error handling for buffer methods.

Contributed by XmiliaH.

3 years agoPrevent unroll across BC_ITERN.
Mike Pall [Sun, 16 Jan 2022 20:01:52 +0000 (21:01 +0100)] 
Prevent unroll across BC_ITERN.

Reported by Marukyu.

3 years agoPrevent replay of buffer operation for PHI operands.
Mike Pall [Sun, 16 Jan 2022 20:00:24 +0000 (21:00 +0100)] 
Prevent replay of buffer operation for PHI operands.

Contributed by XmiliaH.

3 years agoMerge branch 'master' into v2.1
Mike Pall [Sun, 16 Jan 2022 19:59:10 +0000 (20:59 +0100)] 
Merge branch 'master' into v2.1

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 agoMerge branch 'master' into v2.1
Mike Pall [Sat, 15 Jan 2022 18:42:30 +0000 (19:42 +0100)] 
Merge branch 'master' into v2.1

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

3 years agoFFI: Ensure library is loaded before de-serializing FFI types.
Mike Pall [Sat, 15 Jan 2022 17:32:34 +0000 (18:32 +0100)] 
FFI: Ensure library is loaded before de-serializing FFI types.

Reported by ImagicTheCat.

3 years agoFix HREFK forwarding vs. table.clear().
Mike Pall [Sat, 15 Jan 2022 16:52:21 +0000 (17:52 +0100)] 
Fix HREFK forwarding vs. table.clear().

Reported by XmiliaH.

3 years agoFix FOLD rule for BUFHDR append.
Mike Pall [Thu, 13 Jan 2022 17:33:04 +0000 (18:33 +0100)] 
Fix FOLD rule for BUFHDR append.

Reported by XmiliaH.

3 years agoOSX: Disable unreliable assertion for external frame unwinding.
Mike Pall [Thu, 13 Jan 2022 16:57:03 +0000 (17:57 +0100)] 
OSX: Disable unreliable assertion for external frame unwinding.

3 years agoMerge branch 'master' into v2.1
Mike Pall [Thu, 13 Jan 2022 16:51:09 +0000 (17:51 +0100)] 
Merge branch 'master' into v2.1

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 agoMerge branch 'master' into v2.1
Mike Pall [Sun, 19 Dec 2021 17:37:06 +0000 (18:37 +0100)] 
Merge branch 'master' into v2.1

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 agoWindows: Fix binary output of jit.bcsave to stdout.
Mike Pall [Fri, 17 Dec 2021 13:30:44 +0000 (14:30 +0100)] 
Windows: Fix binary output of jit.bcsave to stdout.

Thanks to erw7.

3 years agoMerge branch 'master' into v2.1
Mike Pall [Fri, 17 Dec 2021 13:17:16 +0000 (14:17 +0100)] 
Merge branch 'master' into v2.1

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:39:37 +0000 (20:39 +0100)] 
Update Android build docs.

3 years agoMerge branch 'master' into v2.1
Mike Pall [Sat, 13 Nov 2021 19:39:20 +0000 (20:39 +0100)] 
Merge branch 'master' into v2.1

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

4 years agoARM64: Fix pcall() error case.
Mike Pall [Wed, 27 Oct 2021 19:56:07 +0000 (21:56 +0200)] 
ARM64: Fix pcall() error case.

Reported by Alex Orlenko.

4 years agoOSX/ARM64: Fix external unwinding.
Mike Pall [Sun, 17 Oct 2021 11:14:41 +0000 (13:14 +0200)] 
OSX/ARM64: Fix external unwinding.

Contributed by Edmund Kapusniak. #698 #757

4 years agoFix string buffer method recording.
Mike Pall [Tue, 12 Oct 2021 21:49:47 +0000 (23:49 +0200)] 
Fix string buffer method recording.

Reported and analyzed by vfprintf. #755

4 years agoFix interaction of profiler and ITERN recording.
Mike Pall [Fri, 8 Oct 2021 14:50:35 +0000 (16:50 +0200)] 
Fix interaction of profiler and ITERN recording.

Reported and analyzed by vfprintf. #754

4 years agoFix compilation of multi-result call to next().
Mike Pall [Wed, 6 Oct 2021 15:31:46 +0000 (17:31 +0200)] 
Fix compilation of multi-result call to next().

Thanks to Vyacheslav Egorov.

4 years agoARM64: Fix IR_HREF code generation.
Mike Pall [Sat, 2 Oct 2021 15:49:50 +0000 (17:49 +0200)] 
ARM64: Fix IR_HREF code generation.

4 years agoMIPS64: Fix soft-float IR_TOSTR.
Mike Pall [Sat, 2 Oct 2021 15:48:19 +0000 (17:48 +0200)] 
MIPS64: Fix soft-float IR_TOSTR.

4 years agoMerge branch 'master' into v2.1
Mike Pall [Sat, 2 Oct 2021 14:58:29 +0000 (16:58 +0200)] 
Merge branch 'master' into v2.1

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

4 years agoFix compiler warning.
Mike Pall [Wed, 29 Sep 2021 09:59:27 +0000 (11:59 +0200)] 
Fix compiler warning.

Suggested by Fezile Manana.

4 years agoMerge branch 'master' into v2.1
Mike Pall [Fri, 24 Sep 2021 10:11:55 +0000 (12:11 +0200)] 
Merge branch 'master' into v2.1

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

4 years agoFFI: Ensure returned string is alive in ffi.typeinfo().
Mike Pall [Thu, 23 Sep 2021 17:07:30 +0000 (19:07 +0200)] 
FFI: Ensure returned string is alive in ffi.typeinfo().

Reported by zhuizhuhaomeng.

4 years agoOSX/ARM64: Disable unwind info.
Mike Pall [Tue, 21 Sep 2021 15:49:06 +0000 (17:49 +0200)] 
OSX/ARM64: Disable unwind info.

See #698.

4 years agoMerge branch 'master' into v2.1
Mike Pall [Tue, 21 Sep 2021 14:44:06 +0000 (16:44 +0200)] 
Merge branch 'master' into v2.1

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

4 years agoFix ITERN blacklisting.
Mike Pall [Tue, 21 Sep 2021 12:30:28 +0000 (14:30 +0200)] 
Fix ITERN blacklisting.

Reported by ExtReMLapin. #744

4 years agoEnsure ITERN forward progress on interpreter bailout.
Mike Pall [Tue, 21 Sep 2021 11:15:06 +0000 (13:15 +0200)] 
Ensure ITERN forward progress on interpreter bailout.

Reported by Yichun Zhang and ExtReMLapin. #744

4 years agoARM64: Reorder interpreter stack frame and fix unwinding.
Mike Pall [Mon, 20 Sep 2021 20:37:07 +0000 (22:37 +0200)] 
ARM64: Reorder interpreter stack frame and fix unwinding.

Reported by Yichun Zhang. Fixes #722.
May help towards fixing #698, too.

4 years agoDon't bail out to interpreter to JLOOP originating from ITERN.
Mike Pall [Mon, 20 Sep 2021 12:40:23 +0000 (14:40 +0200)] 
Don't bail out to interpreter to JLOOP originating from ITERN.

Otherwise forward progress is not guaranteed.
Reported by Yichun Zhang.

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

Reported by Yichun Zhang. #743

4 years agoMerge branch 'master' into v2.1
Mike Pall [Mon, 20 Sep 2021 12:39:50 +0000 (14:39 +0200)] 
Merge branch 'master' into v2.1

4 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

4 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 agoOSX/ARM64: Disable external unwinding for now.
Mike Pall [Sun, 19 Sep 2021 15:58:24 +0000 (17:58 +0200)] 
OSX/ARM64: Disable external unwinding for now.

This reduces functionality, e.g. no handling of on-trace errors.
Someone with very deep knowledge about macOS and MACH-O/DWARF stack
unwinding internals is needed to fix this. See issue #698.

4 years agoCompile table traversals: next(), pairs(), BC_ISNEXT/BC_ITERN.
Mike Pall [Sun, 19 Sep 2021 15:49:25 +0000 (17:49 +0200)] 
Compile table traversals: next(), pairs(), BC_ISNEXT/BC_ITERN.

Sponsored by OpenResty Inc.

4 years agoUse IR_HIOP for generalized two-register returns.
Mike Pall [Sun, 19 Sep 2021 15:47:11 +0000 (17:47 +0200)] 
Use IR_HIOP for generalized two-register returns.

Sponsored by OpenResty Inc.

4 years agoRefactor table traversal.
Mike Pall [Sun, 19 Sep 2021 15:38:49 +0000 (17:38 +0200)] 
Refactor table traversal.

Sponsored by OpenResty Inc.

4 years agoARM: Fix symbol display in trace disassembly.
Mike Pall [Sun, 19 Sep 2021 15:27:18 +0000 (17:27 +0200)] 
ARM: Fix symbol display in trace disassembly.

4 years agoRefactor IR_TMPREF generation.
Mike Pall [Sun, 19 Sep 2021 15:25:27 +0000 (17:25 +0200)] 
Refactor IR_TMPREF generation.

4 years agoRefactor IR_VLOAD to take an offset.
Mike Pall [Sun, 19 Sep 2021 15:18:16 +0000 (17:18 +0200)] 
Refactor IR_VLOAD to take an offset.

4 years agoMIPS: Fix trace linking.
Mike Pall [Sun, 19 Sep 2021 14:09:48 +0000 (16:09 +0200)] 
MIPS: Fix trace linking.

4 years agoString buffers, part 4b: Improve de-serialization checks.
Mike Pall [Thu, 12 Aug 2021 19:28:17 +0000 (21:28 +0200)] 
String buffers, part 4b: Improve de-serialization checks.

Sponsored by fmad.io.

4 years agoString buffers, part 4a: Add metatable serialization dictionary.
Mike Pall [Thu, 12 Aug 2021 19:10:13 +0000 (21:10 +0200)] 
String buffers, part 4a: Add metatable serialization dictionary.

Sponsored by fmad.io.

4 years agoMerge branch 'master' into v2.1
Mike Pall [Tue, 27 Jul 2021 12:50:40 +0000 (14:50 +0200)] 
Merge branch 'master' into v2.1

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 agoMerge branch 'master' into v2.1
Mike Pall [Fri, 23 Jul 2021 19:36:17 +0000 (21:36 +0200)] 
Merge branch 'master' into v2.1

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 agoMerge branch 'master' into v2.1
Mike Pall [Thu, 22 Jul 2021 14:22:53 +0000 (16:22 +0200)] 
Merge branch 'master' into v2.1

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 agoMerge branch 'master' into v2.1
Mike Pall [Thu, 22 Jul 2021 00:35:00 +0000 (02:35 +0200)] 
Merge branch 'master' into v2.1

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 agoMerge branch 'master' into v2.1
Mike Pall [Wed, 21 Jul 2021 10:32:19 +0000 (12:32 +0200)] 
Merge branch 'master' into v2.1

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 agoPS4: Fix compile.
Mike Pall [Mon, 19 Jul 2021 16:15:18 +0000 (18:15 +0200)] 
PS4: Fix compile.

Thanks to Eric Lavesson.