Commit Graph

313 Commits

Author SHA1 Message Date
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