crawl:crawl-luajit.git
6 years agoRELEASE LuaJIT-2.0.0-beta8 (fixed) v2.0.0-beta8-fixed
Mike Pall [Thu, 23 Jun 2011 17:40:21 +0000 (19:40 +0200)]
RELEASE LuaJIT-2.0.0-beta8 (fixed)

6 years agoFix documentation for -b command line option.
Mike Pall [Thu, 23 Jun 2011 17:09:56 +0000 (19:09 +0200)]
Fix documentation for -b command line option.

6 years agoRELEASE LuaJIT-2.0.0-beta8 v2.0.0-beta8
Mike Pall [Thu, 23 Jun 2011 15:15:02 +0000 (17:15 +0200)]
RELEASE LuaJIT-2.0.0-beta8

6 years agoUpdate changelog.
Mike Pall [Thu, 23 Jun 2011 14:56:41 +0000 (16:56 +0200)]
Update changelog.

6 years agoMisc. updates to docs.
Mike Pall [Thu, 23 Jun 2011 14:17:13 +0000 (16:17 +0200)]
Misc. updates to docs.

6 years agoFix assertion.
Mike Pall [Wed, 22 Jun 2011 19:18:23 +0000 (21:18 +0200)]
Fix assertion.

6 years agox86/x64: Don't evict BASE in ra_evictk().
Mike Pall [Wed, 22 Jun 2011 19:07:02 +0000 (21:07 +0200)]
x86/x64: Don't evict BASE in ra_evictk().

6 years agox86/x64: Fix register allocation for variable shifts.
Mike Pall [Wed, 22 Jun 2011 18:38:07 +0000 (20:38 +0200)]
x86/x64: Fix register allocation for variable shifts.

6 years agox86/x64: Fix fusion of comparisons with u8/u16 XLOAD.
Mike Pall [Wed, 22 Jun 2011 15:55:43 +0000 (17:55 +0200)]
x86/x64: Fix fusion of comparisons with u8/u16 XLOAD.

6 years agoAvoid pointless calls for std file handles on __gc.
Mike Pall [Wed, 22 Jun 2011 15:54:09 +0000 (17:54 +0200)]
Avoid pointless calls for std file handles on __gc.

6 years agoFix recording of loops with instable directions in side traces.
Mike Pall [Mon, 20 Jun 2011 19:51:31 +0000 (21:51 +0200)]
Fix recording of loops with instable directions in side traces.

6 years agoFrom Lua 5.2: __len for tables. Needs -DLUAJIT_ENABLE_LUA52COMPAT.
Mike Pall [Mon, 20 Jun 2011 18:45:41 +0000 (20:45 +0200)]
From Lua 5.2: __len for tables. Needs -DLUAJIT_ENABLE_LUA52COMPAT.

6 years agoUpdate man page for -b command line option.
Mike Pall [Tue, 14 Jun 2011 23:32:57 +0000 (01:32 +0200)]
Update man page for -b command line option.

6 years agoMore fixes for the Solaris/x86 build. Thanks to Will Metcalf.
Mike Pall [Tue, 14 Jun 2011 14:44:20 +0000 (16:44 +0200)]
More fixes for the Solaris/x86 build. Thanks to Will Metcalf.

6 years agoFix bytecode loading on Windows.
Mike Pall [Tue, 14 Jun 2011 10:47:48 +0000 (12:47 +0200)]
Fix bytecode loading on Windows.

6 years agoAdd more docs for bytecode load/save feature.
Mike Pall [Mon, 13 Jun 2011 23:58:19 +0000 (01:58 +0200)]
Add more docs for bytecode load/save feature.

6 years agoFix dumping of already stripped functions with debug info.
Mike Pall [Mon, 13 Jun 2011 01:22:10 +0000 (03:22 +0200)]
Fix dumping of already stripped functions with debug info.

6 years agoAdd -b command line option to save/list bytecode.
Mike Pall [Sun, 12 Jun 2011 23:04:23 +0000 (01:04 +0200)]
Add -b command line option to save/list bytecode.

6 years agoAdd support for bytecode loading/saving.
Mike Pall [Sun, 12 Jun 2011 22:58:13 +0000 (00:58 +0200)]
Add support for bytecode loading/saving.

6 years agoAdd recursive dump option to jit.bc.dump().
Mike Pall [Sun, 12 Jun 2011 21:51:13 +0000 (23:51 +0200)]
Add recursive dump option to jit.bc.dump().

6 years agoNo need for L argument to lj_str_initbuf().
Mike Pall [Sun, 12 Jun 2011 19:09:20 +0000 (21:09 +0200)]
No need for L argument to lj_str_initbuf().

6 years agoFFI: Support __tostring metamethod for pointers to structs, too.
Mike Pall [Sat, 11 Jun 2011 16:30:22 +0000 (18:30 +0200)]
FFI: Support __tostring metamethod for pointers to structs, too.

6 years agoMake .eh_frame section read-write on Solaris.
Mike Pall [Sat, 11 Jun 2011 13:56:00 +0000 (15:56 +0200)]
Make .eh_frame section read-write on Solaris.

6 years agoFix check for missing arguments in string.format().
Mike Pall [Fri, 10 Jun 2011 11:47:11 +0000 (13:47 +0200)]
Fix check for missing arguments in string.format().

6 years agoCleanup prototype flags.
Mike Pall [Thu, 9 Jun 2011 11:54:40 +0000 (13:54 +0200)]
Cleanup prototype flags.

6 years agoRemove bogus assertion for GC estimate vs. threshold.
Mike Pall [Wed, 8 Jun 2011 23:34:10 +0000 (01:34 +0200)]
Remove bogus assertion for GC estimate vs. threshold.

6 years agoFlatten and compress in-memory debug info (saves ~70%).
Mike Pall [Wed, 8 Jun 2011 23:27:37 +0000 (01:27 +0200)]
Flatten and compress in-memory debug info (saves ~70%).

6 years agoMove debugging/introspection functionality to lj_debug.c.
Mike Pall [Tue, 7 Jun 2011 19:37:24 +0000 (21:37 +0200)]
Move debugging/introspection functionality to lj_debug.c.

6 years agoFix compiler warning.
Mike Pall [Tue, 7 Jun 2011 19:28:31 +0000 (21:28 +0200)]
Fix compiler warning.

6 years agoFFI: Print NULL pointers as "cdata<... *>: NULL".
Mike Pall [Tue, 7 Jun 2011 19:10:04 +0000 (21:10 +0200)]
FFI: Print NULL pointers as "cdata<... *>: NULL".

6 years agoFFI: Show address pointed to for tostring(pointer).
Mike Pall [Tue, 7 Jun 2011 18:57:32 +0000 (20:57 +0200)]
FFI: Show address pointed to for tostring(pointer).

6 years agoMinor change to bytecode penalty code for consistency.
Mike Pall [Tue, 7 Jun 2011 18:21:03 +0000 (20:21 +0200)]
Minor change to bytecode penalty code for consistency.

6 years agoFix data-flow analysis for BC_UCLO.
Mike Pall [Tue, 7 Jun 2011 09:51:04 +0000 (11:51 +0200)]
Fix data-flow analysis for BC_UCLO.

6 years agoFFI: Change tonumber(cdata) semantics. Return nil for non-numbers.
Mike Pall [Mon, 6 Jun 2011 17:56:55 +0000 (19:56 +0200)]
FFI: Change tonumber(cdata) semantics. Return nil for non-numbers.

6 years agoARM: Add fast assembler implementation of floor/ceil/trunc.
Mike Pall [Sun, 5 Jun 2011 21:37:29 +0000 (23:37 +0200)]
ARM: Add fast assembler implementation of floor/ceil/trunc.

6 years agoPPC: Add lj_vm_floor which is callable from C.
Mike Pall [Sun, 5 Jun 2011 21:35:43 +0000 (23:35 +0200)]
PPC: Add lj_vm_floor which is callable from C.

6 years agoARM: Fuse XLOAD/XSTORE operands.
Mike Pall [Sun, 5 Jun 2011 16:59:35 +0000 (18:59 +0200)]
ARM: Fuse XLOAD/XSTORE operands.

6 years agoAdd stdint.h replacement for Symbian. Sigh.
Mike Pall [Fri, 3 Jun 2011 18:21:10 +0000 (20:21 +0200)]
Add stdint.h replacement for Symbian. Sigh.

6 years agoAdd narrowing of modulo operator.
Mike Pall [Fri, 3 Jun 2011 16:48:02 +0000 (18:48 +0200)]
Add narrowing of modulo operator.

6 years agoMove math helpers to lj_vmmath.c. Add missing log2/exp2 for Symbian.
Mike Pall [Fri, 3 Jun 2011 15:12:46 +0000 (17:12 +0200)]
Move math helpers to lj_vmmath.c. Add missing log2/exp2 for Symbian.

6 years agoARM: Disable C++ exception catching on Symbian.
Mike Pall [Fri, 3 Jun 2011 10:23:43 +0000 (12:23 +0200)]
ARM: Disable C++ exception catching on Symbian.

6 years agoARM: Enable JIT compiler (except for iOS).
Mike Pall [Thu, 2 Jun 2011 01:19:23 +0000 (03:19 +0200)]
ARM: Enable JIT compiler (except for iOS).

6 years agoARM: Add ARM-specific assembler backend.
Mike Pall [Thu, 2 Jun 2011 01:18:26 +0000 (03:18 +0200)]
ARM: Add ARM-specific assembler backend.

6 years agoARM: Don't generate unaligned XLOADs.
Mike Pall [Wed, 1 Jun 2011 23:46:23 +0000 (01:46 +0200)]
ARM: Don't generate unaligned XLOADs.

6 years agoMany soft-float-related fixes to SPLIT pass and assembler backend.
Mike Pall [Wed, 1 Jun 2011 23:24:36 +0000 (01:24 +0200)]
Many soft-float-related fixes to SPLIT pass and assembler backend.

6 years agoARM: Catch C++ exceptions in interpreter frames.
Mike Pall [Wed, 1 Jun 2011 23:21:32 +0000 (01:21 +0200)]
ARM: Catch C++ exceptions in interpreter frames.

6 years agoDUALNUM: Fix missing type check for loop index slot.
Mike Pall [Tue, 31 May 2011 22:49:29 +0000 (00:49 +0200)]
DUALNUM: Fix missing type check for loop index slot.

6 years agoARM: Tune rematerialization scheduler.
Mike Pall [Tue, 31 May 2011 19:50:14 +0000 (21:50 +0200)]
ARM: Tune rematerialization scheduler.

6 years agoFFI: Fix recording of casts from 32 bit pointers to integers.
Mike Pall [Tue, 31 May 2011 19:39:37 +0000 (21:39 +0200)]
FFI: Fix recording of casts from 32 bit pointers to integers.

6 years agox86/x64: Minor cleanup in assembler backend.
Mike Pall [Tue, 31 May 2011 19:39:09 +0000 (21:39 +0200)]
x86/x64: Minor cleanup in assembler backend.

6 years agoARM: Optimize hash algorithm for 3-operand CPUs.
Mike Pall [Tue, 31 May 2011 19:38:16 +0000 (21:38 +0200)]
ARM: Optimize hash algorithm for 3-operand CPUs.

6 years agoARM: Fix __newindex metamethod handling for BC_TSETB.
Mike Pall [Tue, 31 May 2011 19:35:55 +0000 (21:35 +0200)]
ARM: Fix __newindex metamethod handling for BC_TSETB.

6 years agoARM: Fix string.sub() argument checks.
Mike Pall [Tue, 31 May 2011 19:34:08 +0000 (21:34 +0200)]
ARM: Fix string.sub() argument checks.

6 years agoClean up memory allocator initialization and catch early OOM.
Mike Pall [Sun, 29 May 2011 23:32:50 +0000 (01:32 +0200)]
Clean up memory allocator initialization and catch early OOM.

6 years agoFFI: Avoid unused functions if FFI is disabled.
Mike Pall [Fri, 27 May 2011 00:15:55 +0000 (02:15 +0200)]
FFI: Avoid unused functions if FFI is disabled.

6 years agoARM: Interpreter/JIT integration, part #2.
Mike Pall [Fri, 27 May 2011 00:05:37 +0000 (02:05 +0200)]
ARM: Interpreter/JIT integration, part #2.

6 years agoARM: Fix math.ldexp() recording and folding.
Mike Pall [Fri, 27 May 2011 00:03:02 +0000 (02:03 +0200)]
ARM: Fix math.ldexp() recording and folding.

6 years agoFix compiler warning.
Mike Pall [Fri, 27 May 2011 00:01:36 +0000 (02:01 +0200)]
Fix compiler warning.

6 years agoFix handling of number constants in snapshots in SPLIT pass.
Mike Pall [Thu, 26 May 2011 23:56:25 +0000 (01:56 +0200)]
Fix handling of number constants in snapshots in SPLIT pass.

6 years agoARM: Fix rematerialization scheduler.
Mike Pall [Thu, 26 May 2011 16:05:19 +0000 (18:05 +0200)]
ARM: Fix rematerialization scheduler.

6 years agoARM: Flush instruction cache in assembler backend.
Mike Pall [Thu, 26 May 2011 16:04:01 +0000 (18:04 +0200)]
ARM: Flush instruction cache in assembler backend.

6 years agoTreat extra exit from stack check like a parent exit.
Mike Pall [Thu, 26 May 2011 16:02:42 +0000 (18:02 +0200)]
Treat extra exit from stack check like a parent exit.

6 years agoSimplify helper routines for soft-float targets. Add POW rejoin.
Mike Pall [Thu, 26 May 2011 16:01:55 +0000 (18:01 +0200)]
Simplify helper routines for soft-float targets. Add POW rejoin.

6 years agoARM: Add CPU detection.
Mike Pall [Thu, 26 May 2011 15:58:29 +0000 (17:58 +0200)]
ARM: Add CPU detection.

6 years agoARM: Unify rotates to simplify assembler backend.
Mike Pall [Mon, 23 May 2011 18:20:34 +0000 (20:20 +0200)]
ARM: Unify rotates to simplify assembler backend.

6 years agoFFI: Fix __gc for VLA/VLS cdata objects.
Mike Pall [Mon, 23 May 2011 00:43:36 +0000 (02:43 +0200)]
FFI: Fix __gc for VLA/VLS cdata objects.

6 years agoGet register maps for jit.dump from target disassembler.
Mike Pall [Sun, 22 May 2011 16:33:33 +0000 (18:33 +0200)]
Get register maps for jit.dump from target disassembler.

6 years agoARM: Add ARM disassembler.
Mike Pall [Sun, 22 May 2011 16:09:08 +0000 (18:09 +0200)]
ARM: Add ARM disassembler.

6 years agoARM: Add ARM-specific tuning to generic assembler backend.
Mike Pall [Sun, 22 May 2011 15:54:28 +0000 (17:54 +0200)]
ARM: Add ARM-specific tuning to generic assembler backend.

6 years agoARM: Add rematerialization scheduler for constants to backend.
Mike Pall [Sun, 22 May 2011 15:50:36 +0000 (17:50 +0200)]
ARM: Add rematerialization scheduler for constants to backend.

6 years agoSplit up FP IR instructions with SPLIT pass for soft-float targets.
Mike Pall [Sun, 22 May 2011 15:41:59 +0000 (17:41 +0200)]
Split up FP IR instructions with SPLIT pass for soft-float targets.

6 years agoMore portability cleanups for assembler backend.
Mike Pall [Sun, 22 May 2011 15:01:06 +0000 (17:01 +0200)]
More portability cleanups for assembler backend.

6 years agoAdd missing guard to for loop argument conversion.
Mike Pall [Sun, 22 May 2011 14:47:55 +0000 (16:47 +0200)]
Add missing guard to for loop argument conversion.

6 years agoMove IR_CALL* definitions to lj_ircall.h.
Mike Pall [Sun, 22 May 2011 14:19:53 +0000 (16:19 +0200)]
Move IR_CALL* definitions to lj_ircall.h.

6 years agoPortability cleanups for assembler backend.
Mike Pall [Tue, 17 May 2011 19:26:00 +0000 (21:26 +0200)]
Portability cleanups for assembler backend.

6 years agoClarify docs wrt. table initializer handling for VLA/VLS.
Mike Pall [Tue, 17 May 2011 15:58:26 +0000 (17:58 +0200)]
Clarify docs wrt. table initializer handling for VLA/VLS.

6 years agoCleanup of target dependencies.
Mike Pall [Mon, 16 May 2011 17:31:07 +0000 (19:31 +0200)]
Cleanup of target dependencies.

6 years agoAdd target-specific macro for stack alignment in assembler backend.
Mike Pall [Mon, 16 May 2011 00:43:14 +0000 (02:43 +0200)]
Add target-specific macro for stack alignment in assembler backend.

6 years agoFix compiler warning.
Mike Pall [Mon, 16 May 2011 00:41:47 +0000 (02:41 +0200)]
Fix compiler warning.

6 years agoARM: Add support for GDB JIT API.
Mike Pall [Mon, 16 May 2011 00:40:59 +0000 (02:40 +0200)]
ARM: Add support for GDB JIT API.

6 years agoARM: Remove redundant parse_gpr() in DynASM.
Mike Pall [Mon, 16 May 2011 00:39:26 +0000 (02:39 +0200)]
ARM: Remove redundant parse_gpr() in DynASM.

6 years agoARM: Add LJ_SOFTFP define. Add support for soft-float slot handling.
Mike Pall [Mon, 16 May 2011 00:38:07 +0000 (02:38 +0200)]
ARM: Add LJ_SOFTFP define. Add support for soft-float slot handling.

6 years agoARM: Generalize machine code co-location. ARM has a +-32MB range.
Mike Pall [Mon, 16 May 2011 00:29:44 +0000 (02:29 +0200)]
ARM: Generalize machine code co-location. ARM has a +-32MB range.

6 years agoMove x86/x64 parts of JIT assembler backend to extra files.
Mike Pall [Wed, 11 May 2011 23:35:09 +0000 (01:35 +0200)]
Move x86/x64 parts of JIT assembler backend to extra files.

6 years agoDisentangle target-specific parts of JIT assembler backend.
Mike Pall [Wed, 11 May 2011 23:27:20 +0000 (01:27 +0200)]
Disentangle target-specific parts of JIT assembler backend.

6 years agoTuning loop unrolling heuristics again.
Mike Pall [Tue, 10 May 2011 14:55:23 +0000 (16:55 +0200)]
Tuning loop unrolling heuristics again.

6 years agoARM: Fix table/userdata equality comparisons in interpreter.
Mike Pall [Mon, 9 May 2011 20:41:12 +0000 (22:41 +0200)]
ARM: Fix table/userdata equality comparisons in interpreter.

6 years agoARM: Interpreter/JIT integration, part #1.
Mike Pall [Mon, 9 May 2011 20:39:53 +0000 (22:39 +0200)]
ARM: Interpreter/JIT integration, part #1.

6 years agoFix some portability issues with the JIT compiler.
Mike Pall [Mon, 9 May 2011 16:16:39 +0000 (18:16 +0200)]
Fix some portability issues with the JIT compiler.

6 years agoUse common helper functions for unaligned loads.
Mike Pall [Mon, 9 May 2011 16:09:29 +0000 (18:09 +0200)]
Use common helper functions for unaligned loads.

6 years agoFFI: Allow setting errno with ffi.errno(), too.
Mike Pall [Mon, 9 May 2011 09:51:19 +0000 (11:51 +0200)]
FFI: Allow setting errno with ffi.errno(), too.

6 years agoFFI: Add ffi.errno().
Mike Pall [Sun, 8 May 2011 20:34:40 +0000 (22:34 +0200)]
FFI: Add ffi.errno().

6 years agoFFI: Save errno/GetLastError() around allocations, hooks etc.
Mike Pall [Sun, 8 May 2011 20:33:04 +0000 (22:33 +0200)]
FFI: Save errno/GetLastError() around allocations, hooks etc.

6 years agoAvoid name clash with Windows MM_MAX define.
Mike Pall [Sun, 8 May 2011 20:31:03 +0000 (22:31 +0200)]
Avoid name clash with Windows MM_MAX define.

6 years agox86/x64: Fix bit.* argument checking.
Mike Pall [Fri, 6 May 2011 14:06:02 +0000 (16:06 +0200)]
x86/x64: Fix bit.* argument checking.

6 years agoRELEASE LuaJIT-2.0.0-beta7 v2.0.0-beta7
Mike Pall [Thu, 5 May 2011 14:17:57 +0000 (16:17 +0200)]
RELEASE LuaJIT-2.0.0-beta7

6 years agoUpdate changelog.
Mike Pall [Thu, 5 May 2011 13:53:36 +0000 (15:53 +0200)]
Update changelog.

6 years agoImprove bytecode optimization of and/or operators.
Mike Pall [Thu, 5 May 2011 13:49:11 +0000 (15:49 +0200)]
Improve bytecode optimization of and/or operators.

6 years agoMisc. updates to docs.
Mike Pall [Wed, 4 May 2011 23:15:22 +0000 (01:15 +0200)]
Misc. updates to docs.

6 years agoFix compiler warning.
Mike Pall [Wed, 4 May 2011 21:45:02 +0000 (23:45 +0200)]
Fix compiler warning.