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

15 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.

15 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.

15 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.

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

15 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.

15 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.

15 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.

15 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.

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

15 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.

15 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.

15 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.

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

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

15 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.

15 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.

15 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.

15 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.

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

15 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.

15 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.

15 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.

15 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.

15 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.

15 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.

15 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.

15 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.

15 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.

15 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.

15 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.

15 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.

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

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

15 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.

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

15 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.

15 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.

15 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.

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

15 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.

15 years agoPPC: Add continuation dispatch and RA/nop continuations.
Mike Pall [Fri, 10 Sep 2010 23:52:26 +0000 (01:52 +0200)] 
PPC: Add continuation dispatch and RA/nop continuations.

15 years agoPPC: Add metamethod handlers for arithmetic instructions.
Mike Pall [Fri, 10 Sep 2010 23:47:49 +0000 (01:47 +0200)] 
PPC: Add metamethod handlers for arithmetic instructions.

15 years agoPPC: Add metamethod handlers for call instructions.
Mike Pall [Fri, 10 Sep 2010 23:46:11 +0000 (01:46 +0200)] 
PPC: Add metamethod handlers for call instructions.

15 years agoReduce minimum Lua frame size to 1.
Mike Pall [Fri, 10 Sep 2010 09:43:31 +0000 (11:43 +0200)] 
Reduce minimum Lua frame size to 1.

15 years agoOptimize BC_VARG: use RC for numparams.
Mike Pall [Fri, 10 Sep 2010 09:34:29 +0000 (11:34 +0200)] 
Optimize BC_VARG: use RC for numparams.

15 years agoTurn some lua_State fields into 32 bit pointers.
Mike Pall [Thu, 9 Sep 2010 10:28:17 +0000 (12:28 +0200)] 
Turn some lua_State fields into 32 bit pointers.

lua_State now fits into one cache line on x64.

15 years agoUse biased integer constant for TSETM array index.
Mike Pall [Thu, 9 Sep 2010 10:01:29 +0000 (12:01 +0200)] 
Use biased integer constant for TSETM array index.

15 years agoPPC: Use unsigned compares for pointer comparisons.
Mike Pall [Wed, 8 Sep 2010 23:14:17 +0000 (01:14 +0200)] 
PPC: Use unsigned compares for pointer comparisons.

15 years agoPPC: Add upvalue get/set instructions.
Mike Pall [Wed, 8 Sep 2010 23:08:07 +0000 (01:08 +0200)] 
PPC: Add upvalue get/set instructions.

15 years agoPPC: Add closure-related instructions.
Mike Pall [Wed, 8 Sep 2010 23:06:55 +0000 (01:06 +0200)] 
PPC: Add closure-related instructions.

15 years agoPPC: Add helper function for folding arithmetic ops.
Mike Pall [Tue, 7 Sep 2010 22:14:36 +0000 (00:14 +0200)] 
PPC: Add helper function for folding arithmetic ops.

15 years agoPPC: Add modulo instructions.
Mike Pall [Tue, 7 Sep 2010 22:12:23 +0000 (00:12 +0200)] 
PPC: Add modulo instructions.

15 years agoPPC: Add heavily optimized floor/ceil/trunc functions.
Mike Pall [Tue, 7 Sep 2010 22:09:36 +0000 (00:09 +0200)] 
PPC: Add heavily optimized floor/ceil/trunc functions.

15 years agoPPC: Add binary arithmetic instructions (except MOD).
Mike Pall [Mon, 6 Sep 2010 23:24:25 +0000 (01:24 +0200)] 
PPC: Add binary arithmetic instructions (except MOD).

15 years agoPPC: Add unary instructions.
Mike Pall [Mon, 6 Sep 2010 23:15:21 +0000 (01:15 +0200)] 
PPC: Add unary instructions.

15 years agoPPC: Add table constructors.
Mike Pall [Mon, 6 Sep 2010 13:20:58 +0000 (15:20 +0200)] 
PPC: Add table constructors.

15 years agoPPC: Add tailcall instructions.
Mike Pall [Sat, 4 Sep 2010 10:58:36 +0000 (12:58 +0200)] 
PPC: Add tailcall instructions.

15 years agoPPC: Add call and iterator call instructions.
Mike Pall [Fri, 3 Sep 2010 19:02:55 +0000 (21:02 +0200)] 
PPC: Add call and iterator call instructions.

15 years agoPPC: Add table indexing with variable keys or uint8_t.
Mike Pall [Fri, 3 Sep 2010 17:35:44 +0000 (19:35 +0200)] 
PPC: Add table indexing with variable keys or uint8_t.

15 years agoPPC: Add table indexing with string keys. Add get/set global.
Mike Pall [Fri, 3 Sep 2010 17:31:07 +0000 (19:31 +0200)] 
PPC: Add table indexing with string keys. Add get/set global.

15 years agoExplicitly indicate tailcall from fast function fallback.
Mike Pall [Thu, 2 Sep 2010 15:16:56 +0000 (17:16 +0200)] 
Explicitly indicate tailcall from fast function fallback.

15 years agoPPC: Add unary test and copy instructions.
Mike Pall [Wed, 1 Sep 2010 18:29:29 +0000 (20:29 +0200)] 
PPC: Add unary test and copy instructions.

15 years agoPPC: Add comparison instructions.
Mike Pall [Wed, 1 Sep 2010 18:27:39 +0000 (20:27 +0200)] 
PPC: Add comparison instructions.

15 years agoPPC: Add loop instructions.
Mike Pall [Wed, 1 Sep 2010 18:24:08 +0000 (20:24 +0200)] 
PPC: Add loop instructions.

15 years agoPPC: Unwind the stack after an error is thrown.
Mike Pall [Tue, 31 Aug 2010 22:27:48 +0000 (00:27 +0200)] 
PPC: Unwind the stack after an error is thrown.

15 years agoPPC: Handle stack growth on return to C.
Mike Pall [Tue, 31 Aug 2010 22:25:35 +0000 (00:25 +0200)] 
PPC: Handle stack growth on return to C.

15 years agoPPC: Add move and constant instructions.
Mike Pall [Tue, 31 Aug 2010 22:19:27 +0000 (00:19 +0200)] 
PPC: Add move and constant instructions.

15 years agoImprove coalescing of multiple KPRI instructions to KNIL.
Mike Pall [Tue, 31 Aug 2010 22:18:00 +0000 (00:18 +0200)] 
Improve coalescing of multiple KPRI instructions to KNIL.

15 years agoPPC: Add return instructions.
Mike Pall [Tue, 31 Aug 2010 21:55:18 +0000 (23:55 +0200)] 
PPC: Add return instructions.

15 years agoPPC: Handle stack growth during function calls.
Mike Pall [Tue, 31 Aug 2010 21:52:45 +0000 (23:52 +0200)] 
PPC: Handle stack growth during function calls.

15 years agoPPC: Add support to call Lua functions.
Mike Pall [Tue, 31 Aug 2010 21:47:55 +0000 (23:47 +0200)] 
PPC: Add support to call Lua functions.

15 years agoPPC: Clean up JIT/non-JIT symbol declarations in assembler part.
Mike Pall [Mon, 30 Aug 2010 22:49:29 +0000 (00:49 +0200)] 
PPC: Clean up JIT/non-JIT symbol declarations in assembler part.

15 years agoPPC: Add support to call C functions and to return back to C.
Mike Pall [Mon, 30 Aug 2010 22:29:38 +0000 (00:29 +0200)] 
PPC: Add support to call C functions and to return back to C.

Command line starts now, but it can't run any Lua code yet.

15 years agoPPC: Add entry and exit points into VM. Add type check macros.
Mike Pall [Mon, 30 Aug 2010 22:17:22 +0000 (00:17 +0200)] 
PPC: Add entry and exit points into VM. Add type check macros.

15 years agoPPC: Add instruction/call decode + dispatch macros.
Mike Pall [Mon, 30 Aug 2010 22:05:10 +0000 (00:05 +0200)] 
PPC: Add instruction/call decode + dispatch macros.

15 years agoPPC: Add register assignments and type definitions.
Mike Pall [Mon, 30 Aug 2010 22:04:32 +0000 (00:04 +0200)] 
PPC: Add register assignments and type definitions.

15 years agoMinor tweaks to integration of assembler part.
Mike Pall [Sun, 29 Aug 2010 18:04:40 +0000 (20:04 +0200)] 
Minor tweaks to integration of assembler part.

Remove unneeded PC restore in vm_growstack_*.
Don't declare symbols that are unused in interpreter-only builds.
Don't embed lj_vm_foldfpm in interpreter-only builds.
Add 2nd temporary TValue in lua_State.

15 years agoPPC: Add missing PowerPC subtract mnemonics.
Mike Pall [Sun, 29 Aug 2010 10:58:22 +0000 (12:58 +0200)] 
PPC: Add missing PowerPC subtract mnemonics.

15 years agoPPC: Clean up masked shift/rotate target settings.
Mike Pall [Sun, 29 Aug 2010 10:52:20 +0000 (12:52 +0200)] 
PPC: Clean up masked shift/rotate target settings.

15 years agoPPC: Amend DynASM PowerPC conditional branch instructions.
Mike Pall [Sat, 28 Aug 2010 18:05:57 +0000 (20:05 +0200)] 
PPC: Amend DynASM PowerPC conditional branch instructions.

15 years agoPPC: Add stack frame layout for PPCSPE target.
Mike Pall [Fri, 27 Aug 2010 16:32:24 +0000 (18:32 +0200)] 
PPC: Add stack frame layout for PPCSPE target.

PPCSPE target compiles now, but will trap for any NYI parts.
Cross-compilation instructions:
  make HOST_CC="gcc -m32" CROSS=powerpc-e500v2-linux-gnuspe- TARGET=ppcspe

15 years agoImprove target architecture detection in src/Makefile.
Mike Pall [Fri, 27 Aug 2010 16:17:29 +0000 (18:17 +0200)] 
Improve target architecture detection in src/Makefile.

15 years agoPPC: Add build rules and preprocessed skeleton for PPCSPE target.
Mike Pall [Fri, 27 Aug 2010 15:20:16 +0000 (17:20 +0200)] 
PPC: Add build rules and preprocessed skeleton for PPCSPE target.

15 years agoPPC: Add skeleton for PowerPC interpreter.
Mike Pall [Fri, 27 Aug 2010 14:52:45 +0000 (16:52 +0200)] 
PPC: Add skeleton for PowerPC interpreter.

15 years agoAlways enable check mode for DynASM (only used at build-time).
Mike Pall [Fri, 27 Aug 2010 11:19:35 +0000 (13:19 +0200)] 
Always enable check mode for DynASM (only used at build-time).

15 years agoPPC: Add support for word-wise relocations to buildvm asm targets.
Mike Pall [Fri, 27 Aug 2010 11:08:58 +0000 (13:08 +0200)] 
PPC: Add support for word-wise relocations to buildvm asm targets.

15 years agoPPC: Add SPE instructions to DynASM PowerPC module.
Mike Pall [Thu, 26 Aug 2010 23:43:32 +0000 (01:43 +0200)] 
PPC: Add SPE instructions to DynASM PowerPC module.

15 years agoPPC: Add DynASM PowerPC encoding engine.
Mike Pall [Thu, 26 Aug 2010 15:27:17 +0000 (17:27 +0200)] 
PPC: Add DynASM PowerPC encoding engine.

15 years agoPPC: Add DynASM PowerPC module. Standard instructions only.
Mike Pall [Thu, 26 Aug 2010 00:09:15 +0000 (02:09 +0200)] 
PPC: Add DynASM PowerPC module. Standard instructions only.

15 years agoPPC: Add PowerPC target architecture selection.
Mike Pall [Wed, 25 Aug 2010 11:00:42 +0000 (13:00 +0200)] 
PPC: Add PowerPC target architecture selection.

15 years agoFix string.format() for non-finite numbers.
Mike Pall [Tue, 24 Aug 2010 21:06:10 +0000 (23:06 +0200)] 
Fix string.format() for non-finite numbers.

15 years agoRELEASE LuaJIT-2.0.0-beta5 v2.0.0-beta5
Mike Pall [Tue, 24 Aug 2010 13:10:40 +0000 (15:10 +0200)] 
RELEASE LuaJIT-2.0.0-beta5

15 years agoUpdate changelog.
Mike Pall [Mon, 23 Aug 2010 18:53:55 +0000 (20:53 +0200)] 
Update changelog.

15 years agoFix formatting of canonicalized number to string conversions.
Mike Pall [Mon, 23 Aug 2010 18:06:36 +0000 (20:06 +0200)] 
Fix formatting of canonicalized number to string conversions.

15 years agoFix encoding of doubles for mixed-endian cross builds.
Mike Pall [Mon, 9 Aug 2010 16:55:37 +0000 (18:55 +0200)] 
Fix encoding of doubles for mixed-endian cross builds.

15 years agoClean up some more DynASM target dependencies.
Mike Pall [Sun, 8 Aug 2010 16:03:20 +0000 (18:03 +0200)] 
Clean up some more DynASM target dependencies.

15 years agoFix return from pcall within active hook.
Mike Pall [Sat, 7 Aug 2010 18:26:00 +0000 (20:26 +0200)] 
Fix return from pcall within active hook.

15 years agoKeep framesize in RA of FUNCC/FUNCCW instructions, too
Mike Pall [Fri, 6 Aug 2010 17:43:55 +0000 (19:43 +0200)] 
Keep framesize in RA of FUNCC/FUNCCW instructions, too

15 years agoFix lua_cpcall(). Duplicate save corrupted C frame chain.
Mike Pall [Fri, 6 Aug 2010 12:34:54 +0000 (14:34 +0200)] 
Fix lua_cpcall(). Duplicate save corrupted C frame chain.