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

9 years agoWhitespace.
Mike Pall [Mon, 18 Apr 2016 11:40:49 +0000 (13:40 +0200)] 
Whitespace.

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

9 years agox86/x64: Search for exit jumps with instruction length decoder.
Mike Pall [Mon, 18 Apr 2016 09:16:13 +0000 (11:16 +0200)] 
x86/x64: Search for exit jumps with instruction length decoder.

Contributed by Peter Cawley.

9 years agoRewrite memory block allocator.
Mike Pall [Mon, 18 Apr 2016 08:57:49 +0000 (10:57 +0200)] 
Rewrite memory block allocator.

Use a mix of linear probing and pseudo-random probing.
Workaround for 1GB MAP_32BIT limit on Linux/x64. Now 2GB with !LJ_GC64.
Enforce 128TB LJ_GC64 limit for > 47 bit memory layouts (ARM64).

9 years agoMerge branch 'master' into v2.1
Mike Pall [Wed, 13 Apr 2016 22:16:17 +0000 (00:16 +0200)] 
Merge branch 'master' into v2.1

9 years agoMIPS: Fix BC_ISNEXT fallback path.
Mike Pall [Wed, 13 Apr 2016 22:14:42 +0000 (00:14 +0200)] 
MIPS: Fix BC_ISNEXT fallback path.

Thanks to RT-RK.com.

9 years agox64/LJ_GC64: Fix BC_UCLO check for fast-path.
Mike Pall [Wed, 13 Apr 2016 14:10:03 +0000 (16:10 +0200)] 
x64/LJ_GC64: Fix BC_UCLO check for fast-path.

Thanks to Vyacheslav Egorov.

9 years agox86: Improve disassembly of BMI2 instructions.
Mike Pall [Tue, 5 Apr 2016 13:10:14 +0000 (15:10 +0200)] 
x86: Improve disassembly of BMI2 instructions.

Thanks to Peter Cawley.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Sun, 3 Apr 2016 17:13:37 +0000 (19:13 +0200)] 
Merge branch 'master' into v2.1

9 years agoFix recording of select(n, ...) with off-trace varargs
Mike Pall [Sun, 3 Apr 2016 17:12:28 +0000 (19:12 +0200)] 
Fix recording of select(n, ...) with off-trace varargs

Thanks to Peter Cawley.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Sun, 3 Apr 2016 17:08:32 +0000 (19:08 +0200)] 
Merge branch 'master' into v2.1

9 years agoCygwin: Allow cross-builds to non-Cygwin targets.
Mike Pall [Sun, 3 Apr 2016 17:07:19 +0000 (19:07 +0200)] 
Cygwin: Allow cross-builds to non-Cygwin targets.

9 years agoWindows/x64/LJ_GC64: Fix math.frexp() and math.modf() (again).
Mike Pall [Thu, 31 Mar 2016 02:17:21 +0000 (04:17 +0200)] 
Windows/x64/LJ_GC64: Fix math.frexp() and math.modf() (again).

Thanks to Peter Cawley.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Wed, 30 Mar 2016 14:30:44 +0000 (16:30 +0200)] 
Merge branch 'master' into v2.1

9 years agoMIPS: Fix use of ffgccheck delay slots in interpreter.
Mike Pall [Wed, 30 Mar 2016 14:26:27 +0000 (16:26 +0200)] 
MIPS: Fix use of ffgccheck delay slots in interpreter.

9 years agox86: Generate BMI2 shifts and rotates, if available.
Mike Pall [Mon, 28 Mar 2016 21:05:20 +0000 (23:05 +0200)] 
x86: Generate BMI2 shifts and rotates, if available.

Contributed by Peter Cawley.

9 years agox86: Detect BMI2 instruction support.
Mike Pall [Mon, 28 Mar 2016 21:04:33 +0000 (23:04 +0200)] 
x86: Detect BMI2 instruction support.

9 years agox64/LJ_GC64: Fix JIT glue code in interpreter.
Mike Pall [Mon, 28 Mar 2016 20:31:18 +0000 (22:31 +0200)] 
x64/LJ_GC64: Fix JIT glue code in interpreter.

Thanks to Peter Cawley.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Mon, 28 Mar 2016 20:24:01 +0000 (22:24 +0200)] 
Merge branch 'master' into v2.1

9 years agoWindows: Remove intermediate files at end of build.
Mike Pall [Mon, 28 Mar 2016 20:23:37 +0000 (22:23 +0200)] 
Windows: Remove intermediate files at end of build.

9 years agoFix compiler warnings.
Mike Pall [Mon, 28 Mar 2016 20:19:45 +0000 (22:19 +0200)] 
Fix compiler warnings.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Mon, 28 Mar 2016 20:17:41 +0000 (22:17 +0200)] 
Merge branch 'master' into v2.1

9 years agoFix display of NULL (light)userdata in -jdump.
Mike Pall [Mon, 28 Mar 2016 20:15:13 +0000 (22:15 +0200)] 
Fix display of NULL (light)userdata in -jdump.

Thanks to Peter Cawley.

9 years agoFix formatting of some small denormals at low precision.
Mike Pall [Mon, 28 Mar 2016 19:39:31 +0000 (21:39 +0200)] 
Fix formatting of some small denormals at low precision.

Contributed by Peter Cawley.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Tue, 22 Mar 2016 21:22:51 +0000 (22:22 +0100)] 
Merge branch 'master' into v2.1

9 years agoFix install for cross-builds.
Mike Pall [Tue, 22 Mar 2016 21:16:12 +0000 (22:16 +0100)] 
Fix install for cross-builds.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Tue, 22 Mar 2016 19:42:00 +0000 (20:42 +0100)] 
Merge branch 'master' into v2.1

9 years agoFix compiler warnings.
Mike Pall [Tue, 22 Mar 2016 19:40:41 +0000 (20:40 +0100)] 
Fix compiler warnings.

Thanks to Demetri Obenour.

9 years agoARM: Fix build problem with external frame unwinding.
Mike Pall [Tue, 15 Mar 2016 10:27:06 +0000 (11:27 +0100)] 
ARM: Fix build problem with external frame unwinding.

9 years agoMIPS soft-float: Fix code generation for HREF.
Mike Pall [Thu, 10 Mar 2016 16:08:55 +0000 (17:08 +0100)] 
MIPS soft-float: Fix code generation for HREF.

9 years agoDynASM/x86: Add ADX instructions.
Mike Pall [Sun, 6 Mar 2016 11:25:03 +0000 (12:25 +0100)] 
DynASM/x86: Add ADX instructions.

Thanks to Peter Cawley.

9 years agoRELEASE LuaJIT-2.1.0-beta2 v2.1.0-beta2
Mike Pall [Thu, 3 Mar 2016 11:40:02 +0000 (12:40 +0100)] 
RELEASE LuaJIT-2.1.0-beta2

9 years agoUpdate changelog.
Mike Pall [Thu, 3 Mar 2016 11:29:01 +0000 (12:29 +0100)] 
Update changelog.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Thu, 3 Mar 2016 11:11:37 +0000 (12:11 +0100)] 
Merge branch 'master' into v2.1

9 years agoBump copyright date to 2016.
Mike Pall [Thu, 3 Mar 2016 11:02:22 +0000 (12:02 +0100)] 
Bump copyright date to 2016.

9 years agoFix Android/x86 build.
Mike Pall [Thu, 3 Mar 2016 10:46:48 +0000 (11:46 +0100)] 
Fix Android/x86 build.

9 years agoFix build with JIT disabled.
Mike Pall [Tue, 1 Mar 2016 12:26:42 +0000 (13:26 +0100)] 
Fix build with JIT disabled.

Thanks to Peter Melnichenko.

9 years agoUse internal implementation for converting FP numbers to strings.
Mike Pall [Fri, 26 Feb 2016 16:59:43 +0000 (17:59 +0100)] 
Use internal implementation for converting FP numbers to strings.

Contributed by Peter Cawley.

9 years agoWindows/x64/LJ_GC64: Fix math.frexp() and math.modf().
Mike Pall [Mon, 22 Feb 2016 18:14:20 +0000 (19:14 +0100)] 
Windows/x64/LJ_GC64: Fix math.frexp() and math.modf().

Thanks to Eddie Edwards.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Wed, 10 Feb 2016 17:53:42 +0000 (18:53 +0100)] 
Merge branch 'master' into v2.1

9 years agoDon't allocate unused 2nd result register in JIT compiler backend.
Mike Pall [Wed, 10 Feb 2016 17:51:02 +0000 (18:51 +0100)] 
Don't allocate unused 2nd result register in JIT compiler backend.

9 years agoMIPS: Add soft-float support to JIT compiler backend.
Mike Pall [Wed, 10 Feb 2016 17:49:22 +0000 (18:49 +0100)] 
MIPS: Add soft-float support to JIT compiler backend.

9 years agoGeneralize LJ_SOFTFP dependencies in lj_asm.c.
Mike Pall [Tue, 9 Feb 2016 16:29:23 +0000 (17:29 +0100)] 
Generalize LJ_SOFTFP dependencies in lj_asm.c.

9 years agoPS4: Switch default build to amalgamated and LJ_GC64 mode.
Mike Pall [Mon, 1 Feb 2016 17:18:56 +0000 (18:18 +0100)] 
PS4: Switch default build to amalgamated and LJ_GC64 mode.

Thanks to Eddie Edwards.

9 years agoMIPS: Switch to dual-number mode. Fix soft-float interpreter.
Mike Pall [Fri, 29 Jan 2016 06:03:36 +0000 (07:03 +0100)] 
MIPS: Switch to dual-number mode. Fix soft-float interpreter.

9 years agoAdd proper DynASM dependency.
Mike Pall [Mon, 18 Jan 2016 15:57:30 +0000 (16:57 +0100)] 
Add proper DynASM dependency.

9 years agoFFI: Parse #line NN and #NN.
Mike Pall [Mon, 18 Jan 2016 11:34:48 +0000 (12:34 +0100)] 
FFI: Parse #line NN and #NN.

9 years agoAlways merge snapshots without instructions inbetween.
Mike Pall [Mon, 18 Jan 2016 11:02:01 +0000 (12:02 +0100)] 
Always merge snapshots without instructions inbetween.

Thanks to Vyacheslav Egorov.

9 years agoRollback due to HREFK + load fwd must restore guardemit state.
Mike Pall [Mon, 18 Jan 2016 10:58:13 +0000 (11:58 +0100)] 
Rollback due to HREFK + load fwd must restore guardemit state.

Thanks to Vyacheslav Egorov.

9 years agoDynASM/x64: Fix for full VREG support.
Mike Pall [Mon, 28 Dec 2015 16:06:48 +0000 (17:06 +0100)] 
DynASM/x64: Fix for full VREG support.

Thanks to Peter Cawley.

9 years agox86: Disassemble AES instructions.
Mike Pall [Mon, 28 Dec 2015 15:46:31 +0000 (16:46 +0100)] 
x86: Disassemble AES instructions.

Contributed by Peter Cawley.

9 years agox86: Improve disassembly of AVX shift instructions.
Mike Pall [Mon, 28 Dec 2015 15:42:37 +0000 (16:42 +0100)] 
x86: Improve disassembly of AVX shift instructions.

Contributed by Peter Cawley.

9 years agoDynASM/x86: Add AVX AES instructions.
Mike Pall [Mon, 28 Dec 2015 15:40:39 +0000 (16:40 +0100)] 
DynASM/x86: Add AVX AES instructions.

Contributed by Peter Cawley.

9 years agoARM: Add external frame unwinding.
Mike Pall [Mon, 28 Dec 2015 15:34:11 +0000 (16:34 +0100)] 
ARM: Add external frame unwinding.

Thanks to Nick Zavaritsky.

9 years agoDynASM/x64: Add full VREG support.
Mike Pall [Mon, 28 Dec 2015 12:28:24 +0000 (13:28 +0100)] 
DynASM/x64: Add full VREG support.

Contributed by Peter Cawley.

9 years agoFFI: Properly unsink non-standard cdata allocations.
Mike Pall [Mon, 28 Dec 2015 12:02:35 +0000 (13:02 +0100)] 
FFI: Properly unsink non-standard cdata allocations.

9 years agoMIPS soft-float, part 2: Add soft-float FFI support.
Mike Pall [Fri, 18 Dec 2015 20:38:03 +0000 (21:38 +0100)] 
MIPS soft-float, part 2: Add soft-float FFI support.

9 years agoMIPS soft-float, part 1: Add soft-float support to interpreter.
Mike Pall [Thu, 17 Dec 2015 21:42:20 +0000 (22:42 +0100)] 
MIPS soft-float, part 1: Add soft-float support to interpreter.

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

9 years agoMerge branch 'master' into v2.1
Mike Pall [Thu, 26 Nov 2015 21:26:39 +0000 (22:26 +0100)] 
Merge branch 'master' into v2.1

9 years agoFFI: Fix SPLIT pass for CONV i64.u64.
Mike Pall [Thu, 26 Nov 2015 21:25:13 +0000 (22:25 +0100)] 
FFI: Fix SPLIT pass for CONV i64.u64.

Thanks to Vyacheslav Egorov.

9 years agox64/LJ_GC64: Fix stack growth in vararg function setup.
Mike Pall [Wed, 18 Nov 2015 22:24:50 +0000 (23:24 +0100)] 
x64/LJ_GC64: Fix stack growth in vararg function setup.

Thanks to Vyacheslav Egorov.

9 years agoDocument minimum compiler requirements for 2.1 branch.
Mike Pall [Wed, 4 Nov 2015 13:13:39 +0000 (14:13 +0100)] 
Document minimum compiler requirements for 2.1 branch.

9 years agoMerge branch 'master' into v2.1
Mike Pall [Wed, 4 Nov 2015 13:09:59 +0000 (14:09 +0100)] 
Merge branch 'master' into v2.1

9 years agoDynASM/x86: Add rdpmc instruction.
Mike Pall [Wed, 4 Nov 2015 13:04:19 +0000 (14:04 +0100)] 
DynASM/x86: Add rdpmc instruction.

Thanks to Cosmin Apreutesei.

9 years agoExtend Valgrind suppressions for non-inlined C code.
Mike Pall [Wed, 4 Nov 2015 13:01:37 +0000 (14:01 +0100)] 
Extend Valgrind suppressions for non-inlined C code.

Thanks to Dennis Schridde.

9 years agoUpdate changelog.
Mike Pall [Sat, 24 Oct 2015 17:38:48 +0000 (19:38 +0200)] 
Update changelog.

9 years agoiOS/ARM64: Add build instructions.
Mike Pall [Sat, 24 Oct 2015 17:35:30 +0000 (19:35 +0200)] 
iOS/ARM64: Add build instructions.

Thanks to Vyacheslav Egorov.