]> git.ipfire.org Git - thirdparty/LuaJIT.git/log
thirdparty/LuaJIT.git
15 years agoARM: Add skeleton for ARM interpreter.
Mike Pall [Sat, 26 Mar 2011 17:42:41 +0000 (18:42 +0100)] 
ARM: Add skeleton for ARM interpreter.

15 years agoARM: Add support for ARM relocations to buildvm.
Mike Pall [Sat, 26 Mar 2011 17:40:11 +0000 (18:40 +0100)] 
ARM: Add support for ARM relocations to buildvm.

15 years agoARM: Add DynASM ARM module and encoding engine.
Mike Pall [Wed, 23 Mar 2011 00:25:14 +0000 (01:25 +0100)] 
ARM: Add DynASM ARM module and encoding engine.

15 years agoDUALNUM: Fix narrowing of unary minus.
Mike Pall [Sat, 19 Mar 2011 16:46:10 +0000 (17:46 +0100)] 
DUALNUM: Fix narrowing of unary minus.

15 years agoFix data-flow analysis for BC_ITERC.
Mike Pall [Sat, 19 Mar 2011 16:30:15 +0000 (17:30 +0100)] 
Fix data-flow analysis for BC_ITERC.

15 years agox64: Use external unwinding for lua_yield().
Mike Pall [Fri, 18 Mar 2011 22:38:05 +0000 (23:38 +0100)] 
x64: Use external unwinding for lua_yield().

15 years agoFFI: Fix marking of ffi.gc() finalizer table.
Mike Pall [Thu, 17 Mar 2011 16:31:48 +0000 (17:31 +0100)] 
FFI: Fix marking of ffi.gc() finalizer table.

15 years agox64: Workaround for libgcc unwind bug (still present in RHEL 5.5).
Mike Pall [Thu, 17 Mar 2011 15:05:04 +0000 (16:05 +0100)] 
x64: Workaround for libgcc unwind bug (still present in RHEL 5.5).

15 years agoDUALNUM: Narrow result of math.floor() and math.ceil().
Mike Pall [Tue, 15 Mar 2011 17:15:42 +0000 (18:15 +0100)] 
DUALNUM: Narrow result of math.floor() and math.ceil().

15 years agoDUALNUM: Narrow unary minus.
Mike Pall [Tue, 15 Mar 2011 16:56:55 +0000 (17:56 +0100)] 
DUALNUM: Narrow unary minus.

15 years agoFFI: Force snapshot after C call to preserve semantics.
Mike Pall [Tue, 15 Mar 2011 13:56:42 +0000 (14:56 +0100)] 
FFI: Force snapshot after C call to preserve semantics.

15 years agoDUALNUM: Add integer variant of MIN/MAX.
Mike Pall [Fri, 11 Mar 2011 22:28:46 +0000 (23:28 +0100)] 
DUALNUM: Add integer variant of MIN/MAX.

15 years agoGet rid of the remaining silly cast macros from Lua.
Mike Pall [Thu, 10 Mar 2011 01:13:43 +0000 (02:13 +0100)] 
Get rid of the remaining silly cast macros from Lua.

15 years agoDUALNUM: Handle integer type in JIT compiler.
Mike Pall [Thu, 10 Mar 2011 00:57:24 +0000 (01:57 +0100)] 
DUALNUM: Handle integer type in JIT compiler.

15 years agoFFI: Fix and optimize recording of cdata[cdata].
Mike Pall [Thu, 10 Mar 2011 00:41:58 +0000 (01:41 +0100)] 
FFI: Fix and optimize recording of cdata[cdata].

15 years agox86/x64: Fix code generation for fused IR_MUL/IR_MULOV.
Mike Pall [Thu, 10 Mar 2011 00:09:18 +0000 (01:09 +0100)] 
x86/x64: Fix code generation for fused IR_MUL/IR_MULOV.

15 years agoFFI: Fix x86 code generation for ffi.string().
Mike Pall [Wed, 9 Mar 2011 23:57:02 +0000 (00:57 +0100)] 
FFI: Fix x86 code generation for ffi.string().

15 years agoFix handling of err_loc() within cpcall frames.
Mike Pall [Wed, 9 Mar 2011 21:39:17 +0000 (22:39 +0100)] 
Fix handling of err_loc() within cpcall frames.

15 years agoDUALNUM: Add extra assertions to interpreter.
Mike Pall [Wed, 9 Mar 2011 21:38:53 +0000 (22:38 +0100)] 
DUALNUM: Add extra assertions to interpreter.

15 years agoFix code generation for bit.bnot().
Mike Pall [Mon, 7 Mar 2011 21:11:01 +0000 (22:11 +0100)] 
Fix code generation for bit.bnot().

15 years agoDUALNUM: Make overflow guards weak. Add IR_USE and IR_MULOV.
Mike Pall [Mon, 7 Mar 2011 19:21:38 +0000 (20:21 +0100)] 
DUALNUM: Make overflow guards weak. Add IR_USE and IR_MULOV.

15 years agoDUALNUM: Fix x87 code for BC_ISEQN/BC_ISNEN.
Mike Pall [Mon, 7 Mar 2011 19:12:39 +0000 (20:12 +0100)] 
DUALNUM: Fix x87 code for BC_ISEQN/BC_ISNEN.

15 years agoSuppress recording of retried fast functions.
Mike Pall [Mon, 7 Mar 2011 19:03:38 +0000 (20:03 +0100)] 
Suppress recording of retried fast functions.

15 years agoFix narrowing of POW.
Mike Pall [Thu, 3 Mar 2011 16:29:09 +0000 (17:29 +0100)] 
Fix narrowing of POW.

15 years agoFix code generation for Intel Atom in x64 mode.
Mike Pall [Wed, 2 Mar 2011 23:49:45 +0000 (00:49 +0100)] 
Fix code generation for Intel Atom in x64 mode.

15 years agoFFI: Resolve ld script redirection in ffi.load().
Mike Pall [Tue, 1 Mar 2011 11:31:16 +0000 (12:31 +0100)] 
FFI: Resolve ld script redirection in ffi.load().

15 years agoFFI: Fix compiled ffi.string() semantics.
Mike Pall [Mon, 28 Feb 2011 18:46:55 +0000 (19:46 +0100)] 
FFI: Fix compiled ffi.string() semantics.

15 years agoFFI: Add ffi.gc() function for finalization of cdata objects.
Mike Pall [Mon, 28 Feb 2011 15:48:13 +0000 (16:48 +0100)] 
FFI: Add ffi.gc() function for finalization of cdata objects.

15 years agoDUALNUM: Handle integer type in x86/x64 interpreter and libraries.
Mike Pall [Sun, 27 Feb 2011 00:36:59 +0000 (01:36 +0100)] 
DUALNUM: Handle integer type in x86/x64 interpreter and libraries.

15 years agoDUALNUM: Handle integer type in FFI.
Mike Pall [Sun, 27 Feb 2011 00:31:22 +0000 (01:31 +0100)] 
DUALNUM: Handle integer type in FFI.

15 years agox64: Improve accuracy of x^-k.
Mike Pall [Fri, 25 Feb 2011 10:46:29 +0000 (11:46 +0100)] 
x64: Improve accuracy of x^-k.

15 years agoFix table.maxn().
Mike Pall [Wed, 23 Feb 2011 13:52:50 +0000 (14:52 +0100)] 
Fix table.maxn().

15 years agoFFI: Record calls to functions with void results.
Mike Pall [Tue, 22 Feb 2011 23:28:49 +0000 (00:28 +0100)] 
FFI: Record calls to functions with void results.

15 years agoEliminate dead slots in snapshots using bytecode data-flow analysis.
Mike Pall [Tue, 22 Feb 2011 21:39:12 +0000 (22:39 +0100)] 
Eliminate dead slots in snapshots using bytecode data-flow analysis.

15 years agoFrom Lua 5.2: Support load(string).
Mike Pall [Sun, 20 Feb 2011 20:17:49 +0000 (21:17 +0100)] 
From Lua 5.2: Support load(string).

15 years agoFrom Lua 5.2: fp:read("*L").
Mike Pall [Sun, 20 Feb 2011 20:07:19 +0000 (21:07 +0100)] 
From Lua 5.2: fp:read("*L").

15 years agoFrom Lua 5.2: table.unpack(). Needs -DLUAJIT_ENABLE_LUA52COMPAT.
Mike Pall [Sun, 20 Feb 2011 19:53:09 +0000 (20:53 +0100)] 
From Lua 5.2: table.unpack(). Needs -DLUAJIT_ENABLE_LUA52COMPAT.

15 years agoFrom Lua 5.2: Add package.searchpath().
Mike Pall [Sun, 20 Feb 2011 19:48:13 +0000 (20:48 +0100)] 
From Lua 5.2: Add package.searchpath().

Thanks to F. Perrad.

15 years agoFrom Lua 5.2: Empty statement. Needs -DLUAJIT_ENABLE_LUA52COMPAT.
Mike Pall [Sun, 20 Feb 2011 19:38:36 +0000 (20:38 +0100)] 
From Lua 5.2: Empty statement. Needs -DLUAJIT_ENABLE_LUA52COMPAT.

15 years agoFrom Lua 5.2: coroutine.running(). Needs -DLUAJIT_ENABLE_LUA52COMPAT.
Mike Pall [Sun, 20 Feb 2011 19:33:00 +0000 (20:33 +0100)] 
From Lua 5.2: coroutine.running(). Needs -DLUAJIT_ENABLE_LUA52COMPAT.

15 years agoFFI: Fix recording of userdata conversions.
Mike Pall [Sun, 20 Feb 2011 01:13:32 +0000 (02:13 +0100)] 
FFI: Fix recording of userdata conversions.

15 years agoFFI: Fix 64 bit to 32 bit truncations on x64.
Mike Pall [Sat, 19 Feb 2011 23:18:46 +0000 (00:18 +0100)] 
FFI: Fix 64 bit to 32 bit truncations on x64.

15 years agoFFI: Fix recording of ffi.copy() and ffi.fill().
Mike Pall [Sat, 19 Feb 2011 22:04:16 +0000 (23:04 +0100)] 
FFI: Fix recording of ffi.copy() and ffi.fill().

15 years agoFFI: Improve conversion error messages.
Mike Pall [Sat, 19 Feb 2011 11:56:12 +0000 (12:56 +0100)] 
FFI: Improve conversion error messages.

15 years agoFFI: Fix docs about C bool -> Lua boolean conversion.
Mike Pall [Fri, 18 Feb 2011 19:35:44 +0000 (20:35 +0100)] 
FFI: Fix docs about C bool -> Lua boolean conversion.

Thanks to M. Kottman.

15 years agoDUALNUM: Add integer type to core VM.
Mike Pall [Wed, 16 Feb 2011 23:44:14 +0000 (00:44 +0100)] 
DUALNUM: Add integer type to core VM.

15 years agoDUALNUM: Add build infrastructure.
Mike Pall [Wed, 16 Feb 2011 23:42:57 +0000 (00:42 +0100)] 
DUALNUM: Add build infrastructure.

Note: DUALNUM is disabled by default and won't work yet.

15 years agoFFI: Fix management of C library handles for default namespace.
Mike Pall [Wed, 16 Feb 2011 22:52:18 +0000 (23:52 +0100)] 
FFI: Fix management of C library handles for default namespace.

15 years agoFix error handling within metamethods. Special-case FFI mm.
Mike Pall [Tue, 15 Feb 2011 23:38:23 +0000 (00:38 +0100)] 
Fix error handling within metamethods. Special-case FFI mm.

15 years agoAdd workaround for lj_meta_tset() newkey inconsistency.
Mike Pall [Tue, 15 Feb 2011 00:02:08 +0000 (01:02 +0100)] 
Add workaround for lj_meta_tset() newkey inconsistency.

15 years agoPPC: Disable FFI due to NYI: comparisons and calls.
Mike Pall [Mon, 14 Feb 2011 22:25:18 +0000 (23:25 +0100)] 
PPC: Disable FFI due to NYI: comparisons and calls.

15 years agoFix type mismatch in XSTORE forwarding.
Mike Pall [Mon, 14 Feb 2011 22:02:16 +0000 (23:02 +0100)] 
Fix type mismatch in XSTORE forwarding.

15 years agoRELEASE LuaJIT-2.0.0-beta6 v2.0.0-beta6
Mike Pall [Fri, 11 Feb 2011 15:28:37 +0000 (16:28 +0100)] 
RELEASE LuaJIT-2.0.0-beta6

15 years agoFFI: Disable unused code for some build modes.
Mike Pall [Fri, 11 Feb 2011 15:22:58 +0000 (16:22 +0100)] 
FFI: Disable unused code for some build modes.

15 years agoUpdate changelog.
Mike Pall [Fri, 11 Feb 2011 14:52:31 +0000 (15:52 +0100)] 
Update changelog.

15 years agoCleanup of docs.
Mike Pall [Fri, 11 Feb 2011 12:50:01 +0000 (13:50 +0100)] 
Cleanup of docs.

15 years agoFFI: Finish FFI docs.
Mike Pall [Fri, 11 Feb 2011 00:21:46 +0000 (01:21 +0100)] 
FFI: Finish FFI docs.

15 years agoFFI: Finish docs on FFI semantics. Phew.
Mike Pall [Thu, 10 Feb 2011 02:12:09 +0000 (03:12 +0100)] 
FFI: Finish docs on FFI semantics. Phew.

15 years agoFix various HTML errors in the docs.
Mike Pall [Thu, 10 Feb 2011 02:10:38 +0000 (03:10 +0100)] 
Fix various HTML errors in the docs.

15 years agoFFI: Add more docs on FFI semantics.
Mike Pall [Wed, 9 Feb 2011 00:26:02 +0000 (01:26 +0100)] 
FFI: Add more docs on FFI semantics.

15 years agoFFI: Document current FFI implementation status.
Mike Pall [Tue, 8 Feb 2011 00:20:53 +0000 (01:20 +0100)] 
FFI: Document current FFI implementation status.

15 years agoFix bytecode optimization of and/or operators.
Mike Pall [Tue, 8 Feb 2011 00:00:47 +0000 (01:00 +0100)] 
Fix bytecode optimization of and/or operators.

15 years agoFFI: Record ffi.abi().
Mike Pall [Mon, 7 Feb 2011 23:09:33 +0000 (00:09 +0100)] 
FFI: Record ffi.abi().

15 years agoFFI: Record ffi.copy() and ffi.fill().
Mike Pall [Mon, 7 Feb 2011 22:49:27 +0000 (23:49 +0100)] 
FFI: Record ffi.copy() and ffi.fill().

15 years agoFFI: Fix recording of pointer arithmetic.
Mike Pall [Mon, 7 Feb 2011 22:42:51 +0000 (23:42 +0100)] 
FFI: Fix recording of pointer arithmetic.

15 years agoAdd IR_XBAR, a barrier against XLOAD/XSTORE optimizations.
Mike Pall [Mon, 7 Feb 2011 20:59:25 +0000 (21:59 +0100)] 
Add IR_XBAR, a barrier against XLOAD/XSTORE optimizations.

15 years agoImprove static assertion macro.
Mike Pall [Mon, 7 Feb 2011 20:44:01 +0000 (21:44 +0100)] 
Improve static assertion macro.

15 years agoFFI: Allow cdata types for integer arguments of ffi.* functions.
Mike Pall [Mon, 7 Feb 2011 16:13:14 +0000 (17:13 +0100)] 
FFI: Allow cdata types for integer arguments of ffi.* functions.

15 years agoFFI: Fix handling of enum arguments to C calls.
Mike Pall [Mon, 7 Feb 2011 15:41:51 +0000 (16:41 +0100)] 
FFI: Fix handling of enum arguments to C calls.

15 years agoFFI: Perform stricter checks in ffi.cast(). Record ffi.cast().
Mike Pall [Sun, 6 Feb 2011 11:46:18 +0000 (12:46 +0100)] 
FFI: Perform stricter checks in ffi.cast(). Record ffi.cast().

15 years agoFFI: Simplify and fix tonumber() for cdata objects.
Mike Pall [Sun, 6 Feb 2011 11:23:58 +0000 (12:23 +0100)] 
FFI: Simplify and fix tonumber() for cdata objects.

15 years agoStrength-reduce 32 to 64 bit widening for XLOAD U8/U16 inputs.
Mike Pall [Sat, 5 Feb 2011 23:45:39 +0000 (00:45 +0100)] 
Strength-reduce 32 to 64 bit widening for XLOAD U8/U16 inputs.

15 years agoFFI: Limit number of arguments for recorded calls.
Mike Pall [Sat, 5 Feb 2011 22:01:10 +0000 (23:01 +0100)] 
FFI: Limit number of arguments for recorded calls.

15 years agoFFI: Record simple C function calls.
Mike Pall [Sat, 5 Feb 2011 20:50:15 +0000 (21:50 +0100)] 
FFI: Record simple C function calls.

Only handles cdecl and fixarg C functions.
Doesn't handle pass-by-value aggregates.
Doesn't handle 64 bit args/returns on 32 bit CPUs.

15 years agoFFI: Optimize snapshots for cdata comparisons.
Mike Pall [Sat, 5 Feb 2011 17:54:08 +0000 (18:54 +0100)] 
FFI: Optimize snapshots for cdata comparisons.

15 years agoFix metamethod comparisons triggered by BC_ISEQP/BC_ISNEP.
Mike Pall [Sat, 5 Feb 2011 15:32:08 +0000 (16:32 +0100)] 
Fix metamethod comparisons triggered by BC_ISEQP/BC_ISNEP.

15 years agoFFI: Record C library namespace lookups.
Mike Pall [Sat, 5 Feb 2011 13:16:16 +0000 (14:16 +0100)] 
FFI: Record C library namespace lookups.

15 years agoTreat metatables of special userdata objects as immutable.
Mike Pall [Sat, 5 Feb 2011 13:09:50 +0000 (14:09 +0100)] 
Treat metatables of special userdata objects as immutable.

15 years agoFFI: Record ffi.string().
Mike Pall [Sat, 5 Feb 2011 00:05:56 +0000 (01:05 +0100)] 
FFI: Record ffi.string().

15 years agoFFI: Avoid intermediate boxes for tonumber(), too.
Mike Pall [Sat, 5 Feb 2011 00:04:41 +0000 (01:04 +0100)] 
FFI: Avoid intermediate boxes for tonumber(), too.

15 years agoFFI: Disable MUL => BSHL FOLD rule on 32 bit.
Mike Pall [Thu, 3 Feb 2011 19:10:13 +0000 (20:10 +0100)] 
FFI: Disable MUL => BSHL FOLD rule on 32 bit.

15 years agoFFI: Rename IR_CNEWP to IR_CNEWI and use it to box 64 bit integers.
Mike Pall [Thu, 3 Feb 2011 03:13:51 +0000 (04:13 +0100)] 
FFI: Rename IR_CNEWP to IR_CNEWI and use it to box 64 bit integers.

Generates smaller IR and DCE eliminates many intermediate boxes.
Needs allocation sinking to eliminate the boxes kept alive by PHIs.

15 years agoRename IR_POWI to IR_POW.
Mike Pall [Wed, 2 Feb 2011 20:33:11 +0000 (21:33 +0100)] 
Rename IR_POWI to IR_POW.

15 years agoFFI: Add basic FOLD rules for 64 bit integer DIV, MOD and POWI.
Mike Pall [Wed, 2 Feb 2011 20:25:43 +0000 (21:25 +0100)] 
FFI: Add basic FOLD rules for 64 bit integer DIV, MOD and POWI.

15 years agoFFI: Record 64 bit integer divide and modulo.
Mike Pall [Wed, 2 Feb 2011 19:53:10 +0000 (20:53 +0100)] 
FFI: Record 64 bit integer divide and modulo.

15 years agoUse names defined in lualib.h for library registration.
Mike Pall [Wed, 2 Feb 2011 01:38:59 +0000 (02:38 +0100)] 
Use names defined in lualib.h for library registration.

15 years agoFix OSX build to work with newer ld64 versions.
Mike Pall [Wed, 2 Feb 2011 01:31:59 +0000 (02:31 +0100)] 
Fix OSX build to work with newer ld64 versions.

15 years agoAdd SPLIT pass to split 64 bit IR instructions for 32 bit CPUs.
Mike Pall [Wed, 2 Feb 2011 01:29:37 +0000 (02:29 +0100)] 
Add SPLIT pass to split 64 bit IR instructions for 32 bit CPUs.

Add generic HIOP instruction for extra backend functionality.
Add support for HIOP to x86 backend.
Use POWI for 64 bit integer x^k, too.
POWI is lowered to a call by SPLIT or the x64 backend.

15 years agoAdd SSE3 CPU feature detection.
Mike Pall [Tue, 1 Feb 2011 18:28:03 +0000 (19:28 +0100)] 
Add SSE3 CPU feature detection.

15 years agoFFI: Limit index range for complex numbers.
Mike Pall [Sat, 29 Jan 2011 18:47:37 +0000 (19:47 +0100)] 
FFI: Limit index range for complex numbers.

15 years agoFFI: Implement POSIX/x64 struct-by-value calling conventions.
Mike Pall [Sat, 29 Jan 2011 12:04:16 +0000 (13:04 +0100)] 
FFI: Implement POSIX/x64 struct-by-value calling conventions.

15 years agoFix 64 bit case of (SUB x x) and (BXOR x x) FOLD rules.
Mike Pall [Fri, 28 Jan 2011 01:17:35 +0000 (02:17 +0100)] 
Fix 64 bit case of (SUB x x) and (BXOR x x) FOLD rules.

15 years agoFFI: Split up 64 bit x^k helper into signed/unsigned.
Mike Pall [Fri, 28 Jan 2011 01:15:30 +0000 (02:15 +0100)] 
FFI: Split up 64 bit x^k helper into signed/unsigned.

15 years agoFFI: Fix various issues with C type table reallocations.
Mike Pall [Thu, 27 Jan 2011 15:28:24 +0000 (16:28 +0100)] 
FFI: Fix various issues with C type table reallocations.

15 years agoFFI: Fix symbol name redirection.
Mike Pall [Thu, 27 Jan 2011 15:07:02 +0000 (16:07 +0100)] 
FFI: Fix symbol name redirection.

15 years agoFFI: Move code for cdata arithmetic to lj_carith.c.
Mike Pall [Wed, 26 Jan 2011 20:46:02 +0000 (21:46 +0100)] 
FFI: Move code for cdata arithmetic to lj_carith.c.

15 years agoFFI: Record cdata indexing with integer cdata.
Mike Pall [Wed, 26 Jan 2011 20:14:58 +0000 (21:14 +0100)] 
FFI: Record cdata indexing with integer cdata.

15 years agoFFI: Allow cdata indexing with integer cdata.
Mike Pall [Wed, 26 Jan 2011 20:12:54 +0000 (21:12 +0100)] 
FFI: Allow cdata indexing with integer cdata.

15 years agoFix comments for BC_ITERN.
Mike Pall [Wed, 26 Jan 2011 18:55:55 +0000 (19:55 +0100)] 
Fix comments for BC_ITERN.

15 years agoFFI: Convert enum return value of C function to underlying type.
Mike Pall [Wed, 26 Jan 2011 13:18:12 +0000 (14:18 +0100)] 
FFI: Convert enum return value of C function to underlying type.