]> git.ipfire.org Git - thirdparty/LuaJIT.git/log
thirdparty/LuaJIT.git
8 years agoMerge branch 'master' into v2.1
Mike Pall [Sun, 22 Apr 2018 11:30:02 +0000 (13:30 +0200)] 
Merge branch 'master' into v2.1

8 years agoFFI: Add tonumber() specialization for failed conversions.
Mike Pall [Sun, 22 Apr 2018 11:27:25 +0000 (13:27 +0200)] 
FFI: Add tonumber() specialization for failed conversions.

Contributed by Javier Guerra Giraldez.

8 years agoGive expected results for negative non-base-10 numbers in tonumber().
Mike Pall [Sun, 22 Apr 2018 11:14:28 +0000 (13:14 +0200)] 
Give expected results for negative non-base-10 numbers in tonumber().

This was undefined in Lua 5.1, but it's defined in 5.2.

8 years agoDynASM/x86: Add BMI1 and BMI2 instructions.
Mike Pall [Tue, 27 Feb 2018 22:22:40 +0000 (23:22 +0100)] 
DynASM/x86: Add BMI1 and BMI2 instructions.

Thanks to Peter Cawley.

8 years agoMerge branch 'master' into v2.1
Mike Pall [Tue, 27 Feb 2018 22:18:32 +0000 (23:18 +0100)] 
Merge branch 'master' into v2.1

8 years agoFix rechaining of pseudo-resurrected string keys.
Mike Pall [Tue, 27 Feb 2018 22:02:23 +0000 (23:02 +0100)] 
Fix rechaining of pseudo-resurrected string keys.

This is a serious bug. But extremely hard to reproduce, so it went
undetected for 8 years. One needs two resurrections with different
main nodes, which are both in a hash chain which gets relinked on
key insertion where the colliding node is in a non-main position. Phew.

Thanks to lbeiming.

8 years agoMerge branch 'master' into v2.1
Mike Pall [Mon, 29 Jan 2018 12:28:53 +0000 (13:28 +0100)] 
Merge branch 'master' into v2.1

8 years agoClear stack after print_jit_status() in CLI.
Mike Pall [Mon, 29 Jan 2018 12:25:51 +0000 (13:25 +0100)] 
Clear stack after print_jit_status() in CLI.

Suggested by Hydroque.

8 years agoMerge branch 'master' into v2.1
Mike Pall [Mon, 29 Jan 2018 12:19:30 +0000 (13:19 +0100)] 
Merge branch 'master' into v2.1

8 years agoFix GCC 7 -Wimplicit-fallthrough warnings.
Mike Pall [Mon, 29 Jan 2018 12:06:13 +0000 (13:06 +0100)] 
Fix GCC 7 -Wimplicit-fallthrough warnings.

8 years agoMerge branch 'master' into v2.1
Mike Pall [Mon, 29 Jan 2018 11:53:42 +0000 (12:53 +0100)] 
Merge branch 'master' into v2.1

8 years agoFFI: Don't assert on #1LL (5.2 compatibility mode only).
Mike Pall [Mon, 29 Jan 2018 11:47:08 +0000 (12:47 +0100)] 
FFI: Don't assert on #1LL (5.2 compatibility mode only).

Reported by Denis Golovan.

8 years agoMIPS64: Fix soft-float +-0.0 vs. +-0.0 comparison.
Mike Pall [Mon, 29 Jan 2018 11:12:29 +0000 (12:12 +0100)] 
MIPS64: Fix soft-float +-0.0 vs. +-0.0 comparison.

Thanks to Stefan Pejic.

8 years agoMerge branch 'master' into v2.1
Mike Pall [Thu, 18 Jan 2018 11:29:55 +0000 (12:29 +0100)] 
Merge branch 'master' into v2.1

8 years agoFix LuaJIT API docs for LUAJIT_MODE_*.
Mike Pall [Thu, 18 Jan 2018 11:29:39 +0000 (12:29 +0100)] 
Fix LuaJIT API docs for LUAJIT_MODE_*.

Thanks to sunfishgao.

8 years agoFix ARMv8 (32 bit subset) detection.
Mike Pall [Thu, 18 Jan 2018 11:24:36 +0000 (12:24 +0100)] 
Fix ARMv8 (32 bit subset) detection.

Thanks to Markus Oberhumber.

8 years agoMerge branch 'master' into v2.1
Mike Pall [Sun, 14 Jan 2018 13:26:10 +0000 (14:26 +0100)] 
Merge branch 'master' into v2.1

8 years agoFix string.format("%c", 0).
Mike Pall [Sun, 14 Jan 2018 13:11:59 +0000 (14:11 +0100)] 
Fix string.format("%c", 0).

8 years agoFix IR_BUFPUT assembly.
Mike Pall [Sun, 14 Jan 2018 12:57:00 +0000 (13:57 +0100)] 
Fix IR_BUFPUT assembly.

Thanks to Peter Cawley.

8 years agoMIPS64: Fix xpcall() error case.
Mike Pall [Sat, 18 Nov 2017 11:25:35 +0000 (12:25 +0100)] 
MIPS64: Fix xpcall() error case.

Thanks to François Perrad and Stefan Pejic.

8 years agoARM64: Fix xpcall() error case (really).
Mike Pall [Sat, 18 Nov 2017 11:23:57 +0000 (12:23 +0100)] 
ARM64: Fix xpcall() error case (really).

Thanks to François Perrad and Stefan Pejic.

8 years agoMerge branch 'master' into v2.1
Mike Pall [Thu, 16 Nov 2017 12:00:09 +0000 (13:00 +0100)] 
Merge branch 'master' into v2.1

8 years agoFix saved bytecode encapsulated in ELF objects.
Mike Pall [Thu, 16 Nov 2017 11:58:12 +0000 (12:58 +0100)] 
Fix saved bytecode encapsulated in ELF objects.

Thanks to Dimitry Andric.

8 years agoARM64: Fix xpcall() error case.
Mike Pall [Thu, 16 Nov 2017 11:53:34 +0000 (12:53 +0100)] 
ARM64: Fix xpcall() error case.

Thanks to Stefan Pejic.

8 years agoMIPS64: Fix register allocation in assembly of HREF.
Mike Pall [Wed, 8 Nov 2017 11:54:03 +0000 (12:54 +0100)] 
MIPS64: Fix register allocation in assembly of HREF.

Contributed by James Cowgill.

8 years agoARM64: Fix assembly of HREFK.
Mike Pall [Wed, 8 Nov 2017 11:53:48 +0000 (12:53 +0100)] 
ARM64: Fix assembly of HREFK.

Reported by Jason Teplitz.

8 years agoMerge branch 'master' into v2.1
Mike Pall [Wed, 8 Nov 2017 11:53:24 +0000 (12:53 +0100)] 
Merge branch 'master' into v2.1

8 years agoFix FOLD rule for strength reduction of widening.
Mike Pall [Wed, 8 Nov 2017 11:53:05 +0000 (12:53 +0100)] 
Fix FOLD rule for strength reduction of widening.

Reported by Matthew Burk.

8 years agoLJ_GC64: Make ASMREF_L references 64 bit.
Mike Pall [Mon, 2 Oct 2017 21:10:56 +0000 (23:10 +0200)] 
LJ_GC64: Make ASMREF_L references 64 bit.

Reported by Yichun Zhang.

8 years agoLJ_GC64: Fix ir_khash for non-string GCobj.
Mike Pall [Mon, 2 Oct 2017 07:22:46 +0000 (09:22 +0200)] 
LJ_GC64: Fix ir_khash for non-string GCobj.

Contributed by Peter Cawley.

8 years agoMerge branch 'master' into v2.1
Mike Pall [Wed, 20 Sep 2017 17:42:34 +0000 (19:42 +0200)] 
Merge branch 'master' into v2.1

8 years agoDynASM/x86: Fix potential REL_A overflow.
Mike Pall [Wed, 20 Sep 2017 17:39:50 +0000 (19:39 +0200)] 
DynASM/x86: Fix potential REL_A overflow.

Thanks to Joshua Haberman.

8 years agoMIPS64: Hide internal function.
Mike Pall [Mon, 18 Sep 2017 07:50:22 +0000 (09:50 +0200)] 
MIPS64: Hide internal function.

8 years agox64/LJ_GC64: Fix type-check-only variant of SLOAD.
Mike Pall [Sun, 10 Sep 2017 12:05:30 +0000 (14:05 +0200)] 
x64/LJ_GC64: Fix type-check-only variant of SLOAD.

Thanks to Peter Cawley.

8 years agoPPC: Add soft-float support to JIT compiler backend.
Mike Pall [Sun, 3 Sep 2017 21:20:53 +0000 (23:20 +0200)] 
PPC: Add soft-float support to JIT compiler backend.

Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
Sponsored by Cisco Systems, Inc.

8 years agox64/LJ_GC64: Fix fallback case of asm_fuseloadk64().
Mike Pall [Mon, 28 Aug 2017 08:43:37 +0000 (10:43 +0200)] 
x64/LJ_GC64: Fix fallback case of asm_fuseloadk64().

Contributed by Peter Cawley.

8 years agoMerge branch 'master' into v2.1
Mike Pall [Fri, 18 Aug 2017 10:52:30 +0000 (12:52 +0200)] 
Merge branch 'master' into v2.1

8 years agoUse https for freelists.org links.
Mike Pall [Fri, 18 Aug 2017 10:52:14 +0000 (12:52 +0200)] 
Use https for freelists.org links.

8 years agoPPC: Add soft-float support to interpreter.
Mike Pall [Wed, 26 Jul 2017 07:52:19 +0000 (09:52 +0200)] 
PPC: Add soft-float support to interpreter.

Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
Sponsored by Cisco Systems, Inc.

8 years agox64/LJ_GC64: Fix emit_rma().
Mike Pall [Wed, 26 Jul 2017 07:52:53 +0000 (09:52 +0200)] 
x64/LJ_GC64: Fix emit_rma().

8 years agoMerge branch 'master' into v2.1
Mike Pall [Mon, 12 Jun 2017 07:25:48 +0000 (09:25 +0200)] 
Merge branch 'master' into v2.1

8 years agoModify fix for warning from 'ar'.
Mike Pall [Mon, 12 Jun 2017 07:24:00 +0000 (09:24 +0200)] 
Modify fix for warning from 'ar'.

8 years agoRemove unused define.
Mike Pall [Sun, 11 Jun 2017 08:02:08 +0000 (10:02 +0200)] 
Remove unused define.

Suggested by 罗泽轩.

8 years agoFreeBSD/x64: Avoid changing resource limits, if not needed.
Mike Pall [Wed, 7 Jun 2017 22:15:15 +0000 (00:15 +0200)] 
FreeBSD/x64: Avoid changing resource limits, if not needed.

8 years agoMIPS64: Add soft-float support to JIT compiler backend.
Mike Pall [Wed, 7 Jun 2017 21:56:54 +0000 (23:56 +0200)] 
MIPS64: Add soft-float support to JIT compiler backend.

Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
Sponsored by Cisco Systems, Inc.

8 years agoMerge branch 'master' into v2.1
Mike Pall [Wed, 7 Jun 2017 17:39:41 +0000 (19:39 +0200)] 
Merge branch 'master' into v2.1

8 years agoMIPS: Fix handling of spare long-range jump slots.
Mike Pall [Wed, 7 Jun 2017 17:36:46 +0000 (19:36 +0200)] 
MIPS: Fix handling of spare long-range jump slots.

Contributed by Djordje Kovacevic and Stefan Pejic.

8 years agoMerge branch 'master' into v2.1
Mike Pall [Wed, 7 Jun 2017 17:17:47 +0000 (19:17 +0200)] 
Merge branch 'master' into v2.1

8 years agoMIPS: Use precise search for exit jump patching.
Mike Pall [Wed, 7 Jun 2017 17:16:22 +0000 (19:16 +0200)] 
MIPS: Use precise search for exit jump patching.

Contributed by Djordje Kovacevic and Stefan Pejic.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Wed, 17 May 2017 15:38:53 +0000 (17:38 +0200)] 
Merge branch 'master' into v2.1

9 years agoAdd missing LJ_MAX_JSLOTS check.
Mike Pall [Wed, 17 May 2017 15:37:35 +0000 (17:37 +0200)] 
Add missing LJ_MAX_JSLOTS check.

Thanks to Yichun Zhang.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Tue, 9 May 2017 19:01:23 +0000 (21:01 +0200)] 
Merge branch 'master' into v2.1

9 years agoFix LJ_MAX_JSLOTS assertion in rec_check_slots().
Mike Pall [Tue, 9 May 2017 18:59:37 +0000 (20:59 +0200)] 
Fix LJ_MAX_JSLOTS assertion in rec_check_slots().

Thanks to Yichun Zhang.

9 years agoRELEASE LuaJIT-2.1.0-beta3 v2.1.0-beta3
Mike Pall [Mon, 1 May 2017 19:03:01 +0000 (21:03 +0200)] 
RELEASE LuaJIT-2.1.0-beta3

9 years agoUpdate changelog.
Mike Pall [Mon, 1 May 2017 19:02:34 +0000 (21:02 +0200)] 
Update changelog.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Mon, 1 May 2017 18:27:04 +0000 (20:27 +0200)] 
Merge branch 'master' into v2.1

9 years agoRELEASE LuaJIT-2.0.5 v2.0.5
Mike Pall [Mon, 1 May 2017 18:10:28 +0000 (20:10 +0200)] 
RELEASE LuaJIT-2.0.5

9 years agoUpdate changelog.
Mike Pall [Mon, 1 May 2017 18:01:20 +0000 (20:01 +0200)] 
Update changelog.

9 years agoFFI: Update docs on compiler limitations.
Mike Pall [Sun, 30 Apr 2017 22:00:33 +0000 (00:00 +0200)] 
FFI: Update docs on compiler limitations.

9 years agoAdd FOLD rules for mixed BAND/BOR with constants.
Mike Pall [Sun, 30 Apr 2017 21:59:16 +0000 (23:59 +0200)] 
Add FOLD rules for mixed BAND/BOR with constants.

9 years agoFFI: Compile bitfield loads/stores.
Mike Pall [Sun, 30 Apr 2017 21:58:33 +0000 (23:58 +0200)] 
FFI: Compile bitfield loads/stores.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Mon, 17 Apr 2017 10:29:52 +0000 (12:29 +0200)] 
Merge branch 'master' into v2.1

9 years agoAdd workaround for MSVC 2015 stdio changes.
Mike Pall [Mon, 17 Apr 2017 10:29:35 +0000 (12:29 +0200)] 
Add workaround for MSVC 2015 stdio changes.

Contributed by Peter Cawley.

9 years agoMIPS64: Fix stores of MULTRES.
Mike Pall [Mon, 17 Apr 2017 10:04:08 +0000 (12:04 +0200)] 
MIPS64: Fix stores of MULTRES.

Contributed by Stefan Pejic.

9 years agoMIPS64: Fix write barrier in BC_USETV.
Mike Pall [Mon, 17 Apr 2017 10:02:33 +0000 (12:02 +0200)] 
MIPS64: Fix write barrier in BC_USETV.

Contributed by Stefan Pejic.

9 years agoARM64: Fix stores to vmstate.
Mike Pall [Mon, 17 Apr 2017 10:00:04 +0000 (12:00 +0200)] 
ARM64: Fix stores to vmstate.

Contributed by Stefan Pejic.

9 years agoDocument added C API extensions from Lua 5.2/5.3.
Mike Pall [Fri, 7 Apr 2017 10:57:25 +0000 (12:57 +0200)] 
Document added C API extensions from Lua 5.2/5.3.

9 years agoFrom Lua 5.2: Add lua_tonumberx() and lua_tointegerx().
Mike Pall [Fri, 7 Apr 2017 10:48:37 +0000 (12:48 +0200)] 
From Lua 5.2: Add lua_tonumberx() and lua_tointegerx().

Contributed by François Perrad.

9 years agoFrom Lua 5.2: Add luaL_setmetatable().
Mike Pall [Fri, 7 Apr 2017 10:38:05 +0000 (12:38 +0200)] 
From Lua 5.2: Add luaL_setmetatable().

Contributed by François Perrad.

9 years agoFrom Lua 5.2: Add luaL_testudata().
Mike Pall [Fri, 7 Apr 2017 10:31:06 +0000 (12:31 +0200)] 
From Lua 5.2: Add luaL_testudata().

Contributed by François Perrad.

9 years agoFrom Lua 5.3: Add lua_isyieldable().
Mike Pall [Fri, 7 Apr 2017 10:27:09 +0000 (12:27 +0200)] 
From Lua 5.3: Add lua_isyieldable().

Contributed by François Perrad.

9 years agoFrom Lua 5.2: Add lua_copy().
Mike Pall [Fri, 7 Apr 2017 10:24:26 +0000 (12:24 +0200)] 
From Lua 5.2: Add lua_copy().

Contributed by François Perrad.

9 years agoFrom Lua 5.2: Add lua_version().
Mike Pall [Fri, 7 Apr 2017 10:21:41 +0000 (12:21 +0200)] 
From Lua 5.2: Add lua_version().

Contributed by François Perrad.

9 years agoRefactor with LUA_OK.
Mike Pall [Fri, 7 Apr 2017 10:12:03 +0000 (12:12 +0200)] 
Refactor with LUA_OK.

Contributed by François Perrad.

9 years agoAllow building on Haiku OS.
Mike Pall [Fri, 7 Apr 2017 10:05:18 +0000 (12:05 +0200)] 
Allow building on Haiku OS.

Note: this is not an officially supported target.
Thanks to kallisti5.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Fri, 7 Apr 2017 10:01:07 +0000 (12:01 +0200)] 
Merge branch 'master' into v2.1

9 years agoOSX: Fix build with recent XCode.
Mike Pall [Fri, 7 Apr 2017 09:59:08 +0000 (11:59 +0200)] 
OSX: Fix build with recent XCode.

Contributed by Joseph Zupko.

9 years agoAdd some more changes and extensions from Lua 5.2.
Mike Pall [Thu, 30 Mar 2017 10:43:21 +0000 (12:43 +0200)] 
Add some more changes and extensions from Lua 5.2.

Contributed by François Perrad.

9 years agoRemove old Lua 5.0 compatibility defines.
Mike Pall [Thu, 30 Mar 2017 09:40:49 +0000 (11:40 +0200)] 
Remove old Lua 5.0 compatibility defines.

Suggested by François Perrad.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Thu, 30 Mar 2017 09:38:16 +0000 (11:38 +0200)] 
Merge branch 'master' into v2.1

9 years agoFFI: Fix FOLD rules for int64_t comparisons.
Mike Pall [Thu, 30 Mar 2017 09:35:29 +0000 (11:35 +0200)] 
FFI: Fix FOLD rules for int64_t comparisons.

Thanks to Peter Cawley.

9 years agoARM64: Add big-endian support.
Mike Pall [Thu, 30 Mar 2017 09:17:15 +0000 (11:17 +0200)] 
ARM64: Add big-endian support.

Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
Sponsored by Cisco Systems, Inc.

9 years agox64/LJ_GC64: Fix emit_loadk64().
Mike Pall [Tue, 21 Mar 2017 09:10:20 +0000 (10:10 +0100)] 
x64/LJ_GC64: Fix emit_loadk64().

Contributed by Peter Cawley.

9 years agoLJ_GC64: Fix BC_CALLM snapshot handling.
Mike Pall [Mon, 20 Mar 2017 23:59:38 +0000 (00:59 +0100)] 
LJ_GC64: Fix BC_CALLM snapshot handling.

9 years agox64/LJ_GC64: Fix assembly of CNEWI with 64 bit constant pointer.
Mike Pall [Mon, 20 Mar 2017 23:58:02 +0000 (00:58 +0100)] 
x64/LJ_GC64: Fix assembly of CNEWI with 64 bit constant pointer.

Tracked down by Luke Gorrie.

9 years agoARM64: Fix Nintendo Switch build.
Mike Pall [Mon, 20 Mar 2017 22:53:16 +0000 (23:53 +0100)] 
ARM64: Fix Nintendo Switch build.

Thanks to Eddie Edwards.

9 years agoARM64: Fix XLOAD/XSTORE with FP operand.
Mike Pall [Mon, 20 Mar 2017 22:49:57 +0000 (23:49 +0100)] 
ARM64: Fix XLOAD/XSTORE with FP operand.

Thanks to Stefan Pejic.

9 years agoRemove Lua 5.0 compatibility defines.
Mike Pall [Fri, 17 Mar 2017 11:07:21 +0000 (12:07 +0100)] 
Remove Lua 5.0 compatibility defines.

Suggested by François Perrad.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Wed, 8 Mar 2017 22:04:46 +0000 (23:04 +0100)] 
Merge branch 'master' into v2.1

9 years agoRemove unnecessary mcode alloc pointer check.
Mike Pall [Wed, 8 Mar 2017 22:02:24 +0000 (23:02 +0100)] 
Remove unnecessary mcode alloc pointer check.

Also fixes Illumos address space issue reported by Theo Schlossnagle.

9 years agoLimit mcode alloc probing, depending on the available pool size.
Mike Pall [Wed, 8 Mar 2017 22:01:47 +0000 (23:01 +0100)] 
Limit mcode alloc probing, depending on the available pool size.

Contributed by Alexey Kopytov.

9 years agoFix overly restrictive range calculation in mcode allocation.
Mike Pall [Wed, 8 Mar 2017 21:59:44 +0000 (22:59 +0100)] 
Fix overly restrictive range calculation in mcode allocation.

Contributed by Alexey Kopytov.

9 years agoFix out-of-scope goto handling in parser.
Mike Pall [Wed, 8 Mar 2017 21:16:43 +0000 (22:16 +0100)] 
Fix out-of-scope goto handling in parser.

Many thanks to Demetrios Obenour for tracking down this long-standing bug.

9 years agoRemove internal __mode = "K" and replace with safe check.
Mike Pall [Wed, 8 Mar 2017 21:03:17 +0000 (22:03 +0100)] 
Remove internal __mode = "K" and replace with safe check.

9 years agoFix annoying warning, due to deterministic binutils configuration.
Mike Pall [Wed, 8 Mar 2017 21:02:07 +0000 (22:02 +0100)] 
Fix annoying warning, due to deterministic binutils configuration.

9 years agoDynASM: Fix warning.
Mike Pall [Wed, 8 Mar 2017 20:59:14 +0000 (21:59 +0100)] 
DynASM: Fix warning.

9 years agoMIPS64, part 2: Add MIPS64 hard-float JIT compiler backend.
Mike Pall [Mon, 20 Feb 2017 02:43:10 +0000 (03:43 +0100)] 
MIPS64, part 2: Add MIPS64 hard-float JIT compiler backend.

Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
Sponsored by Cisco Systems, Inc.

9 years agoFix FOLD rules for math.abs() and FP negation.
Mike Pall [Mon, 20 Feb 2017 01:51:31 +0000 (02:51 +0100)] 
Fix FOLD rules for math.abs() and FP negation.

Broken since SIMD constants were switched to IR_FLOAD REF_NIL.

9 years agoFix soft-float math.abs() and negation.
Mike Pall [Mon, 20 Feb 2017 01:51:05 +0000 (02:51 +0100)] 
Fix soft-float math.abs() and negation.

Broken since SIMD constants were switched to IR_FLOAD REF_NIL.

9 years agox64/LJ_GC64: Fix warning for DUALNUM build.
Mike Pall [Mon, 20 Feb 2017 01:44:29 +0000 (02:44 +0100)] 
x64/LJ_GC64: Fix warning for DUALNUM build.