Commit Graph

312 Commits

Author SHA1 Message Date
Mike Pall
9695c5ab46 Merge branch 'master' into v2.1 2014-02-26 15:57:13 +01:00
Mike Pall
6a47e123a4 Add PS4 port.
Thanks to Eddie Edwards.
2014-02-26 15:56:07 +01:00
Mike Pall
a9d4543601 Merge branch 'master' into v2.1 2014-01-16 23:18:34 +01:00
Mike Pall
ef59e54820 Bump copyright date to 2014. 2014-01-16 23:10:16 +01:00
Mike Pall
4593fb5e29 Add table.clear(). 2013-11-25 15:19:17 +01:00
Mike Pall
9f77a31e89 Merge branch 'master' into v2.1 2013-11-16 18:28:34 +01:00
Mike Pall
db64b2b1ed FFI: Clarify ffi.cdef behavior. 2013-11-16 18:28:21 +01:00
Mike Pall
c8cfca0557 Add table.new(). 2013-10-09 17:02:01 +02:00
Mike Pall
31e7cd1c76 Low-overhead profiler, part 6: documentation. 2013-09-10 00:06:17 +02:00
Mike Pall
146807b7e8 Merge branch 'master' into v2.1 2013-07-09 17:30:36 +02:00
Mike Pall
519ef0cba7 Add support for multilib distro builds. 2013-07-09 17:30:02 +02:00
Mike Pall
1fa97bef1f Merge branch 'master' into v2.1 2013-06-03 21:21:45 +02:00
Mike Pall
21af151af2 RELEASE LuaJIT-2.0.2 2013-06-03 21:16:17 +02:00
Mike Pall
742ba5c12c Update changelog. 2013-06-03 20:21:25 +02:00
Mike Pall
f1f7e40318 FFI: Compile VLA/VLS and large cdata allocs with default initialization. 2013-05-24 00:49:02 +02:00
Mike Pall
e92e29dd4e Merge branch 'master' into v2.1 2013-04-09 16:35:02 +02:00
Mike Pall
b1327bcf89 Document support for Lua 5.2 extension of loadfile(). 2013-04-09 16:33:47 +02:00
Mike Pall
a98aede377 FFI: Add 64 bit bitwise operations. 2013-03-14 06:03:18 +01:00
Mike Pall
92699e9ea9 RELEASE LuaJIT-2.0.1 2013-02-19 18:05:39 +01:00
Mike Pall
e822bdb688 Update changelog. 2013-02-19 17:44:57 +01:00
Mike Pall
c7f0b6bca0 Fix capitalization of 'Xbox'. 2013-02-13 11:57:04 +01:00
Mike Pall
4a44c4ff69 Bump copyright date to 2013. 2013-02-11 12:54:48 +01:00
Mike Pall
89e4650bae Add XBox 360 port.
Thanks to Eddie Edwards.
2013-01-21 16:43:49 +01:00
Mike Pall
16f23458bc FFI: Change priority of table initializer variants for structs. 2012-11-15 00:26:34 +01:00
Mike Pall
caed566e2b Mention -Osink in docs. 2012-11-13 19:24:05 +01:00
Mike Pall
87d74a8f3d RELEASE LuaJIT-2.0.0-rc3 2012-11-08 11:05:06 +01:00
Mike Pall
74feb2534c FFI: Clarify callback docs. 2012-11-07 23:20:50 +01:00
Mike Pall
2156925b9b Improve iOS install docs. 2012-11-07 23:00:34 +01:00
Mike Pall
07406a5af9 FFI: Mention __thiscall attribute in docs. 2012-11-07 18:09:37 +01:00
Mike Pall
e941caafcf RELEASE LuaJIT-2.0.0-rc2 2012-11-06 17:24:54 +01:00
Mike Pall
4b9441c0a9 Update docs for release candidate. 2012-10-31 18:14:49 +01:00
Mike Pall
1f372e13c2 Update changelog. 2012-10-31 18:11:56 +01:00
Mike Pall
4e7fe815ed Document tonumber() enhancements. 2012-10-28 14:20:14 +01:00
Mike Pall
1fef908a0f Release planning update. 2012-10-24 13:09:06 +02:00
Mike Pall
1d5c2ce4e2 Replace error with PANIC for callbacks from JIT-compiled code. 2012-10-21 19:17:14 +02:00
Mike Pall
f1fe96e7ef Extended Android build instructions. 2012-10-17 14:23:29 +02:00
Mike Pall
4baa01be78 RELEASE LuaJIT-2.0.0-beta11 2012-10-16 20:13:01 +02:00
Mike Pall
a0f83f6b96 Update changelog. 2012-10-16 19:44:48 +02:00
Mike Pall
6d36234856 Update Android install docs. 2012-10-15 01:09:56 +02:00
Mike Pall
d70d77549b Documentation cleanup and reorganization. 2012-10-14 21:48:04 +02:00
Mike Pall
a0ee70de6d Documentation layout changes. 2012-10-14 00:47:26 +02:00
Mike Pall
425f67c7d6 FFI: Update docs on FFI semantics. 2012-10-10 19:57:00 +02:00
Mike Pall
4a97faef7e FFI: Compile array/struct copies. 2012-10-09 21:51:30 +02:00
Mike Pall
da682b0e91 FFI: Add support for copy constructors. 2012-10-08 17:15:28 +02:00
Mike Pall
0648fd47cb FFI: Handle __pairs/__ipairs metamethods for cdata objects. 2012-09-03 21:11:08 +02:00
Mike Pall
c7826af5a0 FFI: Detect type punning through unions. 2012-08-27 20:53:37 +02:00
Mike Pall
1878d17f19 Update cross-compilation docs. 2012-08-09 13:16:35 +02:00
Mike Pall
4d9c29a78c FFI: Box all accessed or returned enums. 2012-07-17 22:22:07 +02:00
Mike Pall
bd782cedd5 Bump some limits to accomodate SINK pass. 2012-07-04 21:15:15 +02:00
Mike Pall
8b71ab1080 FFI: Check for __new metamethod when calling a constructor. 2012-06-20 18:28:25 +02:00
Mike Pall
6cee1333ef FFI: Resolve metamethods for constructors, too. 2012-06-20 15:16:40 +02:00
Mike Pall
cccf763898 Move lib/* to src/jit/*. 2012-06-08 21:14:33 +02:00
Mike Pall
1543b2a7ca Link to LuaJIT Roadmap 2012/2013. 2012-06-07 23:45:32 +02:00
Mike Pall
5bd133d6c8 Link to LuaJIT wiki. 2012-05-31 23:54:44 +02:00
Mike Pall
fa2572da6c FFI: Convert io.* file handle to FILE * pointer (but as a void *). 2012-05-29 12:09:18 +02:00
Mike Pall
3a43ea5084 FFI: Equality comparisons never raise an error. 2012-05-23 22:20:27 +02:00
Mike Pall
51f05d64c9 RELEASE LuaJIT-2.0.0-beta10 2012-05-09 18:11:35 +02:00
Mike Pall
649600ba66 Update changelog. 2012-05-09 17:46:58 +02:00
Mike Pall
5cb4ad2b22 Fix typo. 2012-05-09 17:22:11 +02:00
Mike Pall
b466641218 Add links to LuaJIT mailing list. 2012-05-04 21:58:52 +02:00
Mike Pall
5439631460 FFI: Clarify docs wrt. 'local ffi = ...' and the interactive prompt. 2012-04-19 15:19:41 +02:00
Mike Pall
633b248109 Update changelog. 2012-04-19 15:19:25 +02:00
Mike Pall
c3e1d727ca MIPS: Update docs. 2012-04-02 20:31:50 +02:00
Mike Pall
67773165e8 Fix OSX build issues. Bump minimum required OSX version to 10.4
Only set MACOSX_DEPLOYMENT_TARGET to 10.4 if not set.
Always force -fno-stack-protector.
2012-03-28 10:19:23 +02:00
Mike Pall
10ef109eef Bump copyright date to 2012. 2012-01-23 22:42:42 +01:00
Mike Pall
20813bcee0 MIPS: Update install docs. 2012-01-23 22:30:25 +01:00
Mike Pall
b61be299c9 Auto-detect target arch via cross-compiler. Drop TARGET=arch. 2011-12-15 19:16:06 +01:00
Mike Pall
6ace80c897 RELEASE LuaJIT-2.0.0-beta9 2011-12-14 15:12:49 +01:00
Mike Pall
a302468345 Update changelog. 2011-12-14 14:27:54 +01:00
Mike Pall
d1569a5d68 Fix docs. The code base doesn't work on Windows 98 anymore. 2011-11-27 12:35:35 +01:00
Mike Pall
e3c7476533 FFI: Record ffi.errno(). 2011-11-26 16:56:09 +01:00
Mike Pall
cecbe3c15f Specialize to prototype for non-monomorphic functions.
Solves the trace-explosion problem with closure-heavy programming.
2011-11-20 19:16:40 +01:00
Mike Pall
e549ffcbeb FFI: Fix EnumWindows example in docs. 2011-11-15 16:45:36 +01:00
Mike Pall
71d00a56db FFI: Add callback support (for x86/x64). 2011-11-14 14:18:25 +01:00
Mike Pall
e9eb4fdb4a PPC: Clarify docs. 2011-11-14 14:13:53 +01:00
Mike Pall
635371c212 FFI: Add unwind definitions for lj_vm_ffi_call.
Adds exception interoperability for C/C++ functions called via FFI
from the interpreter.
2011-11-12 01:16:10 +01:00
Mike Pall
0123e4fc89 FFI: Extend metamethod tutorial. 2011-11-11 20:41:44 +01:00
Mike Pall
2dc574d06b FFI: Compile calls to stdcall, fastcall and vararg functions. 2011-10-27 01:57:30 +02:00
Mike Pall
120c3adbff FFI: Record loads/stores to external variables in namespaces. 2011-10-11 20:58:04 +02:00
Mike Pall
c3116b4f1d Fix typo. 2011-09-14 15:29:30 +02:00
Mike Pall
a9dd47b7fc Extend -b to generate c/h/obj/o files with embedded bytecode.
Supported object file formats: ELF or PE/COFF object files.
2011-08-17 00:13:39 +02:00
Mike Pall
b500b50edc Clarify name of MIT license. 2011-08-14 21:18:58 +02:00
Mike Pall
9c58bd6689 PPC: Update install docs. 2011-07-13 22:06:44 +02:00
Mike Pall
fe6ded9018 Fix doc link. 2011-07-07 08:55:44 +02:00
Mike Pall
e613cb7695 FFI: Clarify docs wrt. string initializers for byte arrays. 2011-06-24 20:47:56 +02:00
Mike Pall
f50c962e94 Fix documentation for -b command line option. 2011-06-23 19:09:56 +02:00
Mike Pall
9b0c641ac1 RELEASE LuaJIT-2.0.0-beta8 2011-06-23 17:15:02 +02:00
Mike Pall
2513ddc84c Update changelog. 2011-06-23 17:11:13 +02:00
Mike Pall
f182559069 Misc. updates to docs. 2011-06-23 16:17:13 +02:00
Mike Pall
ecab831ebf Add more docs for bytecode load/save feature. 2011-06-14 01:58:19 +02:00
Mike Pall
0eee70cd4d Add -b command line option to save/list bytecode. 2011-06-13 01:04:23 +02:00
Mike Pall
4994fcc32c Add support for bytecode loading/saving. 2011-06-13 01:04:11 +02:00
Mike Pall
3168d9aa59 Clarify docs wrt. table initializer handling for VLA/VLS. 2011-05-17 17:58:26 +02:00
Mike Pall
d9c1f771a7 FFI: Allow setting errno with ffi.errno(), too. 2011-05-09 11:52:54 +02:00
Mike Pall
868ecad32b FFI: Add ffi.errno(). 2011-05-08 22:34:40 +02:00
Mike Pall
cfdc356ebe RELEASE LuaJIT-2.0.0-beta7 2011-05-05 16:31:13 +02:00
Mike Pall
998061f530 Update changelog. 2011-05-05 15:53:36 +02:00
Mike Pall
b760add618 Misc. updates to docs. 2011-05-05 01:15:22 +02:00
Mike Pall
139175f8c4 Tune loop unrolling heuristics. Increase trace recorder limits. 2011-05-03 21:14:18 +02:00
Mike Pall
c77ca54564 FFI: Compile C function calls with 64 bit args/results in 32 bit mode. 2011-04-29 19:40:50 +02:00
Mike Pall
0ba34ffe50 ARM: Fix ABI and build issues for iOS. Now works on iOS 3.0+. 2011-04-28 19:41:34 +02:00
Mike Pall
0b606061db ARM: Use own lj_bswap(). Reduce min. req. version of GCC to 4.2. 2011-04-28 12:33:31 +02:00
Mike Pall
5d096dcfde FFI: Add ffi.istype() function. 2011-04-20 01:53:26 +02:00
Mike Pall
ca18293ebc Add remark about target OS to cross-compilation instructions. 2011-04-18 17:20:59 +02:00
Mike Pall
b53ca064d4 ARM: Add install docs. 2011-04-17 12:48:28 +02:00
Mike Pall
3b6f37dd2c FFI: Add ctype metamethods and ffi.metatype(). 2011-04-12 19:16:39 +02:00
Mike Pall
734e96fa05 Remove links to shootout. 2011-04-05 21:23:44 +02:00
Mike Pall
83a37aeca7 FFI: Add ffi.gc() function for finalization of cdata objects. 2011-02-28 16:48:13 +01:00
Mike Pall
3e2a7a2d7f FFI: Fix docs about C bool -> Lua boolean conversion.
Thanks to M. Kottman.
2011-02-18 20:35:44 +01:00
Mike Pall
97d84111fd RELEASE LuaJIT-2.0.0-beta6 2011-02-11 16:28:37 +01:00
Mike Pall
a8114d5017 Update changelog. 2011-02-11 15:52:31 +01:00
Mike Pall
1f0006ac71 Cleanup of docs. 2011-02-11 14:51:20 +01:00
Mike Pall
a5aade2fa9 FFI: Finish FFI docs. 2011-02-11 01:21:46 +01:00
Mike Pall
a2f9f1f831 FFI: Finish docs on FFI semantics. Phew. 2011-02-10 03:12:09 +01:00
Mike Pall
a7ab6b2dc9 Fix various HTML errors in the docs. 2011-02-10 03:10:38 +01:00
Mike Pall
24c314e8fc FFI: Add more docs on FFI semantics. 2011-02-09 01:26:02 +01:00
Mike Pall
2388a7fcc0 FFI: Document current FFI implementation status. 2011-02-08 01:20:53 +01:00
Mike Pall
7a37b93f1b FFI: Record ffi.copy() and ffi.fill(). 2011-02-07 23:49:27 +01:00
Mike Pall
72b3fff72f FFI: Simplify initializer rules. Clarify docs. 2011-01-23 14:23:21 +01:00
Mike Pall
f529d22869 Another fix for the trace flush logic. I'll get this right someday.
Thanks to David Manura.
2011-01-22 20:32:23 +01:00
Mike Pall
e985aeda84 FFI: Add preliminary FFI documentation (still incomplete). 2011-01-20 22:14:17 +01:00
Mike Pall
06f99fc3df Bump copyright date to 2011. 2011-01-09 17:12:53 +01:00
Mike Pall
8679ca5792 POSIX is an acronym. 2010-12-04 20:47:51 +01:00
Mike Pall
751ff5b392 Add jit.os string. 2010-11-16 15:05:21 +01:00
Mike Pall
b45e3246ce Split up extension/API docs into sub-pages. 2010-11-09 18:11:35 +01:00
Mike Pall
7e5cb31e0b Fix anchors in API docs. 2010-11-01 17:49:31 +01:00
Mike Pall
5dcf630c54 Reorganize compatibility table in install docs. 2010-10-11 16:26:48 +02:00
Mike Pall
89fdee9cab Fix external link in docs. 2010-10-11 15:29:12 +02:00
Mike Pall
ddae887878 Update docs for PPC port. Clarify and extend install instructions. 2010-10-05 01:36:54 +02:00
Mike Pall
9cb5046c3f 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
2010-08-27 18:32:24 +02:00
Mike Pall
d668373654 RELEASE LuaJIT-2.0.0-beta5 2010-08-24 15:10:40 +02:00
Mike Pall
d9cdefee0a Update changelog. 2010-08-23 20:53:55 +02:00
Mike Pall
721b73fecb Turn traces into true GC objects (GCtrace). 2010-04-25 03:32:29 +02:00
Mike Pall
23189fa40d RELEASE LuaJIT-2.0.0-beta4 2010-03-28 19:26:33 +02:00
Mike Pall
3a8b9bad2e Update changelog. 2010-03-28 18:31:36 +02:00
Mike Pall
8e20b030ac Add links to interactive performance comparison to offline docs. 2010-03-19 21:01:14 +01:00
Mike Pall
1fea5cb822 Fix TSETM on x64/SSE builds when table is resized. 2010-03-15 19:00:16 +01:00
Mike Pall
e57390f734 Update changelog. 2010-03-15 17:20:08 +01:00
Mike Pall
c4727220e8 Add array bounds check elimination (-Oabc, on by default). 2010-03-15 17:02:53 +01:00
Mike Pall
d87cb5b526 Add WinSDK v7.0 requirement for building on Windows/x64. 2010-03-09 02:45:47 +01:00
Mike Pall
09e875519b RELEASE LuaJIT-2.0.0-beta3 2010-03-07 19:30:21 +01:00
Mike Pall
9fd1c6c586 Add OS/CPU/CC compatibility matrix to docs. Fix spelling. 2010-03-07 17:12:21 +01:00
Mike Pall
f8f6d0299b Document jit.status(). 2010-03-04 20:46:07 +01:00
Mike Pall
af92a14313 Update docs: native build default, cross-compilation, embedding. 2010-03-04 19:07:38 +01:00
Mike Pall
eed5585c51 Add support for recursion to changelog. 2010-03-02 05:55:23 +01:00
Mike Pall
5d0b65519c Enable tracing of recursion.
Now compiles tail-recursion, up-recursion and down-recursion.
Benchmarks vs. Lua: fib 20x, ack 23x, binary-trees 4.7x.
2010-03-01 06:54:35 +01:00
Mike Pall
2e22d33d9d Enable JIT compiler for x64.
Only works on Linux/x64 and Windows/x64 right now.
Force an x64 build on Linux/x64 with: make CC="gcc -m64"
NYI: handle on-trace OOM errors.
NYI: improve register allocation for x64.
2010-02-28 21:51:01 +01:00
Mike Pall
8ae2f9feaa Randomize penalties for aborts and add blacklisting. 2010-02-23 19:41:32 +01:00
Mike Pall
4a7ee2cb66 Update docs and changelog. 2010-02-17 00:47:55 +01:00
Mike Pall
8060f5b531 Just disable JIT compiler for non-SSE2 CPUs instead of aborting. 2010-02-16 23:39:24 +01:00
Mike Pall
2a2f8ed6a1 Implement return hooks for Lua functions (zero-cost if disabled). 2010-02-14 20:48:33 +01:00
Mike Pall
8e38231f9e Implement call hooks (zero-cost if disabled). 2010-02-14 17:47:03 +01:00
Mike Pall
c93138b59e Major redesign of function call handling.
Drop call gates. Use function headers, dispatched like bytecodes.
Emit BC_FUNCF/BC_FUNCV bytecode at PC 0 for all Lua functions.
C functions and ASM fast functions get extra bytecodes.
Modify internal calling convention: new base in BASE (formerly in RA).
Can now use better C function wrapper semantics (dynamic on/off).
Prerequisite for call hooks with zero-overhead if disabled.
Prerequisite for compiling recursive calls.
Prerequisite for efficient 32/64 bit prototype guards.
2010-02-13 04:51:56 +01:00
Mike Pall
d62dcd4a72 Update docs about exception handling. 2010-01-20 12:24:56 +01:00
Mike Pall
379b8c5fe4 Update docs with x64 build instructions. 2010-01-17 22:02:13 +01:00
Mike Pall
82417ee889 Add build infrastructure for x64 interpreter.
Must be explicitly enabled with: make clean && make "CC=gcc -m64"
Only works on Linux/x64. Does not work on WIN64 or OSX/x64 (yet).
2010-01-14 12:28:16 +01:00
Mike Pall
4d9be5b8f8 Bump all copyright dates to 2010. 2010-01-09 14:28:11 +01:00
Mike Pall
9de0f53a8d Implement yield from C hooks.
Get number of multiple results from C frame.
Add lj_cont_hook: restores multres and dispatch to static ins.
Can use fastcall for lj_dispatch_ins() now.
2009-12-30 02:37:57 +01:00
Mike Pall
4523c46d10 Fix text about x64 port in status page. 2009-12-09 12:27:37 +01:00
Mike Pall
3f1f9e11f4 Fast forward to sync public repo.
Compile math.sinh(), math.cosh(), math.tanh() and math.random().
Compile various io.*() functions.
Drive the GC forward on string allocations in the parser.
Improve KNUM fuse vs. load heuristics.
Add abstract C call handling to IR.
2009-12-08 20:35:29 +01:00
Mike Pall
1d1fed48a0 RELEASE LuaJIT-2.0.0-beta2 2009-12-08 19:49:20 +01:00
Mike Pall
55b1695971 RELEASE LuaJIT-2.0.0-beta1 2009-12-08 19:46:35 +01:00