]> git.ipfire.org Git - thirdparty/LuaJIT.git/log
thirdparty/LuaJIT.git
14 years agoAdd support for __pairs and __ipairs metamethods (from Lua 5.2).
Mike Pall [Wed, 17 Nov 2010 23:23:24 +0000 (00:23 +0100)] 
Add support for __pairs and __ipairs metamethods (from Lua 5.2).

14 years agoAllow running C functions with coroutine.create(), too.
Mike Pall [Wed, 17 Nov 2010 19:07:55 +0000 (20:07 +0100)] 
Allow running C functions with coroutine.create(), too.

14 years agoAdd jit.os string.
Mike Pall [Tue, 16 Nov 2010 14:05:21 +0000 (15:05 +0100)] 
Add jit.os string.

14 years agoCleanup architecture, ABI and OS definitions.
Mike Pall [Tue, 16 Nov 2010 13:06:59 +0000 (14:06 +0100)] 
Cleanup architecture, ABI and OS definitions.

14 years agoAvoid using negative hex numbers with DynASM.
Mike Pall [Tue, 16 Nov 2010 12:41:58 +0000 (13:41 +0100)] 
Avoid using negative hex numbers with DynASM.

14 years agoSplit up extension/API docs into sub-pages.
Mike Pall [Tue, 9 Nov 2010 17:11:35 +0000 (18:11 +0100)] 
Split up extension/API docs into sub-pages.

14 years agoRename character type handling from lj_ctype* to lj_char*.
Mike Pall [Tue, 9 Nov 2010 11:09:54 +0000 (12:09 +0100)] 
Rename character type handling from lj_ctype* to lj_char*.

14 years agoFix conflict between loop branch inversion and HREF+NE/EQ merging.
Mike Pall [Fri, 5 Nov 2010 22:12:43 +0000 (23:12 +0100)] 
Fix conflict between loop branch inversion and HREF+NE/EQ merging.

14 years agoNumber parser shouldn't accept '0x' without hex digits.
Mike Pall [Tue, 2 Nov 2010 15:01:26 +0000 (16:01 +0100)] 
Number parser shouldn't accept '0x' without hex digits.

14 years agoFix parsing of hex floats.
Mike Pall [Mon, 1 Nov 2010 16:53:04 +0000 (17:53 +0100)] 
Fix parsing of hex floats.

14 years agoFix anchors in API docs.
Mike Pall [Mon, 1 Nov 2010 16:49:31 +0000 (17:49 +0100)] 
Fix anchors in API docs.

14 years agoFix collectgarbage("count") result if more than 2GB is in use.
Mike Pall [Mon, 25 Oct 2010 12:53:37 +0000 (14:53 +0200)] 
Fix collectgarbage("count") result if more than 2GB is in use.

Thanks to Tony Finch.

14 years agoReduce 32GB RLIMIT_DATA on FreeBSD/x64 to allocate low-2GB memory.
Mike Pall [Sat, 23 Oct 2010 14:31:27 +0000 (16:31 +0200)] 
Reduce 32GB RLIMIT_DATA on FreeBSD/x64 to allocate low-2GB memory.

Thanks to Tony Finch.

14 years agoAvoid compiler warning.
Mike Pall [Sat, 23 Oct 2010 13:28:28 +0000 (15:28 +0200)] 
Avoid compiler warning.

14 years agoPPC: Preserve RD during array resizing in BC_TSETM.
Mike Pall [Mon, 18 Oct 2010 14:12:27 +0000 (16:12 +0200)] 
PPC: Preserve RD during array resizing in BC_TSETM.

14 years agoFix recording of y = select(n, ...) for non-int indexes.
Mike Pall [Mon, 11 Oct 2010 19:52:22 +0000 (21:52 +0200)] 
Fix recording of y = select(n, ...) for non-int indexes.

14 years agoDecouple SLOAD type and optional conversion.
Mike Pall [Mon, 11 Oct 2010 19:13:37 +0000 (21:13 +0200)] 
Decouple SLOAD type and optional conversion.

14 years agox64: Fix type check for numbers in compiled code.
Mike Pall [Mon, 11 Oct 2010 16:03:25 +0000 (18:03 +0200)] 
x64: Fix type check for numbers in compiled code.

14 years agox64: Optimize internal/external tag conversion in lua_type().
Mike Pall [Mon, 11 Oct 2010 15:26:07 +0000 (17:26 +0200)] 
x64: Optimize internal/external tag conversion in lua_type().

14 years agoReorganize compatibility table in install docs.
Mike Pall [Mon, 11 Oct 2010 14:26:48 +0000 (16:26 +0200)] 
Reorganize compatibility table in install docs.

14 years agoFix external link in docs.
Mike Pall [Mon, 11 Oct 2010 13:29:12 +0000 (15:29 +0200)] 
Fix external link in docs.

14 years agoPPC: Update DynASM-generated file.
Mike Pall [Thu, 7 Oct 2010 00:24:57 +0000 (02:24 +0200)] 
PPC: Update DynASM-generated file.

PPC/e500v2 interpreter port is now feature-complete.

14 years agoPPC: Use ZERO register instead of extra load immediate.
Mike Pall [Thu, 7 Oct 2010 00:21:54 +0000 (02:21 +0200)] 
PPC: Use ZERO register instead of extra load immediate.

14 years agoPPC: Add coroutine.resume/wrap_aux/yield() fast functions.
Mike Pall [Thu, 7 Oct 2010 00:16:44 +0000 (02:16 +0200)] 
PPC: Add coroutine.resume/wrap_aux/yield() fast functions.

14 years agoPPC: Add string.sub() fast function.
Mike Pall [Wed, 6 Oct 2010 14:18:24 +0000 (16:18 +0200)] 
PPC: Add string.sub() fast function.

14 years agoPPC: Add string.rep/reverse/lower/upper() fast functions.
Mike Pall [Wed, 6 Oct 2010 14:17:07 +0000 (16:17 +0200)] 
PPC: Add string.rep/reverse/lower/upper() fast functions.

14 years agoPPC: Add string.len/byte/char() fast functions.
Mike Pall [Wed, 6 Oct 2010 14:11:02 +0000 (16:11 +0200)] 
PPC: Add string.len/byte/char() fast functions.

14 years agoPPC: Fix math.deg/rad() fast functions.
Mike Pall [Tue, 5 Oct 2010 17:39:07 +0000 (19:39 +0200)] 
PPC: Fix math.deg/rad() fast functions.

14 years agoPPC: Use own implementation for math.floor/ceil() fast functions.
Mike Pall [Tue, 5 Oct 2010 17:37:56 +0000 (19:37 +0200)] 
PPC: Use own implementation for math.floor/ceil() fast functions.

14 years agoPPC: Add math.ldexp/frexp/modf() fast functions.
Mike Pall [Tue, 5 Oct 2010 17:36:02 +0000 (19:36 +0200)] 
PPC: Add math.ldexp/frexp/modf() fast functions.

14 years agoPPC: Add math.abs/deg/rad/min/max() fast functions.
Mike Pall [Tue, 5 Oct 2010 17:35:04 +0000 (19:35 +0200)] 
PPC: Add math.abs/deg/rad/min/max() fast functions.

14 years agoPPC: Remove pointless optimization in BC_UNM.
Mike Pall [Tue, 5 Oct 2010 17:27:33 +0000 (19:27 +0200)] 
PPC: Remove pointless optimization in BC_UNM.

14 years agoPPC: Add table.getn() fast function.
Mike Pall [Mon, 4 Oct 2010 23:47:39 +0000 (01:47 +0200)] 
PPC: Add table.getn() fast function.

14 years agoPPC: Add tonumber() and tostring() fast functions.
Mike Pall [Mon, 4 Oct 2010 23:43:22 +0000 (01:43 +0200)] 
PPC: Add tonumber() and tostring() fast functions.

14 years agoPPC: Add getmetatable(), setmetatable() and rawget() fast functions.
Mike Pall [Mon, 4 Oct 2010 23:41:51 +0000 (01:41 +0200)] 
PPC: Add getmetatable(), setmetatable() and rawget() fast functions.

14 years agoPPC: Add assert() and type() fast functions.
Mike Pall [Mon, 4 Oct 2010 23:39:48 +0000 (01:39 +0200)] 
PPC: Add assert() and type() fast functions.

14 years agoUpdate docs for PPC port. Clarify and extend install instructions.
Mike Pall [Mon, 4 Oct 2010 23:36:54 +0000 (01:36 +0200)] 
Update docs for PPC port. Clarify and extend install instructions.

14 years agoPPC: Add pcall() and xpcall() fast functions.
Mike Pall [Fri, 1 Oct 2010 21:47:29 +0000 (23:47 +0200)] 
PPC: Add pcall() and xpcall() fast functions.

14 years agoPPC: Add ipairs() fast function and its iterator.
Mike Pall [Fri, 1 Oct 2010 21:45:56 +0000 (23:45 +0200)] 
PPC: Add ipairs() fast function and its iterator.

14 years agoPPC: Add next() and pairs() fast functions.
Mike Pall [Fri, 1 Oct 2010 21:43:39 +0000 (23:43 +0200)] 
PPC: Add next() and pairs() fast functions.

14 years agoPPC: Add BC_ITERN and BC_ISNEXT.
Mike Pall [Thu, 30 Sep 2010 23:44:02 +0000 (01:44 +0200)] 
PPC: Add BC_ITERN and BC_ISNEXT.

14 years agoSpecialize bytecode for pairs()/next() iterator. Speedup: 3.5x.
Mike Pall [Thu, 30 Sep 2010 19:55:32 +0000 (21:55 +0200)] 
Specialize bytecode for pairs()/next() iterator. Speedup: 3.5x.

Parser predict pairs/next and emits specialized bytecode.
Bytecode is descpecialized at runtime if the prediction was wrong.
Store slot index in hidden control var to avoid key lookups.

14 years agox64: Use 64 bit slot copies in the interpreter.
Mike Pall [Thu, 30 Sep 2010 15:47:32 +0000 (17:47 +0200)] 
x64: Use 64 bit slot copies in the interpreter.

14 years agoPPC: Add dispatch to fast function fallback handlers.
Mike Pall [Thu, 30 Sep 2010 00:58:29 +0000 (02:58 +0200)] 
PPC: Add dispatch to fast function fallback handlers.

14 years agoPPC: Add bit.* fast functions.
Mike Pall [Thu, 30 Sep 2010 00:56:54 +0000 (02:56 +0200)] 
PPC: Add bit.* fast functions.

14 years agoPPC: Add basic infrastructure for fast functions.
Mike Pall [Thu, 30 Sep 2010 00:54:33 +0000 (02:54 +0200)] 
PPC: Add basic infrastructure for fast functions.

14 years agoPPC: Add frame unwind info for assembler part.
Mike Pall [Tue, 28 Sep 2010 15:50:33 +0000 (17:50 +0200)] 
PPC: Add frame unwind info for assembler part.

Add define for target-specific exception handler return register.

14 years agoPPC: Don't use callee-save registers when folding '%' operator.
Mike Pall [Tue, 28 Sep 2010 12:59:33 +0000 (14:59 +0200)] 
PPC: Don't use callee-save registers when folding '%' operator.

14 years agoFix checks for minimum required compiler versions.
Mike Pall [Tue, 28 Sep 2010 12:20:49 +0000 (14:20 +0200)] 
Fix checks for minimum required compiler versions.

14 years agoPPC: Add dispatch target for call hook.
Mike Pall [Thu, 23 Sep 2010 00:42:29 +0000 (02:42 +0200)] 
PPC: Add dispatch target for call hook.

14 years agoPPC: Add dispatch targets for instruction and return hooks.
Mike Pall [Thu, 23 Sep 2010 00:38:39 +0000 (02:38 +0200)] 
PPC: Add dispatch targets for instruction and return hooks.

14 years agoPPC: Add lj_vm_resume().
Mike Pall [Thu, 23 Sep 2010 00:35:51 +0000 (02:35 +0200)] 
PPC: Add lj_vm_resume().

14 years agoWorkaround for missing fseeko/ftello prototypes on ancient glibc.
Mike Pall [Wed, 22 Sep 2010 23:30:53 +0000 (01:30 +0200)] 
Workaround for missing fseeko/ftello prototypes on ancient glibc.

14 years agox86/x64: Fix stack overflow handling for coroutine results.
Mike Pall [Wed, 22 Sep 2010 20:59:41 +0000 (22:59 +0200)] 
x86/x64: Fix stack overflow handling for coroutine results.

14 years agoFix stack growth for coroutine.wrap().
Mike Pall [Wed, 22 Sep 2010 19:16:16 +0000 (21:16 +0200)] 
Fix stack growth for coroutine.wrap().

14 years agoPPC: Reschedule continuation dispatch.
Mike Pall [Tue, 21 Sep 2010 19:43:29 +0000 (21:43 +0200)] 
PPC: Reschedule continuation dispatch.

14 years agoWhitespace.
Mike Pall [Tue, 21 Sep 2010 19:41:49 +0000 (21:41 +0200)] 
Whitespace.

14 years agoPPC: Add fixed register for TOBIT bias.
Mike Pall [Tue, 21 Sep 2010 19:40:39 +0000 (21:40 +0200)] 
PPC: Add fixed register for TOBIT bias.

14 years agoPPC: Add missing register setup after unwind to ff pcall.
Mike Pall [Tue, 21 Sep 2010 19:36:37 +0000 (21:36 +0200)] 
PPC: Add missing register setup after unwind to ff pcall.

14 years agoPPC: Fix result copy for return to Lua.
Mike Pall [Tue, 21 Sep 2010 19:21:21 +0000 (21:21 +0200)] 
PPC: Fix result copy for return to Lua.

14 years agoPPC: Fix constant folding of modulo operator.
Mike Pall [Tue, 21 Sep 2010 18:54:12 +0000 (20:54 +0200)] 
PPC: Fix constant folding of modulo operator.

14 years agoConsistently round int args of string functions on x64.
Mike Pall [Tue, 21 Sep 2010 16:04:59 +0000 (18:04 +0200)] 
Consistently round int args of string functions on x64.

14 years agoImprove AA for field accesses: disambiguate new allocations.
Mike Pall [Tue, 21 Sep 2010 13:21:26 +0000 (15:21 +0200)] 
Improve AA for field accesses: disambiguate new allocations.

14 years agoDrop redundant (UGE any +0).
Mike Pall [Tue, 21 Sep 2010 00:44:18 +0000 (02:44 +0200)] 
Drop redundant (UGE any +0).

14 years agoImprove FOLD/CSE of field loads and array/hash refs across NEWREF.
Mike Pall [Tue, 21 Sep 2010 00:28:14 +0000 (02:28 +0200)] 
Improve FOLD/CSE of field loads and array/hash refs across NEWREF.

14 years agoImprove alias analysis: disambiguate new allocations.
Mike Pall [Mon, 20 Sep 2010 23:31:04 +0000 (01:31 +0200)] 
Improve alias analysis: disambiguate new allocations.

14 years agoAvoid fusing potentially negative indexes into AREF on x64.
Mike Pall [Sat, 18 Sep 2010 16:34:38 +0000 (18:34 +0200)] 
Avoid fusing potentially negative indexes into AREF on x64.

14 years agoPPC: Add metamethod handlers and continuations for comparisons.
Mike Pall [Fri, 17 Sep 2010 14:07:01 +0000 (16:07 +0200)] 
PPC: Add metamethod handlers and continuations for comparisons.

14 years agoPPC: Reschedule bytecode instruction fetch.
Mike Pall [Fri, 17 Sep 2010 14:01:02 +0000 (16:01 +0200)] 
PPC: Reschedule bytecode instruction fetch.

14 years agoPPC: Add BC_CAT and lj_cont_cat.
Mike Pall [Fri, 17 Sep 2010 13:54:50 +0000 (15:54 +0200)] 
PPC: Add BC_CAT and lj_cont_cat.

14 years agoPPC: Fix ordered comparisons for NaN operands.
Mike Pall [Thu, 16 Sep 2010 00:09:19 +0000 (02:09 +0200)] 
PPC: Fix ordered comparisons for NaN operands.

14 years agoPPC: Avoid comparison with NaN in BC_ISEQN/BC_ISNEN.
Mike Pall [Thu, 16 Sep 2010 00:06:20 +0000 (02:06 +0200)] 
PPC: Avoid comparison with NaN in BC_ISEQN/BC_ISNEN.

14 years agoPPC: Add BC_TSETM.
Mike Pall [Wed, 15 Sep 2010 15:28:24 +0000 (17:28 +0200)] 
PPC: Add BC_TSETM.

14 years agoPPC: Add BC_VARG.
Mike Pall [Wed, 15 Sep 2010 15:27:17 +0000 (17:27 +0200)] 
PPC: Add BC_VARG.

14 years agoDon't traverse inactive GCtrace objects.
Mike Pall [Tue, 14 Sep 2010 23:13:07 +0000 (01:13 +0200)] 
Don't traverse inactive GCtrace objects.

14 years agoShow names of IR calls in disassembler output.
Mike Pall [Tue, 14 Sep 2010 22:51:43 +0000 (00:51 +0200)] 
Show names of IR calls in disassembler output.

14 years agoAdd IR_VLOAD for vararg loads.
Mike Pall [Tue, 14 Sep 2010 17:58:27 +0000 (19:58 +0200)] 
Add IR_VLOAD for vararg loads.

Also fixes the broken AA improvement in the last commit.

14 years agoImprove alias analysis for vararg loads.
Mike Pall [Tue, 14 Sep 2010 14:48:52 +0000 (16:48 +0200)] 
Improve alias analysis for vararg loads.

14 years agoAvoid unnecessary vararg loads.
Mike Pall [Tue, 14 Sep 2010 14:48:25 +0000 (16:48 +0200)] 
Avoid unnecessary vararg loads.

14 years agoPPC: Fix line number in stack overflow error.
Mike Pall [Tue, 14 Sep 2010 01:13:44 +0000 (03:13 +0200)] 
PPC: Fix line number in stack overflow error.

14 years agoPPC: Fix write barrier in BC_TSETV.
Mike Pall [Mon, 13 Sep 2010 23:23:34 +0000 (01:23 +0200)] 
PPC: Fix write barrier in BC_TSETV.

14 years agoPPC: Fix KBASE restore in BC_CALLT.
Mike Pall [Mon, 13 Sep 2010 23:20:01 +0000 (01:20 +0200)] 
PPC: Fix KBASE restore in BC_CALLT.

14 years agoPPC: Keep MULTRES in a register.
Mike Pall [Mon, 13 Sep 2010 22:46:06 +0000 (00:46 +0200)] 
PPC: Keep MULTRES in a register.

14 years agoPPC: Add better diagnostics to DynASM for reg/imm mismatches.
Mike Pall [Mon, 13 Sep 2010 22:00:31 +0000 (00:00 +0200)] 
PPC: Add better diagnostics to DynASM for reg/imm mismatches.

14 years agox86/x64: Avoid unnecessary resize in BC_TSETM.
Mike Pall [Mon, 13 Sep 2010 20:30:23 +0000 (22:30 +0200)] 
x86/x64: Avoid unnecessary resize in BC_TSETM.

14 years agoPPC: Add support for shifted MULTRES.
Mike Pall [Mon, 13 Sep 2010 19:50:08 +0000 (21:50 +0200)] 
PPC: Add support for shifted MULTRES.

14 years agoPPC: Add metamethod handlers for indexing instructions.
Mike Pall [Mon, 13 Sep 2010 19:26:27 +0000 (21:26 +0200)] 
PPC: Add metamethod handlers for indexing instructions.

14 years agoPPC: Add missing write barrier to BC_TSETV.
Mike Pall [Mon, 13 Sep 2010 19:21:39 +0000 (21:21 +0200)] 
PPC: Add missing write barrier to BC_TSETV.

14 years agoPPC: Fix write barrier and linkage for BC_USETV/BC_USETS.
Mike Pall [Mon, 13 Sep 2010 19:19:33 +0000 (21:19 +0200)] 
PPC: Fix write barrier and linkage for BC_USETV/BC_USETS.

Some older linkers can't rearrange to accomodate R_PPC_REL14.

14 years agoPPC: Teach DynASM to reject r0 for some operands.
Mike Pall [Mon, 13 Sep 2010 19:11:51 +0000 (21:11 +0200)] 
PPC: Teach DynASM to reject r0 for some operands.

14 years agoRelease all memory when using the builtin allocator.
Mike Pall [Mon, 13 Sep 2010 17:48:31 +0000 (19:48 +0200)] 
Release all memory when using the builtin allocator.

Blocks >128K are not kept in the segment list and were not destroyed.

14 years agoRecord y = select(x, ...) idiom.
Mike Pall [Sun, 12 Sep 2010 23:23:19 +0000 (01:23 +0200)] 
Record y = select(x, ...) idiom.

14 years agoRecord select().
Mike Pall [Sun, 12 Sep 2010 23:21:44 +0000 (01:21 +0200)] 
Record select().

14 years agoRecord vararg expressions with varargs defined off-trace.
Mike Pall [Sun, 12 Sep 2010 23:17:38 +0000 (01:17 +0200)] 
Record vararg expressions with varargs defined off-trace.

Add SLOAD variant to access the frame type/size.

14 years agoFix tailcalls from vararg functions.
Mike Pall [Sun, 12 Sep 2010 22:55:05 +0000 (00:55 +0200)] 
Fix tailcalls from vararg functions.

14 years agoFix off-by-one errors in maxslot calculation of trace recorder.
Mike Pall [Sun, 12 Sep 2010 01:14:17 +0000 (03:14 +0200)] 
Fix off-by-one errors in maxslot calculation of trace recorder.

14 years agoRecord vararg expressions with known fixed number of results.
Mike Pall [Sun, 12 Sep 2010 00:39:06 +0000 (02:39 +0200)] 
Record vararg expressions with known fixed number of results.

14 years agoRecord calls to vararg functions.
Mike Pall [Sat, 11 Sep 2010 23:37:02 +0000 (01:37 +0200)] 
Record calls to vararg functions.

This loop is now roughly 1000x faster than the Lua interpreter:
  local function f(a,b,...) end; for i=1,2e8 do f(1,2,i) end
Yet another silly microbenchmark -- I know.

14 years agoFix broken MSVC build.
Mike Pall [Sat, 11 Sep 2010 23:33:32 +0000 (01:33 +0200)] 
Fix broken MSVC build.

14 years agoPPC: Add argument coercion for BC_FORI.
Mike Pall [Fri, 10 Sep 2010 23:53:59 +0000 (01:53 +0200)] 
PPC: Add argument coercion for BC_FORI.