]> git.ipfire.org Git - thirdparty/LuaJIT.git/log
thirdparty/LuaJIT.git
9 years agoARM64: Reorganize operand extension definitions.
Mike Pall [Wed, 7 Dec 2016 17:38:32 +0000 (18:38 +0100)] 
ARM64: Reorganize operand extension definitions.

9 years agoARM64: Add missing ldrb/strb instructions to disassembler.
Mike Pall [Wed, 7 Dec 2016 17:34:10 +0000 (18:34 +0100)] 
ARM64: Add missing ldrb/strb instructions to disassembler.

Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.

9 years agoARM64: Fix pc-relative loads of consts. Cleanup branch codegen.
Mike Pall [Wed, 7 Dec 2016 08:42:43 +0000 (09:42 +0100)] 
ARM64: Fix pc-relative loads of consts. Cleanup branch codegen.

Thanks to Zhongwei Yao.

9 years agoARM64: Make use of tbz/tbnz and cbz/cbnz.
Mike Pall [Tue, 29 Nov 2016 18:30:40 +0000 (19:30 +0100)] 
ARM64: Make use of tbz/tbnz and cbz/cbnz.

Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.

9 years agoDocument 47 bit limit for lightuserdata.
Mike Pall [Fri, 25 Nov 2016 08:23:08 +0000 (09:23 +0100)] 
Document 47 bit limit for lightuserdata.

9 years agoEliminate use of lightuserdata derived from static data pointers.
Mike Pall [Thu, 24 Nov 2016 18:14:17 +0000 (19:14 +0100)] 
Eliminate use of lightuserdata derived from static data pointers.

Required for >47 bit VA, e.g. ARM64.

9 years agoARM64: Emit more efficient trace exits.
Mike Pall [Thu, 24 Nov 2016 17:56:19 +0000 (18:56 +0100)] 
ARM64: Emit more efficient trace exits.

Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Mon, 21 Nov 2016 15:02:41 +0000 (16:02 +0100)] 
Merge branch 'master' into v2.1

9 years agoUpdate contact info.
Mike Pall [Mon, 21 Nov 2016 15:02:10 +0000 (16:02 +0100)] 
Update contact info.

9 years agoGeneralize deferred constant handling in backend to 64 bit.
Mike Pall [Mon, 21 Nov 2016 14:43:17 +0000 (15:43 +0100)] 
Generalize deferred constant handling in backend to 64 bit.

9 years agoARM64: Reject special case in emit_isk13().
Mike Pall [Sun, 20 Nov 2016 22:32:17 +0000 (23:32 +0100)] 
ARM64: Reject special case in emit_isk13().

9 years agoARM64: Allow full VA range for mcode allocation.
Mike Pall [Sun, 20 Nov 2016 22:17:45 +0000 (23:17 +0100)] 
ARM64: Allow full VA range for mcode allocation.

9 years agoARM64: Add JIT compiler backend.
Mike Pall [Sun, 20 Nov 2016 21:16:08 +0000 (22:16 +0100)] 
ARM64: Add JIT compiler backend.

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

9 years agoWhitespace.
Mike Pall [Sun, 20 Nov 2016 21:14:09 +0000 (22:14 +0100)] 
Whitespace.

9 years agoFix amalgamated build.
Mike Pall [Sat, 19 Nov 2016 19:53:31 +0000 (20:53 +0100)] 
Fix amalgamated build.

9 years agoIncrease range of GG_State loads via IR_FLOAD with REF_NIL.
Mike Pall [Sat, 19 Nov 2016 18:53:46 +0000 (19:53 +0100)] 
Increase range of GG_State loads via IR_FLOAD with REF_NIL.

Require 32 bit alignment and store offset/4 instead.
Otherwise this can overflow the 10 bit limit for the FOLD op2 key.

9 years agoMIPS: Fix TSETR barrier.
Mike Pall [Wed, 16 Nov 2016 10:18:10 +0000 (11:18 +0100)] 
MIPS: Fix TSETR barrier.

Thanks to tongwell.

9 years agoReport parent of stitched trace.
Mike Pall [Sun, 13 Nov 2016 19:03:01 +0000 (20:03 +0100)] 
Report parent of stitched trace.

Thanks to Nick Zavaritsky.

9 years agoLJ_GC64: Various followup fixes.
Mike Pall [Thu, 20 Oct 2016 18:55:12 +0000 (20:55 +0200)] 
LJ_GC64: Various followup fixes.

Contributed by Peter Cawley.

9 years agoLJ_GC64: Fix HREF for pointers.
Mike Pall [Wed, 19 Oct 2016 07:48:38 +0000 (09:48 +0200)] 
LJ_GC64: Fix HREF for pointers.

Contributed by Peter Cawley.

9 years agoLJ_FR2: Fix slot 1 handling.
Mike Pall [Sun, 16 Oct 2016 19:04:38 +0000 (21:04 +0200)] 
LJ_FR2: Fix slot 1 handling.

Contributed by Peter Cawley.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Thu, 13 Oct 2016 16:38:22 +0000 (18:38 +0200)] 
Merge branch 'master' into v2.1

9 years agoFix GC step size calculation.
Mike Pall [Thu, 13 Oct 2016 16:36:39 +0000 (18:36 +0200)] 
Fix GC step size calculation.

Thanks to Igor Ehrlich.

9 years agoLJ_GC64: Various fixes.
Mike Pall [Wed, 12 Oct 2016 15:36:45 +0000 (17:36 +0200)] 
LJ_GC64: Various fixes.

Contributed by Peter Cawley.

9 years agoLJ_GC64: Fix jit.on/off.
Mike Pall [Sat, 8 Oct 2016 09:30:01 +0000 (11:30 +0200)] 
LJ_GC64: Fix jit.on/off.

9 years agoFix -jp=a mode for builtins.
Mike Pall [Sun, 2 Oct 2016 12:33:31 +0000 (14:33 +0200)] 
Fix -jp=a mode for builtins.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Sun, 2 Oct 2016 12:25:04 +0000 (14:25 +0200)] 
Merge branch 'master' into v2.1

9 years agoARM: Fix BLX encoding for Thumb interworking calls.
Mike Pall [Sun, 2 Oct 2016 12:24:04 +0000 (14:24 +0200)] 
ARM: Fix BLX encoding for Thumb interworking calls.

Thanks to Charles Baylis.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Mon, 19 Sep 2016 19:23:35 +0000 (21:23 +0200)] 
Merge branch 'master' into v2.1

9 years agoLooks like COLORTERM has gone out of fashion.
Mike Pall [Mon, 19 Sep 2016 19:22:19 +0000 (21:22 +0200)] 
Looks like COLORTERM has gone out of fashion.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Mon, 19 Sep 2016 19:19:07 +0000 (21:19 +0200)] 
Merge branch 'master' into v2.1

9 years agoInitialize uv->immutable for upvalues of loaded chunks.
Mike Pall [Mon, 19 Sep 2016 19:17:58 +0000 (21:17 +0200)] 
Initialize uv->immutable for upvalues of loaded chunks.

Thanks to Peter Cawley.

9 years agoWindows/x86: Add MSVC flags for debug build with exception interop.
Mike Pall [Tue, 6 Sep 2016 17:37:30 +0000 (19:37 +0200)] 
Windows/x86: Add MSVC flags for debug build with exception interop.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Sun, 31 Jul 2016 11:42:49 +0000 (13:42 +0200)] 
Merge branch 'master' into v2.1

9 years agoRevert "OSX: Switch to Clang as the default compiler."
Mike Pall [Sun, 31 Jul 2016 11:26:58 +0000 (13:26 +0200)] 
Revert "OSX: Switch to Clang as the default compiler."

It breaks cross-compilation to Android.
And host "gcc" aliases to "clang", anyway.

9 years agoFix exit status for 'luajit -b'.
Mike Pall [Fri, 22 Jul 2016 14:42:09 +0000 (16:42 +0200)] 
Fix exit status for 'luajit -b'.

9 years agoMust preserve J->fold.ins (fins) around call to lj_ir_ksimd().
Mike Pall [Fri, 22 Jul 2016 14:35:46 +0000 (16:35 +0200)] 
Must preserve J->fold.ins (fins) around call to lj_ir_ksimd().

9 years agoMerge branch 'master' into v2.1
Mike Pall [Sun, 17 Jul 2016 14:25:37 +0000 (16:25 +0200)] 
Merge branch 'master' into v2.1

9 years agoEmit bytecode in .c/.h files with unsigned char type.
Mike Pall [Sun, 17 Jul 2016 14:24:30 +0000 (16:24 +0200)] 
Emit bytecode in .c/.h files with unsigned char type.

9 years agoSet arg table before evaluating LUA_INIT and -e chunks.
Mike Pall [Sun, 17 Jul 2016 14:23:49 +0000 (16:23 +0200)] 
Set arg table before evaluating LUA_INIT and -e chunks.

9 years agoAdjust comment with defines.
Mike Pall [Sun, 17 Jul 2016 14:05:25 +0000 (16:05 +0200)] 
Adjust comment with defines.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Sun, 17 Jul 2016 14:01:25 +0000 (16:01 +0200)] 
Merge branch 'master' into v2.1

9 years agoFix for cdata vs. non-cdata arithmetics/comparisons.
Mike Pall [Sun, 17 Jul 2016 14:01:10 +0000 (16:01 +0200)] 
Fix for cdata vs. non-cdata arithmetics/comparisons.

Thanks to Vyacheslav Egorov.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Sun, 17 Jul 2016 12:38:26 +0000 (14:38 +0200)] 
Merge branch 'master' into v2.1

9 years agoFix unused vars etc. in internal Lua files.
Mike Pall [Sun, 17 Jul 2016 12:29:03 +0000 (14:29 +0200)] 
Fix unused vars etc. in internal Lua files.

Thanks to François Perrad.

9 years agoProperly clean up state before restart of trace assembly.
Mike Pall [Mon, 27 Jun 2016 13:46:09 +0000 (15:46 +0200)] 
Properly clean up state before restart of trace assembly.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Mon, 27 Jun 2016 12:10:39 +0000 (14:10 +0200)] 
Merge branch 'master' into v2.1

9 years agoDrop leftover regs in 'for' iterator assignment, too.
Mike Pall [Mon, 27 Jun 2016 12:09:36 +0000 (14:09 +0200)] 
Drop leftover regs in 'for' iterator assignment, too.

9 years agoMIPS: Support MIPS16 interlinking.
Mike Pall [Wed, 8 Jun 2016 08:24:00 +0000 (10:24 +0200)] 
MIPS: Support MIPS16 interlinking.

9 years agox64/LJ_GC64: Fix code generation for IR_KNULL call argument.
Mike Pall [Sun, 5 Jun 2016 11:07:43 +0000 (13:07 +0200)] 
x64/LJ_GC64: Fix code generation for IR_KNULL call argument.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Sun, 5 Jun 2016 10:54:53 +0000 (12:54 +0200)] 
Merge branch 'master' into v2.1

9 years agoFix PHI remarking in SINK pass.
Mike Pall [Sun, 5 Jun 2016 10:53:37 +0000 (12:53 +0200)] 
Fix PHI remarking in SINK pass.

Thanks to Vyacheslav Egorov.

9 years agoLJ_GC64: Set correct nil value when clearing a cdata finalizer.
Mike Pall [Fri, 3 Jun 2016 04:54:06 +0000 (06:54 +0200)] 
LJ_GC64: Set correct nil value when clearing a cdata finalizer.

Thanks to Stefan Pejic.

9 years agoLJ_GC64: Ensure all IR slot fields are initialized.
Mike Pall [Fri, 3 Jun 2016 04:53:37 +0000 (06:53 +0200)] 
LJ_GC64: Ensure all IR slot fields are initialized.

9 years agoLJ_GC64: Allow optional use of the system memory allocator.
Mike Pall [Fri, 3 Jun 2016 04:42:35 +0000 (06:42 +0200)] 
LJ_GC64: Allow optional use of the system memory allocator.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Fri, 3 Jun 2016 04:40:48 +0000 (06:40 +0200)] 
Merge branch 'master' into v2.1

9 years agoFix Valgrind suppressions.
Mike Pall [Fri, 3 Jun 2016 04:39:52 +0000 (06:39 +0200)] 
Fix Valgrind suppressions.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Fri, 3 Jun 2016 02:28:17 +0000 (04:28 +0200)] 
Merge branch 'master' into v2.1

9 years agoDon't try to record outermost pcall() return to lower frame.
Mike Pall [Fri, 3 Jun 2016 02:26:08 +0000 (04:26 +0200)] 
Don't try to record outermost pcall() return to lower frame.

9 years agoMIPS: Fix build failures and warnings.
Mike Pall [Sun, 29 May 2016 16:12:58 +0000 (18:12 +0200)] 
MIPS: Fix build failures and warnings.

9 years agoProper fix for LJ_GC64 changes to asm_href().
Mike Pall [Sat, 28 May 2016 11:36:14 +0000 (13:36 +0200)] 
Proper fix for LJ_GC64 changes to asm_href().

9 years agoMIPS64, part 1: Add MIPS64 support to interpreter.
Mike Pall [Sat, 28 May 2016 03:10:55 +0000 (05:10 +0200)] 
MIPS64, part 1: Add MIPS64 support to interpreter.

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

9 years agoDynASM/MIPS: Add missing MIPS64 instructions.
Mike Pall [Sat, 28 May 2016 03:03:18 +0000 (05:03 +0200)] 
DynASM/MIPS: Add missing MIPS64 instructions.

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

9 years agoFix compiler warning.
Mike Pall [Sat, 28 May 2016 03:02:18 +0000 (05:02 +0200)] 
Fix compiler warning.

9 years agox64/LJ_GC64: Fix __call metamethod for tailcall.
Mike Pall [Sat, 28 May 2016 03:01:12 +0000 (05:01 +0200)] 
x64/LJ_GC64: Fix __call metamethod for tailcall.

9 years agoFix collateral damage from LJ_GC64 changes to asm_href().
Mike Pall [Fri, 27 May 2016 22:35:07 +0000 (00:35 +0200)] 
Fix collateral damage from LJ_GC64 changes to asm_href().

9 years agoCleanup install docs.
Mike Pall [Thu, 26 May 2016 11:54:58 +0000 (13:54 +0200)] 
Cleanup install docs.

9 years agoUse MAP_TRYFIXED for the probing memory allocator, if available. 184/head
Mike Pall [Mon, 23 May 2016 12:28:28 +0000 (14:28 +0200)] 
Use MAP_TRYFIXED for the probing memory allocator, if available.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Mon, 23 May 2016 04:47:01 +0000 (06:47 +0200)] 
Merge branch 'master' into v2.1

9 years agox86: Don't spill an explicit REF_BASE in the IR.
Mike Pall [Mon, 23 May 2016 04:24:19 +0000 (06:24 +0200)] 
x86: Don't spill an explicit REF_BASE in the IR.

Thanks to Vyacheslav Egorov.

9 years agox64/LJ_GC64: Add missing backend support and enable JIT compilation.
Mike Pall [Mon, 23 May 2016 04:01:54 +0000 (06:01 +0200)] 
x64/LJ_GC64: Add missing backend support and enable JIT compilation.

Contributed by Peter Cawley.

9 years agoLJ_FR2: Add support for trace recording and snapshots.
Mike Pall [Sun, 22 May 2016 23:49:00 +0000 (01:49 +0200)] 
LJ_FR2: Add support for trace recording and snapshots.

Contributed by Peter Cawley.

9 years agoLJ_GC64: Update IR type sizes.
Mike Pall [Sun, 22 May 2016 22:38:18 +0000 (00:38 +0200)] 
LJ_GC64: Update IR type sizes.

Contributed by Peter Cawley.

9 years agoLJ_GC64: Add support for 64 bit GCobj constants in the IR.
Mike Pall [Sun, 22 May 2016 22:34:05 +0000 (00:34 +0200)] 
LJ_GC64: Add support for 64 bit GCobj constants in the IR.

Contributed by Peter Cawley.

9 years agoStrip out old infrastructure for 64 bit constants.
Mike Pall [Sun, 22 May 2016 22:27:51 +0000 (00:27 +0200)] 
Strip out old infrastructure for 64 bit constants.

Contributed by Peter Cawley.

9 years agoEmbed 64 bit constants directly in the IR, using two slots.
Mike Pall [Sun, 22 May 2016 22:25:29 +0000 (00:25 +0200)] 
Embed 64 bit constants directly in the IR, using two slots.

Contributed by Peter Cawley.

9 years agoAlways walk IR constants in ascending order.
Mike Pall [Sun, 22 May 2016 21:45:40 +0000 (23:45 +0200)] 
Always walk IR constants in ascending order.

Prerequisite for embedding 64 bit constants directly in the IR.
Contributed by Peter Cawley.

9 years agoSimplify GCtrace * reference embedding for trace stitching.
Mike Pall [Sun, 22 May 2016 21:40:37 +0000 (23:40 +0200)] 
Simplify GCtrace * reference embedding for trace stitching.

This is now possible due to the immovable IR.
Contributed by Peter Cawley.

9 years agoMake the IR immovable after assembly.
Mike Pall [Sun, 22 May 2016 21:25:28 +0000 (23:25 +0200)] 
Make the IR immovable after assembly.

This allows embedding pointers to IR constants in the machine code.
Contributed by Peter Cawley.

9 years agoAdd ra_addrename().
Mike Pall [Fri, 20 May 2016 23:45:18 +0000 (01:45 +0200)] 
Add ra_addrename().

Contributed by Peter Cawley.

9 years agoLoad SIMD constants with IR_FLOAD from GG_State.
Mike Pall [Fri, 20 May 2016 23:04:17 +0000 (01:04 +0200)] 
Load SIMD constants with IR_FLOAD from GG_State.

Contributed by Peter Cawley.

9 years agoAdd IR_FLOAD with REF_NIL for field loads from GG_State.
Mike Pall [Fri, 20 May 2016 22:30:36 +0000 (00:30 +0200)] 
Add IR_FLOAD with REF_NIL for field loads from GG_State.

Contributed by Peter Cawley.

9 years agoMove common 32/64 bit in-memory FP constants to jit_State.
Mike Pall [Fri, 20 May 2016 22:02:45 +0000 (00:02 +0200)] 
Move common 32/64 bit in-memory FP constants to jit_State.

Prerequisite for immovable IR.
Contributed by Peter Cawley.

9 years agoLJ_GC64: Introduce IRT_PGC.
Mike Pall [Fri, 20 May 2016 20:41:42 +0000 (22:41 +0200)] 
LJ_GC64: Introduce IRT_PGC.

Contributed by Peter Cawley.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Fri, 20 May 2016 18:26:39 +0000 (20:26 +0200)] 
Merge branch 'master' into v2.1

9 years agoAdd guard for obscure aliasing between open upvalues and SSA slots.
Mike Pall [Fri, 20 May 2016 18:24:06 +0000 (20:24 +0200)] 
Add guard for obscure aliasing between open upvalues and SSA slots.

Thanks to Peter Cawley.

9 years agoWorkaround for MinGW headers lacking some exception definitions.
Mike Pall [Fri, 20 May 2016 17:45:38 +0000 (19:45 +0200)] 
Workaround for MinGW headers lacking some exception definitions.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Fri, 20 May 2016 17:44:23 +0000 (19:44 +0200)] 
Merge branch 'master' into v2.1

9 years agoRemove assumption that lj_math_random_step() doesn't clobber FPRs.
Mike Pall [Fri, 20 May 2016 17:43:34 +0000 (19:43 +0200)] 
Remove assumption that lj_math_random_step() doesn't clobber FPRs.

9 years agoFix dependencies.
Mike Pall [Thu, 19 May 2016 13:09:08 +0000 (15:09 +0200)] 
Fix dependencies.

9 years agoWindows/x86: Add full exception interoperability.
Mike Pall [Sat, 7 May 2016 10:32:15 +0000 (12:32 +0200)] 
Windows/x86: Add full exception interoperability.

Contributed by Peter Cawley.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Fri, 6 May 2016 10:09:23 +0000 (12:09 +0200)] 
Merge branch 'master' into v2.1

9 years agox86/x64: Fix instruction length decoder.
Mike Pall [Fri, 6 May 2016 10:08:00 +0000 (12:08 +0200)] 
x86/x64: Fix instruction length decoder.

Thanks to Peter Cawley.

9 years agoUse the GDB JIT API in a thread-safe manner.
Mike Pall [Tue, 3 May 2016 16:30:01 +0000 (18:30 +0200)] 
Use the GDB JIT API in a thread-safe manner.

Thanks to Peter Cawley.

9 years agoConstrain value range of lj_ir_kptr() to unsigned 32 bit pointers.
Mike Pall [Sun, 24 Apr 2016 15:32:12 +0000 (17:32 +0200)] 
Constrain value range of lj_ir_kptr() to unsigned 32 bit pointers.

Thanks to Peter Cawley.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Sun, 24 Apr 2016 15:14:35 +0000 (17:14 +0200)] 
Merge branch 'master' into v2.1

9 years agoFix GCC 6 -Wmisleading-indentation warnings.
Mike Pall [Sun, 24 Apr 2016 15:10:24 +0000 (17:10 +0200)] 
Fix GCC 6 -Wmisleading-indentation warnings.

Thanks to Roman Tsisyk.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Thu, 21 Apr 2016 15:01:36 +0000 (17:01 +0200)] 
Merge branch 'master' into v2.1

9 years agoFix handling of non-numeric strings in arithmetic coercions.
Mike Pall [Thu, 21 Apr 2016 15:00:58 +0000 (17:00 +0200)] 
Fix handling of non-numeric strings in arithmetic coercions.

Thanks to Vyacheslav Egorov.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Mon, 18 Apr 2016 11:41:41 +0000 (13:41 +0200)] 
Merge branch 'master' into v2.1