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

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

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

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

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

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

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

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

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

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

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

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

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

14 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).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

15 years agoFix some compiler warnings.
Mike Pall [Tue, 3 Aug 2010 21:11:12 +0000 (23:11 +0200)] 
Fix some compiler warnings.

15 years agoCleanup library function caching in dasm_x86.lua.
Mike Pall [Tue, 3 Aug 2010 20:32:43 +0000 (22:32 +0200)] 
Cleanup library function caching in dasm_x86.lua.

15 years agoRemove bogus global in -jdump.
Mike Pall [Tue, 3 Aug 2010 20:14:14 +0000 (22:14 +0200)] 
Remove bogus global in -jdump.

15 years agoUntangle some target dependencies.
Mike Pall [Tue, 3 Aug 2010 20:09:12 +0000 (22:09 +0200)] 
Untangle some target dependencies.

15 years agoUse FuncState typedef in favor of struct.
Mike Pall [Tue, 3 Aug 2010 20:08:08 +0000 (22:08 +0200)] 
Use FuncState typedef in favor of struct.

15 years agoSpeed up string compares in string interning.
Mike Pall [Wed, 21 Jul 2010 21:55:05 +0000 (23:55 +0200)] 
Speed up string compares in string interning.

15 years agoSwitch to fast string hash.
Mike Pall [Wed, 21 Jul 2010 20:53:27 +0000 (22:53 +0200)] 
Switch to fast string hash.

15 years agoAbstract out pointer hash to hashrot(). Tune hash constants.
Mike Pall [Wed, 21 Jul 2010 19:42:40 +0000 (21:42 +0200)] 
Abstract out pointer hash to hashrot(). Tune hash constants.

15 years agoUse independent hash for VM event dispatch.
Mike Pall [Wed, 21 Jul 2010 19:23:45 +0000 (21:23 +0200)] 
Use independent hash for VM event dispatch.

15 years agoFix arg check for two-arg SSE math functions in interpreter.
Mike Pall [Wed, 14 Jul 2010 12:11:48 +0000 (14:11 +0200)] 
Fix arg check for two-arg SSE math functions in interpreter.

15 years agoFix passing of constant args in FPRs on x64.
Mike Pall [Wed, 14 Jul 2010 11:04:29 +0000 (13:04 +0200)] 
Fix passing of constant args in FPRs on x64.

15 years agoRechain pseudo-resurrected string keys with colliding hashes.
Mike Pall [Sun, 4 Jul 2010 21:07:21 +0000 (23:07 +0200)] 
Rechain pseudo-resurrected string keys with colliding hashes.

15 years agoDo not eliminate PHIs for values only referenced from side exits.
Mike Pall [Wed, 30 Jun 2010 21:30:08 +0000 (23:30 +0200)] 
Do not eliminate PHIs for values only referenced from side exits.

15 years agoFix frame setup for error handling in next().
Mike Pall [Mon, 28 Jun 2010 16:07:34 +0000 (18:07 +0200)] 
Fix frame setup for error handling in next().

15 years agoFallback to metamethod resolving for tostring in print().
Mike Pall [Wed, 16 Jun 2010 17:43:07 +0000 (19:43 +0200)] 
Fallback to metamethod resolving for tostring in print().

15 years agoFix string.char() range check on x64.
Mike Pall [Sun, 30 May 2010 10:29:55 +0000 (12:29 +0200)] 
Fix string.char() range check on x64.

15 years agoCanonicalize string conversion of nan, inf, -inf.
Mike Pall [Wed, 19 May 2010 22:40:51 +0000 (00:40 +0200)] 
Canonicalize string conversion of nan, inf, -inf.

15 years agoFix handling of failed fp:read(..., "*n").
Mike Pall [Sat, 15 May 2010 16:10:41 +0000 (18:10 +0200)] 
Fix handling of failed fp:read(..., "*n").

15 years agoAvoid name clash with standard POSIX function.
Mike Pall [Sun, 9 May 2010 20:47:09 +0000 (22:47 +0200)] 
Avoid name clash with standard POSIX function.

15 years agoAvoid string allocation in GDB JIT API.
Mike Pall [Sun, 9 May 2010 01:27:24 +0000 (03:27 +0200)] 
Avoid string allocation in GDB JIT API.

15 years agoAdd weak guards. Emit TNEW/TDUP with a guard bit.
Mike Pall [Sat, 8 May 2010 16:59:59 +0000 (18:59 +0200)] 
Add weak guards. Emit TNEW/TDUP with a guard bit.

15 years agoCreate symbol table of JIT-compiled code for use with Linux perf tools.
Mike Pall [Sat, 1 May 2010 02:27:14 +0000 (04:27 +0200)] 
Create symbol table of JIT-compiled code for use with Linux perf tools.

Enable with: -DLUAJIT_USE_PERFTOOLS

15 years agoFix PHI elimination: mark right PHI as used, too.
Mike Pall [Wed, 28 Apr 2010 20:00:40 +0000 (22:00 +0200)] 
Fix PHI elimination: mark right PHI as used, too.

15 years agoTurn TValue setter macros into inline functions.
Mike Pall [Sun, 25 Apr 2010 22:28:44 +0000 (00:28 +0200)] 
Turn TValue setter macros into inline functions.

15 years agoTreat the tag of a TValue as unsigned everywhere.
Mike Pall [Sun, 25 Apr 2010 21:21:15 +0000 (23:21 +0200)] 
Treat the tag of a TValue as unsigned everywhere.

15 years agoAvoid starting a GC cycle immediately after library init.
Mike Pall [Sun, 25 Apr 2010 17:45:54 +0000 (19:45 +0200)] 
Avoid starting a GC cycle immediately after library init.

15 years agoFix TNEW in x64 interpreter. Do not force a full GC (ouch).
Mike Pall [Sun, 25 Apr 2010 17:33:39 +0000 (19:33 +0200)] 
Fix TNEW in x64 interpreter. Do not force a full GC (ouch).

15 years agoMake metamethod names proper GC roots.
Mike Pall [Sun, 25 Apr 2010 16:35:47 +0000 (18:35 +0200)] 
Make metamethod names proper GC roots.

15 years agoReorganize and fix placement of generated machine code on x64.
Mike Pall [Sun, 25 Apr 2010 12:52:29 +0000 (14:52 +0200)] 
Reorganize and fix placement of generated machine code on x64.

15 years agoSimplify management of current trace. Drop lazy save.
Mike Pall [Sun, 25 Apr 2010 11:53:33 +0000 (13:53 +0200)] 
Simplify management of current trace. Drop lazy save.

15 years agoTurn traces into true GC objects (GCtrace).
Mike Pall [Sun, 25 Apr 2010 01:32:29 +0000 (03:32 +0200)] 
Turn traces into true GC objects (GCtrace).

15 years agoSimplify lexer a bit.
Mike Pall [Sat, 24 Apr 2010 18:23:02 +0000 (20:23 +0200)] 
Simplify lexer a bit.

15 years agoAdd assertions to guard against using lua_*call on dead coroutines.
Mike Pall [Fri, 23 Apr 2010 15:42:25 +0000 (17:42 +0200)] 
Add assertions to guard against using lua_*call on dead coroutines.

15 years agoAvoid compiler warning.
Mike Pall [Fri, 23 Apr 2010 13:38:08 +0000 (15:38 +0200)] 
Avoid compiler warning.

15 years agoNo longer let the GC replace dead keys with the LJ_TDEADKEY tag.
Mike Pall [Tue, 20 Apr 2010 23:45:58 +0000 (01:45 +0200)] 
No longer let the GC replace dead keys with the LJ_TDEADKEY tag.

Important: this changes the semantics of the write barrier!
Carefully read the big comment block in lj_obj.h
This helps HREFK key slot specialization and allows safely hoisting
HREF/HREFK across GC steps, too (fix for a barely reproducible bug).
Dead keys are only removed during a table resize (as before).

15 years agoSimplify GC step calls from on-trace code.
Mike Pall [Mon, 19 Apr 2010 21:41:48 +0000 (23:41 +0200)] 
Simplify GC step calls from on-trace code.

15 years agoReplace on-trace GC frame syncing with interpreter exit.
Mike Pall [Sun, 18 Apr 2010 11:41:30 +0000 (13:41 +0200)] 
Replace on-trace GC frame syncing with interpreter exit.

Need to sync GC objects to stack only during atomic GC phase.
Need to setup a proper frame structure only for calling finalizers.
Force an exit to the interpreter and let it handle the uncommon cases.
Finally solves the "NYI: gcstep sync with frames" issue.

15 years agoRefactor buildvm symbol generation.
Mike Pall [Wed, 14 Apr 2010 15:13:13 +0000 (17:13 +0200)] 
Refactor buildvm symbol generation.

Fixes Windows and OSX builds with LUAJIT_DISABLE_JIT.

15 years agoFix setup of RD when dispatching to function headers after exit.
Mike Pall [Fri, 9 Apr 2010 12:26:18 +0000 (14:26 +0200)] 
Fix setup of RD when dispatching to function headers after exit.

15 years agoDon't copy SNAP_NORESTORE mark into loops and suppress restore in exit.
Mike Pall [Wed, 7 Apr 2010 23:28:51 +0000 (01:28 +0200)] 
Don't copy SNAP_NORESTORE mark into loops and suppress restore in exit.

15 years agoRELEASE LuaJIT-2.0.0-beta4 v2.0.0-beta4
Mike Pall [Sun, 28 Mar 2010 17:26:33 +0000 (19:26 +0200)] 
RELEASE LuaJIT-2.0.0-beta4