Commit Graph

1814 Commits

Author SHA1 Message Date
Mike Pall
a6936be814 Fix compiler warning. 2013-08-22 19:29:09 +02:00
Mike Pall
fd1a8ddb3c Fix argument checks for math.deg()/math.rad(). 2013-08-17 00:50:53 +02:00
Mike Pall
9b14426c09 Merge branch 'master' into v2.1 2013-08-11 13:52:05 +02:00
Mike Pall
362260b24a Fix jit.flush(func|true). 2013-08-11 13:47:35 +02:00
Mike Pall
f5fba48386 Merge branch 'master' into v2.1 2013-08-03 14:24:14 +02:00
Mike Pall
99d588b06a Compatibility fix for old GCC versions. 2013-08-03 14:15:17 +02:00
Mike Pall
92a3cf469c Merge branch 'master' into v2.1 2013-07-31 01:49:58 +02:00
Mike Pall
6a878b0441 ARM: Fix register allocation when rematerializing FPRs. 2013-07-31 01:48:21 +02:00
Mike Pall
96d54789ee Merge branch 'master' into v2.1 2013-07-24 23:50:58 +02:00
Mike Pall
6dc02450d3 FFI: Properly unload loaded DLLs. 2013-07-24 23:49:19 +02:00
Mike Pall
1ddf5689b5 Fix compiler warning. 2013-07-18 00:39:23 +02:00
Mike Pall
dd44018d66 Merge branch 'master' into v2.1 2013-07-17 11:06:31 +02:00
Mike Pall
9aa5d04137 Fix compilation on NetBSD/x64.
Thanks to Justin Cormack.
2013-07-17 11:04:15 +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
88188d52f7 Merge branch 'master' into v2.1 2013-06-20 16:33:34 +02:00
Mike Pall
053041a9f4 FFI: Add missing GC steps for callback argument conversions. 2013-06-20 16:32:45 +02:00
Mike Pall
edc7f35ab3 Merge branch 'master' into v2.1 2013-06-18 20:10:22 +02:00
Mike Pall
9211a66e0e Improve ULOAD forwarding for open upvalues. 2013-06-18 20:08:55 +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
e92d64a841 Merge branch 'master' into v2.1 2013-06-03 17:32:09 +02:00
Mike Pall
338e9863c2 PPC: Add plt suffix for external calls from assembler code. 2013-06-03 17:30:35 +02:00
Mike Pall
45f3ee8794 Merge branch 'master' into v2.1 2013-05-29 23:12:09 +02:00
Mike Pall
3eeb7d3aa0 FFI: Preserve intermediate string for const char * conversion.
Otherwise the trailing NUL is lost.
2013-05-29 23:05:05 +02:00
Mike Pall
c5ebfa0c67 Refactor string buffer growth helpers. 2013-05-29 20:17:26 +02:00
Mike Pall
b6882a57da Fix -jdump broken by 2ef2c34d. 2013-05-29 19:59:26 +02:00
Mike Pall
6850d795b6 Minor change to lj_lib_pushcc(). 2013-05-29 14:54:06 +02:00
Mike Pall
26e4287e60 Merge branch 'master' into v2.1 2013-05-25 10:20:46 +02:00
Mike Pall
5a261dd92c Fix compatibility issues with Illumos.
Thanks to Theo Schlossnagle.
2013-05-25 10:18:12 +02:00
Mike Pall
992f7d4b71 FFI: Refactor ffi.gc()/__gc. Compile ffi.gc(cdata, nil), too. 2013-05-24 17:44:55 +02:00
Mike Pall
4c1f9dd0f7 Merge branch 'master' into v2.1 2013-05-24 01:32:10 +02:00
Mike Pall
d686217926 Add missing PHI barrier to string.sub(str, a, b) == kstr FOLD rule. 2013-05-24 01:28:40 +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
b3369f3c95 Merge branch 'master' into v2.1 2013-05-23 22:20:07 +02:00
Mike Pall
2c3e80d4fd FFI: Must sink XBAR together with XSTOREs. 2013-05-23 22:15:51 +02:00
Mike Pall
7ef2b55fc0 FFI: Fix unroll limit for ffi.fill(). 2013-05-23 22:17:45 +02:00
Mike Pall
55772e3ad9 Merge branch 'master' into v2.1 2013-05-23 19:58:35 +02:00
Mike Pall
890754ee27 FFI: Insert no-op type conversion for pointer to integer cast. 2013-05-23 19:55:09 +02:00
Mike Pall
38cfb6a1d9 Refactor lj_cdata_newv(). 2013-05-23 18:43:16 +02:00
Mike Pall
6f451c6445 Don't try to reinvent memcpy(). 2013-05-22 22:57:18 +02:00
Mike Pall
82390d1f4f Merge branch 'master' into v2.1 2013-05-18 14:14:06 +02:00
Mike Pall
1593e7750b FFI: Improve error messages for arithmetic and comparison operators. 2013-05-18 14:11:59 +02:00
Mike Pall
e2db3f697c Remove use of printf() in luajit.c. 2013-05-18 13:48:32 +02:00
Mike Pall
fe87736777 Get rid of module() in all internal modules. 2013-05-16 20:34:34 +02:00
Mike Pall
647cc4613f Merge branch 'master' into v2.1 2013-05-16 20:07:53 +02:00
Mike Pall
0f79d4741f Handle calls with max. args in backends even after SPLIT. 2013-05-16 19:59:38 +02:00
Mike Pall
a946f678d5 Merge branch 'master' into v2.1 2013-05-16 14:48:47 +02:00
Mike Pall
1c7650f782 FFI: Fix calling conventions for ARM hard-float EABI.
Properly classify nested (non-transparent) structs.
2013-05-16 14:47:20 +02:00
Mike Pall
2b94827e1d Merge branch 'master' into v2.1 2013-05-16 14:40:22 +02:00
Mike Pall
5dabdb2e70 FFI: Fix calling conventions for 32 bit OSX and iOS simulator.
OSX uses -freg-struct-return, which returns small structs in regs.
Thanks to Adriano Bertucci.
2013-05-16 14:35:00 +02:00
Mike Pall
1a5fd521b8 Add partial support for building with MingW64 GCC 4.8-SEH.
Error handling works, C++ interoperability generally works.
C++ destructors in libs compiled with G++ cause trouble (ok with MSVC).
2013-05-15 18:48:06 +02:00
Mike Pall
fd616caf26 Compile bit.tohex(). 2013-05-15 13:57:35 +02:00
Mike Pall
a86017784e Another fix for bit.tohex(). 2013-05-15 13:54:22 +02:00
Mike Pall
4c39e9ffc8 Compile string.format(). 2013-05-13 21:18:22 +02:00
Mike Pall
09ef8d1077 FFI: Load FFI library on-demand for -jdump. 2013-05-13 21:07:14 +02:00
Mike Pall
acda75ad2c Refactor CCallInfo representation for split arguments. 2013-05-13 19:49:46 +02:00
Mike Pall
23e47f2913 Fix bit.tohex() broken by 7d5acc29. 2013-05-13 19:48:23 +02:00
Mike Pall
2ef2c34d84 Adapt -jdump to unified string.format("%x", -1) behavior. 2013-05-13 19:39:34 +02:00
Mike Pall
2369f5d00a Abstract out default BUFHDR emitter. 2013-05-13 17:04:19 +02:00
Mike Pall
101780c69b Fix compiler warnings. 2013-05-13 12:13:11 +02:00
Mike Pall
cc1e3425b9 Merge branch 'master' into v2.1 2013-05-13 10:21:25 +02:00
Mike Pall
23aa02fb51 FFI: Ignore CTF_LONG in ffi.istype(). 2013-05-13 10:20:59 +02:00
Mike Pall
8f90a1279e Big renaming of string buffer/formatting/conversion functions. 2013-05-13 10:15:07 +02:00
Mike Pall
625ffca739 Refactor raw object to pointer or string conversions. 2013-05-13 01:23:33 +02:00
Mike Pall
19a9206caf Refactor internal string formatting. 2013-05-12 23:52:09 +02:00
Mike Pall
7d5acc2918 Refactor bit.tohex(). 2013-05-12 23:14:12 +02:00
Mike Pall
5bb1f0edac Refactor string.format(). 2013-05-12 23:13:27 +02:00
Mike Pall
bb2cc1dcaf Merge branch 'master' into v2.1 2013-05-08 11:10:46 +02:00
Mike Pall
71ce1e8706 Merge branch 'master' into v2.1 2013-05-08 11:06:45 +02:00
Mike Pall
b030788401 Fix optional argument handling in table.concat(). 2013-05-08 11:05:43 +02:00
Mike Pall
c5d7666ec8 Fix optional argument handling while recording builtins. 2013-05-08 10:46:43 +02:00
Mike Pall
87b560b3e1 Compile string.find() for fixed string searches (no patterns). 2013-05-08 10:40:22 +02:00
Mike Pall
43de451d78 Partially refactor string.find(). 2013-05-07 20:44:58 +02:00
Mike Pall
2be1c2658f Merge branch 'master' into v2.1 2013-05-02 02:07:38 +02:00
Mike Pall
5d6db413ae FFI: Fix tailcall in lowest frame to C function with bool result. 2013-05-02 02:04:41 +02:00
Mike Pall
633d91cea5 Merge branch 'master' into v2.1 2013-04-29 14:29:11 +02:00
Mike Pall
09aeca6abf Fix builtin string to number conversion for overflow digits. 2013-04-29 14:28:10 +02:00
Mike Pall
87993a601d Inhibit CSE for table.concat(). 2013-04-28 11:31:41 +02:00
Mike Pall
4ac25a9132 Compile __concat metamethod. 2013-04-28 01:51:41 +02:00
Mike Pall
8b3a320089 Fix BC_ISTYPE for WIN64 calling conventions. 2013-04-28 01:49:28 +02:00
Mike Pall
c77680824f Compile table.concat(). 2013-04-27 15:52:32 +02:00
Mike Pall
64d2883ab4 Refactor table.concat(). 2013-04-27 15:51:50 +02:00
Mike Pall
723574d08c Optimize BUFHDR code generation.
Rematerialize const buffer pointer instead of spilling.
2013-04-27 00:17:59 +02:00
Mike Pall
068783bf23 Compile string.rep(). 2013-04-26 22:55:24 +02:00
Mike Pall
9b8db403f2 Refactor string.rep(). 2013-04-26 19:57:25 +02:00
Mike Pall
a98e6a70c1 Abstract out some common buffer operations. 2013-04-26 19:20:21 +02:00
Mike Pall
f9421f2b9f Replace string.len with bytecode builtin. 2013-04-26 18:40:39 +02:00
Mike Pall
47fa9a8d8f Change semantics of buffer ops to simplify CSE and DCE. 2013-04-26 13:47:41 +02:00
Mike Pall
5fd659f859 Fix MSVC build. 2013-04-26 10:38:24 +02:00
Mike Pall
bdaf14b2c1 Merge branch 'master' into v2.1 2013-04-26 00:59:35 +02:00
Mike Pall
895a8bc91f Tighten requirements for non-default optimization flags.
FOLD is required for FWD/DSE optimizations.
2013-04-26 00:54:53 +02:00
Mike Pall
b6adfff8f4 Compile string.reverse(), string.lower(), string.upper(). 2013-04-26 00:32:08 +02:00
Mike Pall
61cb25b0ca Refactor string.reverse(), string.lower(), string.upper(). 2013-04-26 00:31:10 +02:00
Mike Pall
eeb204cd87 Fix FOLD rules for appending to string buffers. 2013-04-26 00:26:44 +02:00
Mike Pall
7c28448730 Fix os.date() broken by d38d10a3. 2013-04-24 11:24:34 +02:00
Mike Pall
39e53e8c4c Compile string.char(). 2013-04-23 12:40:07 +02:00
Mike Pall
255326afb6 Use explicit conversion type for IR_TOSTR. Add char conversion. 2013-04-23 02:20:03 +02:00
Mike Pall
557391c3b7 Fuse string creation into concats. Optimize single-char concats. 2013-04-23 00:56:03 +02:00
Mike Pall
2cdf90f068 Always emit TOSTR for non-string CAT operands. Fuse in backend. 2013-04-23 00:10:01 +02:00
Mike Pall
1ae3e5204b Fix PHI barrier in BUFPUT FOLD rule. 2013-04-22 22:37:22 +02:00
Mike Pall
a2c78810ca Combine IR instruction dispatch for all assembler backends. 2013-04-22 22:32:41 +02:00
Mike Pall
2ab5e7c5dc Merge branch 'master' into v2.1 2013-04-22 22:30:33 +02:00
Mike Pall
611ec41bca Fix compiler warning. 2013-04-22 22:27:23 +02:00
Mike Pall
2cd4ce6141 Use same HREF+EQ/NE optimization in all assembler backends. 2013-04-22 20:47:39 +02:00
Mike Pall
988e183965 Reorganize generic operations common to all assembler backends. 2013-04-22 17:34:36 +02:00
Mike Pall
5f1781a127 Compile string concatenations (BC_CAT). 2013-04-21 01:01:33 +02:00
Mike Pall
7b629b7bcf Move buffer shrinking to atomic GC phase. 2013-04-21 01:00:01 +02:00
Mike Pall
9ead735159 Add generic load/store with offset to assembler backends. 2013-04-21 00:58:32 +02:00
Mike Pall
e92e29dd4e Merge branch 'master' into v2.1 2013-04-09 16:35:02 +02:00
Mike Pall
f17b038828 Inhibit DSE for implicit loads via calls. 2013-04-09 11:50:33 +02:00
Mike Pall
48912a2dea Merge branch 'master' into v2.1 2013-04-05 20:24:24 +02:00
Mike Pall
b5bbacdc17 Fix jump-range constrained mcode allocation. 2013-04-05 20:22:41 +02:00
Mike Pall
ac14d88030 Merge branch 'master' into v2.1 2013-04-04 18:20:58 +02:00
Mike Pall
389822d606 Fix spurious red zone overflows in machine code generation. 2013-04-04 17:19:31 +02:00
Mike Pall
6ba65cefb0 FFI/x86: Fix register allocation for 64 bit comparisons. 2013-04-04 17:05:00 +02:00
Mike Pall
df94b81b2d Tune string concatenation. 2013-03-25 17:13:08 +01:00
Mike Pall
59329cfbbf Optimize and refactor printing of numbers to buffers. 2013-03-25 16:41:13 +01:00
Mike Pall
3b0b3afbb1 Merge branch 'master' into v2.1 2013-03-23 14:55:35 +01:00
Mike Pall
172bd95365 FFI: Fix snapshot substitution in SPLIT pass. 2013-03-23 14:51:23 +01:00
Mike Pall
f1dbd65c0e Use string buffer for string.format(). 2013-03-21 22:17:59 +01:00
Mike Pall
fecde1b222 Use string buffer for string.dump(). 2013-03-20 16:56:09 +01:00
Mike Pall
d38d10a3dd Use string buffer for os.date(). 2013-03-20 16:54:30 +01:00
Mike Pall
deb61e0be0 Use string buffer for table.concat(). 2013-03-20 16:51:36 +01:00
Mike Pall
d1645c88a1 Clean up TValue to buffer conversions. 2013-03-18 17:08:37 +01:00
Mike Pall
a98aede377 FFI: Add 64 bit bitwise operations. 2013-03-14 06:03:18 +01:00
Mike Pall
3e8f5ac718 Merge branch 'master' into v2.1 2013-03-13 21:59:40 +01:00
Mike Pall
eea48c8b26 Fix rotate definitions for variable shifts. 2013-03-13 21:58:53 +01:00
Mike Pall
7950894d70 ARM: Rearrange global_State to satisfy imm12 encoding constraints. 2013-03-13 17:12:23 +01:00
Mike Pall
b2edd5cf28 Merge branch 'master' into v2.1 2013-03-04 13:34:01 +01:00
Mike Pall
dac2825e9d Add missing GC steps for io.* functions. 2013-03-03 21:18:22 +01:00
Mike Pall
b65196b7fd Merge branch 'master' into v2.1 2013-02-28 17:53:45 +01:00
Mike Pall
78c97bc5a1 MIPS: Fix cache flush/sync for JIT-compiled code jump area. 2013-02-28 17:52:31 +01:00
Mike Pall
3e286c1e72 ARM: Fix cache flush/sync for exit stubs of JIT-compiled code. 2013-02-28 17:51:16 +01:00
Mike Pall
9ec869b362 String buffer refactoring, part 4.
Add lua_State pointer to SBuf for buffer resizing.
2013-02-28 13:43:37 +01:00
Mike Pall
3c0157f426 String buffer refactoring, part 3.
Switch to pointers for start/end of buffer in lexer.
2013-02-28 02:31:30 +01:00
Mike Pall
87c51e7f57 Cleanup lexer source code. 2013-02-28 01:11:49 +01:00
Mike Pall
116cdd7e9a String buffer refactoring, part 2.
Switch to pointers for start/pos/end of buffer.
Abstract out some buffer writers.
2013-02-27 21:28:28 +01:00
Mike Pall
28cfcf7744 String buffer refactoring, part 1.
Move string buffer handling to lj_buf.*.
Use common buffer resizing function.
2013-02-27 17:29:35 +01:00
Mike Pall
d44337a566 Merge branch 'master' into v2.1 2013-02-26 18:31:12 +01:00
Mike Pall
cea899b61a Allow changing *.dll/*.lib name in msvcbuild.bat. 2013-02-26 18:31:01 +01:00
Mike Pall
5e601891fc Replace table.remove with bytecode builtin. 2013-02-24 17:59:04 +01:00
Mike Pall
b8abb4b91d Fix genlibbc. 2013-02-24 17:58:19 +01:00
Mike Pall
41f3ae26d9 Merge branch 'master' into v2.1 2013-02-24 12:43:15 +01:00
Mike Pall
9b7d2e9276 Properly fix MSVC intrinsics for older versions. 2013-02-24 12:41:53 +01:00
Mike Pall
60e380fd93 Replace table.getn/foreach/foreachi with bytecode builtins. 2013-02-23 02:17:50 +01:00
Mike Pall
73ef845fca Add special bytecodes for builtins.
BC_ISTYPE, BC_ISNUM: fast type checks/coercions.
BC_TGETR, BC_TSETR: fast rawgeti/rawseti, no type checks for table/key.
2013-02-23 02:09:19 +01:00
Mike Pall
b359ce804b Remove obsolete non-truncating number to integer conversions. 2013-02-23 01:19:00 +01:00
Mike Pall
fdc0ce8deb Don't modify generated libbc header if unchanged. 2013-02-22 12:29:54 +01:00
Mike Pall
19d5651455 Replace math.deg/math.rad with builtin Lua function. 2013-02-22 01:44:17 +01:00
Mike Pall
e20157c6e6 Add support for embedding LuaJIT bytecode for builtins. 2013-02-22 01:40:41 +01:00
Mike Pall
c3219b7d17 x86/x64: Drop xmm register/memory move tuning for K8. 2013-02-21 17:04:00 +01:00
Mike Pall
57768cd588 x86: Remove x87 support from interpreter.
SSE2 required from now on.
2013-02-21 16:56:59 +01:00
Mike Pall
61fb587d2c BRANCH LuaJIT-2.1 2013-02-21 16:49:04 +01:00
Mike Pall
d4bc6ab756 Fix memory access check for fast string interning. 2013-02-21 16:22:26 +01:00
Mike Pall
e7633dba1e RELEASE LuaJIT-2.0.1 (fixed) 2013-02-19 21:14:27 +01:00
Mike Pall
92699e9ea9 RELEASE LuaJIT-2.0.1 2013-02-19 18:05:39 +01:00
Mike Pall
c7f0b6bca0 Fix capitalization of 'Xbox'. 2013-02-13 11:57:04 +01:00
Mike Pall
4e35c025dc PPC/e500: Fix lj_vm_floor() for inf/nan. 2013-02-12 12:37:18 +01:00
Mike Pall
339b77ee05 OSX: Add support for Mach-O object files to -b option.
Thanks to Adam Strzelecki.
2013-02-11 17:58:06 +01:00
Mike Pall
250b24f937 Improve buffer handling for io.read(). 2013-02-11 14:50:18 +01:00
Mike Pall
4a44c4ff69 Bump copyright date to 2013. 2013-02-11 12:54:48 +01:00
Mike Pall
8b46013fdd FFI: Stricter parsing of declaration specifiers. 2013-02-03 12:47:52 +01:00
Mike Pall
fe9934feea FFI: Fix handling of qualified transparent structs/unions. 2013-02-03 11:51:19 +01:00
Mike Pall
4eb4b8ab84 Keep line number for KPRI to KNIL optimization. 2013-01-31 12:36:23 +01:00
Mike Pall
f772bed34b Fix XBox 360 port. 2013-01-30 20:37:39 +01:00
Mike Pall
a3db8f3562 Avoid leaking memory on kernels with recalcitrant mmap() behavior. 2013-01-28 12:29:31 +01:00
Mike Pall
1651684417 Add missing FOLD rules for U32 conversions. 2013-01-21 16:49:03 +01:00
Mike Pall
89e4650bae Add XBox 360 port.
Thanks to Eddie Edwards.
2013-01-21 16:43:49 +01:00
Mike Pall
2c293a96de FFI: Load FFI library on-demand for bytecode with cdata literals. 2013-01-15 01:16:37 +01:00
Mike Pall
2e8e587638 x86/x64: Always mark ref for shift count as non-weak. 2013-01-14 16:03:32 +01:00
Mike Pall
fec750c892 Another fix for PS3 build. 2013-01-14 14:14:12 +01:00
Mike Pall
ad36fdac50 PPC/e500: Remove assembler code for lj_vm_foldarith(). 2013-01-11 13:36:01 +01:00
Mike Pall
8a3be5da74 Remove redundant code in jit/*.lua. 2013-01-11 12:30:10 +01:00
Mike Pall
f0a0a23533 Remove fictitious Solaris define. 2013-01-11 12:23:44 +01:00
Mike Pall
e434ab505e Fix PS3 build. 2013-01-11 12:19:53 +01:00
Mike Pall
f22d5d9eef Fix discharge order of comparisons in Lua parser. 2013-01-11 12:19:05 +01:00
Mike Pall
fb101458c5 Allow using MSVC intrinsics with older versions. 2013-01-03 21:41:27 +01:00
Mike Pall
8b97dc738f FFI: Fix code generation for bool call result check on x86/x64. 2013-01-02 23:56:49 +01:00
Mike Pall
9827650582 ARM: Handle armv7s arch defines.
Thanks to Joey Liaw.
2012-12-10 09:55:14 +01:00
Mike Pall
e422ae2d9d Leave hook when resume catches error thrown from hook. 2012-12-06 14:14:11 +01:00
Mike Pall
41738e371a ARM: Fix code generation for integer math.min/math.max. 2012-12-02 21:22:00 +01:00
Mike Pall
ee748dd029 ARM: Fix armhf call argument handling. 2012-12-02 21:21:02 +01:00
Mike Pall
405020c405 FFI: Add debug define to check for unanchored CTypes. 2012-11-26 11:01:59 +01:00
Mike Pall
2ad9834df6 Add missing GC steps for template table creation. 2012-11-16 13:20:12 +01:00
Mike Pall
16f23458bc FFI: Change priority of table initializer variants for structs. 2012-11-15 00:26:34 +01:00
Mike Pall
2689f32453 Prevent erroneous x64 builds with non-native exception handling. 2012-11-14 22:16:10 +01:00
Mike Pall
c77a9e4c65 Don't clear frame for out-of-memory error. 2012-11-14 21:54:27 +01:00
Mike Pall
32fa68d3e8 Fix assertion. 2012-11-14 21:54:17 +01:00
Mike Pall
1cd13f6b33 x64: Don't fuse implicitly 32-to-64 extended operands. 2012-11-13 19:20:52 +01:00
Mike Pall
0613358991 ARM: Fix ordered comparisons for number <=> non-number. 2012-11-07 18:05:23 +01:00
Mike Pall
8a11869d49 FFI: Fix stack-adjustment for __thiscall callbacks. 2012-11-07 18:04:58 +01:00
Mike Pall
4e5ef81b86 FFI: Fix recording of bool call result check on x86/x64. 2012-11-06 17:05:37 +01:00
Mike Pall
8a1a6097be FFI: Fix signedness of bool. 2012-11-06 17:04:21 +01:00
Mike Pall
c022692ab0 Don't propagate implicitly widened number to index metamethods. 2012-11-06 16:58:52 +01:00
Mike Pall
ae1987d535 Fix CONV.num.int sinking. 2012-11-06 16:57:50 +01:00
Mike Pall
69906d15de Don't create unneeded array part for template tables. 2012-11-06 16:56:25 +01:00
Mike Pall
eb6f890ebd RELEASE LuaJIT-2.0.0-rc1 2012-10-31 18:24:10 +01:00
Mike Pall
b0dde5b2b1 FFI: Fix code generation for replay of sunk float fields. 2012-10-29 17:21:44 +01:00
Mike Pall
c7990063e0 Fix builtin string to number conversion for INT_MIN. 2012-10-24 23:46:21 +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
f6536c6696 Fix detection of immutable upvalues. 2012-10-21 13:51:12 +02:00
Mike Pall
614e78d1f6 Fix recording of equality comparisons with __eq metamethods. 2012-10-19 17:03:41 +02:00
Mike Pall
e32cc2a0dc Fix Android/x86 build. 2012-10-17 14:22:26 +02:00
Mike Pall
4baa01be78 RELEASE LuaJIT-2.0.0-beta11 2012-10-16 20:13:01 +02:00
Mike Pall
bbe35adfcd MIPS: Compile math.sqrt() to sqrt.d instruction. 2012-10-15 21:28:10 +02:00
Mike Pall
a58b86dad3 PPC: Compile math.sqrt() to fsqrt instruction. 2012-10-15 21:23:20 +02:00
Mike Pall
2621617a92 ARM: Drop hard-fp variants of floor/ceil/trunc.
Soft-fp variants are faster on a Cortex-A9. Duh.
2012-10-15 16:53:03 +02:00
Mike Pall
1447ee6520 ARM, MIPS: Fix workaround for argument GPRs vs. FPR remat. 2012-10-15 15:47:15 +02:00
Mike Pall
93e4040b60 Workaround for broken Android sprintf("%g", -0.0). 2012-10-15 01:31:56 +02:00
Mike Pall
c25d4daaa5 Add note to recalcitrant distro maintainers. 2012-10-14 21:52:35 +02:00
Mike Pall
b50375a11c From Lua 5.2: Add package.loadlib(libname, "*"). 2012-10-12 14:42:40 +02:00
Mike Pall
fff12979fe From Lua 5.2: Add format options to io.lines(). 2012-10-12 14:11:41 +02:00
Mike Pall
fd292c9f26 Fix assertion. 2012-10-11 21:40:46 +02:00
Mike Pall
0b55e05d06 FFI: Compile ffi.gc(). 2012-10-10 18:56:16 +02:00
Mike Pall
1c626112a0 FFI: Compile ffi.sizeof(), ffi.alignof() and ffi.offsetof(). 2012-10-10 18:16:18 +02:00
Mike Pall
4a97faef7e FFI: Compile array/struct copies. 2012-10-09 21:51:30 +02:00
Mike Pall
a7d1dbacb1 FFI: Optimize ffi.copy() and ffi.fill(). 2012-10-09 21:49:57 +02:00
Mike Pall
5ebe4990ba Add LJ_TARGET_UNALIGNED. 2012-10-09 21:42:42 +02:00
Mike Pall
0452e97ba0 Add FOLD rules for CONV.int.i8/u8/i16/u16 of KINT. 2012-10-09 21:36:56 +02:00
Mike Pall
eabfdfe1aa Don't use stack unwinding for lua_yield(). 2012-10-09 13:19:57 +02:00
Mike Pall
da682b0e91 FFI: Add support for copy constructors. 2012-10-08 17:15:28 +02:00
Mike Pall
c681e009c0 PPC: Fix string.sub() range check. 2012-10-07 17:12:28 +02:00
Mike Pall
2f5ed5d0df From Lua 5.2: Add string.rep(s, n, sep). 2012-10-07 17:11:39 +02:00
Mike Pall
0561a56938 From Lua 5.2: Add math.log(x, base). 2012-10-07 15:47:11 +02:00
Mike Pall
0d62e2e1ab Clarify comments in Makefile on -DLUAJIT_ENABLE_LUA52COMPAT. 2012-10-04 13:55:34 +02:00
Mike Pall
2e9f4efd20 Fix scope for resolving break labels. 2012-10-03 11:53:18 +02:00
Mike Pall
8d8dbf27b8 Fix x64 build. 2012-10-02 18:07:31 +02:00
Mike Pall
faf05c3a13 From Lua 5.2: '%s' option to string.format() behaves like tostring(). 2012-10-02 11:59:32 +02:00
Mike Pall
0d7094f36e From Lua 5.2: Return nil for bad position in string.find().
Needs -DLUAJIT_ENABLE_LUA52COMPAT.
2012-10-02 11:56:33 +02:00
Mike Pall
b66ab96a62 Move a GC macro. 2012-10-02 09:57:49 +02:00
Mike Pall
fcddd5a3a0 From Lua 5.2: Add luaL_traceback(). 2012-10-01 20:45:30 +02:00
Mike Pall
3ad61689cf Update dependencies. 2012-09-28 19:32:39 +02:00
Mike Pall
d08e7bd518 From Lua 5.2: Allow mixed metamethods for ordered comparisons.
Needs -DLUAJIT_ENABLE_LUA52COMPAT.
2012-09-28 19:30:08 +02:00
Mike Pall
550ac44e41 From Lua 5.2: Remove error for ambiguous function call syntax.
Needs -DLUAJIT_ENABLE_LUA52COMPAT.
2012-09-28 18:12:43 +02:00
Mike Pall
7a6bb9a208 From Lua 5.2: Return file object for io.write() and file:write().
Needs -DLUAJIT_ENABLE_LUA52COMPAT.
2012-09-28 17:54:18 +02:00
Mike Pall
26841296ab From Lua 5.2: Add table.pack(). Needs -DLUAJIT_ENABLE_LUA52COMPAT. 2012-09-28 17:29:17 +02:00
Mike Pall
e013206dd8 FFI: ctypeid of ctype object is immutable. 2012-09-27 14:48:13 +02:00
Mike Pall
d4d9807f45 Fold KPTR + offset in SPLIT pass. 2012-09-27 14:39:16 +02:00
Mike Pall
0ecdff43e8 x86: Fix register allocation for calls returning register pair. 2012-09-27 14:16:18 +02:00
Mike Pall
cfca926cc2 From Lua 5.2: Extended results from os.execute() and pipe:close().
Needs -DLUAJIT_ENABLE_LUA52COMPAT.
2012-09-24 19:00:54 +02:00
Mike Pall
125cc87988 From Lua 5.2: Add debug.getuservalue() and debug.setuservalue().
Needs -DLUAJIT_ENABLE_LUA52COMPAT.
2012-09-24 17:52:32 +02:00
Mike Pall
ca0bb4881f From Lua 5.2: Add rawlen(). Needs -DLUAJIT_ENABLE_LUA52COMPAT. 2012-09-24 17:33:32 +02:00
Mike Pall
4c7c2c8319 Rearrange library functions to get a fixed FF_next. 2012-09-24 17:13:53 +02:00
Mike Pall
d9c5eba1bb Remove some library functions for no-JIT/no-FFI builds. 2012-09-24 16:56:07 +02:00
Mike Pall
2ff4afeb4f Allow conditional inclusion of builtin library functions. 2012-09-24 16:55:10 +02:00
Mike Pall
2ba16862c7 From Lua 5.2: Add mode and env arguments to load*(). 2012-09-21 16:33:14 +02:00
Mike Pall
3dceaa9a74 Move load/dump functions to lj_load.c. Add load modes. 2012-09-21 16:32:24 +02:00
Mike Pall
98f05808fa Fix package.searchpath(). 2012-09-21 16:14:17 +02:00
Mike Pall
40afe71c3f Fix last commit. 2012-09-20 17:41:32 +02:00
Mike Pall
8352335c74 From Lua 5.2: Add debug.upvalueid() and debug.upvaluejoin().
Ditto for lua_upvalueid() and lua_upvaluejoin().
2012-09-20 17:36:15 +02:00
Mike Pall
a9baead59f From Lua 5.2: debug.getinfo(..., "u") returns nparams and isvararg. 2012-09-20 15:50:20 +02:00
Mike Pall
965694b0af Fix 'f' and 'L' options for debug.getinfo() and lua_getinfo(). 2012-09-20 15:19:48 +02:00
Mike Pall
2d3c1967c7 Disable LUA_COMPAT_GFIND and LUA_COMPAT_MOD in Lua 5.2 mode. 2012-09-19 18:14:00 +02:00
Mike Pall
16d8c83743 From Lua 5.2: debug.setmetatable() returns object.
Needs -DLUAJIT_ENABLE_LUA52COMPAT.
2012-09-19 16:33:50 +02:00
Mike Pall
1afcea1435 From Lua 5.2: 'break' allowed anywhere.
Needs -DLUAJIT_ENABLE_LUA52COMPAT.
2012-09-19 16:33:39 +02:00
Mike Pall
c687d01c46 From Lua 5.2: debug.getlocal() accepts function arg, too. 2012-09-19 12:08:35 +02:00
Mike Pall
7d49b19ad0 From Lua 5.2: debug.getlocal()/setlocal() treats slot < 0 as vararg. 2012-09-19 12:06:56 +02:00
Mike Pall
998c656dc4 From Lua 5.2: debug.getupvalue() returns "" for C function upvalues. 2012-09-19 12:03:03 +02:00
Mike Pall
ead325b0c9 From Lua 5.2: Add goto and :🏷️: statements. 2012-09-16 18:46:04 +02:00
Mike Pall
aed2009378 Fix despecialization of ITERN when already running. 2012-09-12 16:58:47 +02:00
Mike Pall
23932a6c8b Use 0/1 macro for Lua 5.2 compatibility. 2012-09-12 11:20:47 +02:00
Mike Pall
039bf85e26 Add more assertions for stack consistency during recording. 2012-09-12 11:02:19 +02:00
Mike Pall
76ab3709da FFI: Correctly propagate alignment when interning nested types. 2012-09-10 18:05:54 +02:00
Mike Pall
21cea85d92 FFI: Always resolve metamethods for pointers to structs. 2012-09-08 21:03:40 +02:00
Mike Pall
0648fd47cb FFI: Handle __pairs/__ipairs metamethods for cdata objects. 2012-09-03 21:11:08 +02:00
Mike Pall
90ec1f90d0 Fix recording of ctype() constructors for pointers. 2012-09-03 21:08:37 +02:00
Mike Pall
a6d636c508 Preserve snapshot #0 PC for all traces (potential gcstep exit). 2012-09-01 00:58:00 +02:00
Mike Pall
d3699997fa Add check for unsupported MIPS soft-float targets. 2012-08-30 10:31:26 +02:00
Mike Pall
ff00a78f3a Limit recursion depth in string.match() et al. 2012-08-28 21:22:23 +02:00
Mike Pall
751cd9d821 Don't constify upvalues that may retain large amounts of memory. 2012-08-28 15:24:53 +02:00
Mike Pall
c7826af5a0 FFI: Detect type punning through unions. 2012-08-27 20:53:37 +02:00
Mike Pall
76b18b2b46 Add table of IR type sizes. 2012-08-27 20:27:01 +02:00
Mike Pall
30f458fb4d ARM, PPC, MIPS: Improve XLOAD operand fusion and register hinting. 2012-08-27 20:25:54 +02:00
Mike Pall
1e477e6487 Fix underflow handling in builtin string to number conversion. 2012-08-27 14:26:50 +02:00
Mike Pall
774280d9c1 Replace some trivial uses of fprintf() with fputs. 2012-08-26 20:13:23 +02:00
Mike Pall
c0efa6f00e Replace divisions with simpler code. 2012-08-26 19:41:35 +02:00
Mike Pall
cf3a263044 Fix compilation with FFI disabled. 2012-08-26 14:36:00 +02:00
Mike Pall
dad6645098 Remove old Makefile rules. 2012-08-26 11:58:58 +02:00
Mike Pall
4c882fe714 Replace strtod() with builtin string to number conversion. 2012-08-25 23:02:29 +02:00
Mike Pall
653facd0d5 Add support for '%a' and '%A' to string.format. 2012-08-25 22:46:22 +02:00
Mike Pall
52ca2cc8ba ARM: Fix base register coalescing. 2012-08-25 18:38:30 +02:00
Mike Pall
099635c86c ARM: Fix commit ceaa60c0. 2012-08-25 14:13:47 +02:00
Mike Pall
f2479a9654 Minor fixes to FOLD rules. 2012-08-20 18:45:50 +02:00
Mike Pall
af2cb02542 ARM: Fix hard-float lj_vm_trunc() (used by compiled math.modf). 2012-08-19 22:37:43 +02:00
Mike Pall
1fef2df3e8 MIPS: Don't use argument GPRs to rematerialize FPR arguments. 2012-08-19 18:44:29 +02:00
Mike Pall
ceaa60c0c7 ARM: Don't use argument GPRs to rematerialize FPR arguments. 2012-08-19 18:43:04 +02:00
Mike Pall
1481263aaa ARM, MIPS, PPC: Rematerialize FPR invariants first. 2012-08-19 18:42:08 +02:00
Mike Pall
2ac083cb5a MIPS: Fix calls to floor/ceil/trunc. 2012-08-19 18:41:34 +02:00
Mike Pall
f58a84d0bc ARM: Fix calls to hard-float floor/ceil/trunc. 2012-08-19 18:39:47 +02:00
Mike Pall
d61e9e5d89 Fix shrinking of direct mapped block in builtin allocator. 2012-08-16 13:18:40 +02:00
Mike Pall
0dd175d9e7 Fix last commit. 2012-08-15 21:08:00 +02:00
Mike Pall
ff0a1f3f4e FOLD x / 2^k ==> x * 2^-k. 2012-08-15 16:17:34 +02:00
Mike Pall
5e18c91b89 x86: Simplify error message for CPUs lacking CMOV. 2012-08-14 13:19:45 +02:00
Mike Pall
1a3e5e1521 FFI: Don't keep CType * across call. Callback may reallocate table. 2012-08-12 01:16:49 +02:00
Mike Pall
ece23a4788 Do not use DWARF unwinder on Windows. 2012-08-11 05:41:09 +02:00
Mike Pall
85a02f9ae8 ARM: Enable VFP and hard-float ABI support. 2012-08-09 13:13:39 +02:00
Mike Pall
4dc9e22def ARM: Add VFP and hard-float ABI variants to JIT compiler. 2012-08-09 13:13:11 +02:00
Mike Pall
e6fac91d01 Never compile DWARF unwinder on Windows. 2012-08-09 13:09:47 +02:00
Mike Pall
2717623e3a FFI: Compile ffi.typeof(cdata).
Thanks to Robert G. Jakabosky.
2012-08-08 21:01:36 +02:00
Mike Pall
e2373c1538 FFI: Compile assignments from enums.
Thanks to Robert G. Jakabosky.
2012-08-08 20:36:31 +02:00
Mike Pall
5e227865bc Add missing change for last commit. 2012-08-05 19:13:35 +02:00
Mike Pall
806822b70b FFI: Improve error message for bad indexing attempts. 2012-08-05 17:26:01 +02:00
Mike Pall
0a750fe715 FFI: Initialize all fields of standard types. 2012-08-05 09:33:15 +02:00
Mike Pall
77183e75f2 FFI: Fix alignment of C call structure. 2012-08-02 15:13:28 +02:00
Mike Pall
4b0af611d0 ARM: Add hard-float ABI support to the FFI (interpreter). 2012-07-30 19:00:52 +02:00
Mike Pall
a373fddbd3 ARM: Add VFP and hard-float ABI variants to interpreter. 2012-07-30 18:59:13 +02:00
Mike Pall
23abbd9ef3 Only replay sunk stores up to the snapshot reference. 2012-07-29 21:37:45 +02:00
Mike Pall
85f29ffd40 Need to handle TBAR in SINK pass.
Can only happen with -O-dse.
2012-07-29 21:37:31 +02:00
Mike Pall
e84c2a9e9a Handle cross-compiles with FPU/no-FPU or hard-fp/soft-fp ABI mismatch. 2012-07-29 12:22:18 +02:00
Mike Pall
b98c1582c9 ARM: Add VFP instructions to ARM disassembler. 2012-07-29 12:17:13 +02:00
Mike Pall
e8af6e9da4 Don't treat all constified cdata content as constant. 2012-07-24 14:56:29 +02:00
Mike Pall
3636a720a5 Turn loads from immutable upvalues into constants. 2012-07-20 18:54:52 +02:00
Mike Pall
834ff6d36d Fix slot flags in snapshot replay. 2012-07-20 18:52:29 +02:00
Mike Pall
f1b4fa844b Fix restore of sunk CNEWI with implicit P32 to P64 conversion. 2012-07-18 18:02:32 +02:00
Mike Pall
4d9c29a78c FFI: Box all accessed or returned enums. 2012-07-17 22:22:07 +02:00
Mike Pall
2139c6791f Fix FOLD rule (i-j)-i => 0-j.
Thanks to Thomas Schilling.
2012-07-17 21:47:45 +02:00
Mike Pall
c172e7aa30 Workaround for MSVC conversion bug (double -> uint32_t -> int32_t). 2012-07-17 21:45:49 +02:00
Mike Pall
08d8ec0648 x86/x64: Fix fusion of unsigned byte comparisons with swapped ops. 2012-07-16 23:43:03 +02:00
Mike Pall
e44cb53874 ARM: Invoke SPLIT pass for leftover IR_TOBIT.
Can only happen with -O-fold for TOBIT(constant).
2012-07-16 23:39:49 +02:00
Mike Pall
63bb052bbe From Lua 5.2: Add -E command line option (ignore env vars). 2012-07-16 22:47:01 +02:00
Mike Pall
bf2d4acf00 Correct dispatch table modifications for return hooks. 2012-07-16 22:36:38 +02:00
Mike Pall
0e2f5be140 FFI: Show address pointed to for tostring(ref), too. 2012-07-12 14:19:27 +02:00
Mike Pall
53e28d7678 Limit number of parent links handled by backend. 2012-07-11 16:48:52 +02:00
Mike Pall
24fa85760c Use an explicit flag to signal SINK tags for a trace. 2012-07-11 16:45:15 +02:00
Mike Pall
79ecb231ce Don't allocate constants for sunk stores. 2012-07-09 16:22:08 +02:00
Mike Pall
f20ff8a30d Avoid compiler warnings about redefined C++ keywords. 2012-07-09 16:02:05 +02:00
Mike Pall
6e4d0fdc8e Add missing declarations for MSVC intrinsics. 2012-07-09 15:54:25 +02:00
Mike Pall
b23a7830d2 Clean up ARM capability flags. Only set highest arch version. 2012-07-08 22:20:11 +02:00
Mike Pall
c00ffcb870 Change DynASM bit operations to use Lua BitOp. 2012-07-08 16:27:18 +02:00
Mike Pall
e3dec0438d Add Lua BitOp to minilua. 2012-07-08 16:24:53 +02:00
Mike Pall
6a67fa8a4b Finally fix target detection for msvcbuild.bat.
Famous last words.
2012-07-07 20:36:35 +02:00
Mike Pall
7c056488d9 Drop range limit for sunk stores relative to sunk allocation. 2012-07-04 21:16:06 +02:00
Mike Pall
bd782cedd5 Bump some limits to accomodate SINK pass. 2012-07-04 21:15:15 +02:00
Mike Pall
c22d698e17 Add stricter check for sinking PHIs. 2012-07-04 11:41:58 +02:00
Mike Pall
4da7ffc34b Remove unneeded snapshot preps for sunk stores. 2012-07-03 23:19:45 +02:00
Mike Pall
d5b9d84538 Fix NEWREF marking in SINK pass. 2012-07-03 16:45:13 +02:00
Mike Pall
80d0acc7c1 Fix compiler warnings. 2012-07-03 13:22:30 +02:00
Mike Pall
17d3fc47f3 Avoid pesky compiler warnings about C++ keywords (eh?). 2012-07-03 13:19:32 +02:00
Mike Pall
c740a30223 Invoke SPLIT pass in side trace for rejoined sunk stores. 2012-07-03 12:41:21 +02:00
Mike Pall
2df19049ef Avoid strict aliasing issues. 2012-07-03 00:03:01 +02:00
Mike Pall
0af3f47ba0 Add allocation sinking and store sinking optimization. 2012-07-02 23:47:12 +02:00
Mike Pall
79e1eaa73b ARM: Simplify two-step constant rematerialization. 2012-07-02 22:57:51 +02:00
Mike Pall
afeb4e2c51 Handle initial snapshot for side traces in lj_snap.c only. 2012-07-02 22:52:15 +02:00
Mike Pall
f093a34a2f Handle joining IR_HIOP in SPLIT pass. 2012-07-02 22:50:03 +02:00
Mike Pall
0688de5483 Add IR_PVAL instruction for non-slot parent links. 2012-07-02 22:47:20 +02:00
Mike Pall
5d0115ef8d Add explicit IR_GCSTEP instruction. 2012-07-02 22:42:40 +02:00
Mike Pall
264177b0d0 Use HIOP for XSTORE in SPLIT pass. 2012-07-02 22:37:00 +02:00
Mike Pall
7ae3832f20 Move snapshot replay for side traces to lj_snap.c. 2012-07-02 13:37:55 +02:00
Mike Pall
cda3630565 Clean up RegSP handling for parent link instructions. 2012-07-01 22:44:54 +02:00
Mike Pall
89f8c920c6 Expand array slots in template tables with mixed const/var initializers. 2012-06-30 20:58:19 +02:00
Mike Pall
eacecc90e1 Clean up snapshot restore. 2012-06-30 20:45:59 +02:00
Mike Pall
dd9e7a4608 Fix cdecl string parsing during recording. 2012-06-28 20:17:08 +02:00
Mike Pall
a6458ce4de Make os.date() thread-safe. 2012-06-28 15:47:16 +02:00
Mike Pall
a751c8a5b5 Fix buffer check in bytecode writer. 2012-06-28 15:13:26 +02:00
Mike Pall
a9bf455b96 Add HREFK forwarding. Eliminate HREFK guard for TDUP refs. 2012-06-28 15:10:52 +02:00
Mike Pall
0d1056eeed Create string hash slots in template tables even for non-const values. 2012-06-27 22:45:54 +02:00
Mike Pall
ceb76d26b5 Another attempt at proper target detection for msvcbuild.bat. 2012-06-27 20:53:08 +02:00
Mike Pall
9a98ba64b4 Fix TDUP to HLOAD forwarding for DUALNUM builds. 2012-06-27 19:54:52 +02:00
Mike Pall
3dc7baf6af PPC: Fix PPC32 build. 2012-06-27 19:41:56 +02:00
Mike Pall
2f844fc87b Fix build issues on Cygwin and MinGW with optional MSys. 2012-06-22 11:36:58 +02:00
Mike Pall
8b71ab1080 FFI: Check for __new metamethod when calling a constructor. 2012-06-20 18:28:25 +02:00
Mike Pall
e9e45313e7 FFI: Do not resolve strings passed to parameterized types. 2012-06-20 15:45:23 +02:00
Mike Pall
6cee1333ef FFI: Resolve metamethods for constructors, too. 2012-06-20 15:16:40 +02:00
Mike Pall
126f9906fe FFI: Improve error messages for ctype arguments. 2012-06-20 15:06:28 +02:00
Mike Pall
946c7418d5 FFI: Add support for parameterized C types. 2012-06-14 19:54:07 +02:00
Mike Pall
ca6bf2d9a4 CONSOLE: Handle P64, GPR64, TOC* and PPE (PS3) in PPC interpreter.
PS3 build command: make HOST_CC="gcc -m32" CROSS=ppu-lv2-
2012-06-13 02:32:24 +02:00
Mike Pall
4f9db0fbc3 Clean up buildvm error message. 2012-06-13 01:54:15 +02:00
Mike Pall
80ff9d69a3 Allow parsing bcsave.lua (-b option) without FFI. 2012-06-12 21:25:19 +02:00
Mike Pall
0b3d8375f7 PPC: Remove lj_vm_floor/ceil/trunc assembler wrappers. 2012-06-12 17:26:55 +02:00
Mike Pall
c2159f8624 ARM/PPC: Remove assembler code for lj_vm_foldarith(). 2012-06-12 17:25:52 +02:00
Mike Pall
46dc6d347c PPC: Fix disassembly of rldcl/rldcr. 2012-06-12 16:48:24 +02:00
Mike Pall
0528bb7d02 x64: Fix DynASM defines. 2012-06-12 03:50:22 +02:00
Mike Pall
e08914988c Improved target detection for msvcbuild.bat. 2012-06-12 01:47:16 +02:00
Mike Pall
b1c2a45464 OSX: Change dylib names to be consistent with other platforms. 2012-06-11 18:49:40 +02:00
Mike Pall
b51d7fb310 MIPS: Cleanup interpreter.
Use DynASM defines instead of C defines.
2012-06-11 00:51:21 +02:00
Mike Pall
3f1035a170 PPC/e500: Cleanup interpreter.
Use DynASM defines instead of C defines.
2012-06-11 00:51:59 +02:00
Mike Pall
7da4d16faa PPC: Cleanup interpreter.
Use DynASM defines instead of C defines.
2012-06-11 00:50:22 +02:00
Mike Pall
02acb39b10 ARM: Cleanup interpreter.
Use DynASM defines instead of C defines.
2012-06-11 00:49:47 +02:00
Mike Pall
c99439b3be x86/x64: More interpreter cleanups. 2012-06-11 00:49:24 +02:00
Mike Pall
c0aaf271c8 PPC: Fix interpreter state setup in callbacks. 2012-06-11 00:44:54 +02:00
Mike Pall
58622937c0 Fix userdata __gc separations at state close. 2012-06-10 23:40:53 +02:00
Mike Pall
58ec704f78 x86/x64: Clean up interpreter.
Use DynASM defines instead of C defines.
Remove support for ancient CPUs without CMOV (before Pentium Pro).
2012-06-10 16:50:46 +02:00
Mike Pall
e496a502b0 Pass various build, arch and OS flags to DynASM. 2012-06-10 16:41:00 +02:00
Mike Pall
d5a915ccf5 CONSOLE: Minor PS3 build fixes. 2012-06-10 16:34:18 +02:00
Mike Pall
b8f5727ab4 CONSOLE: Fix PS3 build. 2012-06-10 02:01:25 +02:00
Mike Pall
37be8a5478 CONSOLE: Handle unimplemented features for console toolchains. 2012-06-09 20:54:34 +02:00
Mike Pall
9f443e8b89 ARM/PPC: Detect more target arch variants. Detect console OS. 2012-06-09 20:53:22 +02:00
Mike Pall
9d7bd04fae Avoid potential store-forwarding stalls in GC marking. 2012-06-09 20:30:27 +02:00
Mike Pall
1c8ed534b3 Fix check for minimum GCC version. 2012-06-09 17:29:54 +02:00
Mike Pall
9a9509c66a Reorganize build process.
Drop pre-translated buildvm_*.h.
Rename buildvm_*.dasc to vm_*.dasc.
Move buildvm* to host directory.
Build minilua, unless HOST_LUA is set.
Use HOST_LUA to run DynASM.
Translate only vm_*.dasc for target architecture.
2012-06-09 15:12:44 +02:00
Mike Pall
0a6c8338d2 Add minified Lua interpreter (minilua). Used by the build process. 2012-06-09 15:03:40 +02:00
Mike Pall
e75561b70e FFI: Fix address calculation for refs.
Fixes bug introduced in commit 5032e6d8.
2012-06-09 00:23:27 +02:00
Mike Pall
cccf763898 Move lib/* to src/jit/*. 2012-06-08 21:14:33 +02:00
Mike Pall
7266e27404 Correctly preserve snapshot #0 PC for root traces (insert NOP). 2012-06-08 19:22:59 +02:00
Mike Pall
fad5382d21 Rearrange OSX vs. iOS defines. Disable callbacks on iOS. 2012-06-08 11:59:23 +02:00
Mike Pall
0bd1a66f2f Print version and JIT status to stdout, not stderr. 2012-06-06 14:17:15 +02:00
Mike Pall
9ab2ae8d46 Split-off large-file support flags to TARGET_LFSFLAGS. 2012-06-05 00:12:43 +02:00
Mike Pall
5032e6d87f FFI: Use CNEWI/FLOAD to box/access ffi.new("int", x) (for varargs). 2012-06-04 15:39:16 +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
97b7edb206 Fix argument checks for coroutine.create(). 2012-05-28 21:38:23 +02:00
Mike Pall
10b9ed37e0 PPC/e500: Fix tailcall from fast function (esp. tostring). 2012-05-23 22:22:10 +02:00
Mike Pall
3a43ea5084 FFI: Equality comparisons never raise an error. 2012-05-23 22:20:27 +02:00
Mike Pall
f3197046b8 Preserve snapshot #0 PC for root traces. 2012-05-14 17:35:05 +02:00
Mike Pall
e6bcb545f8 FFI: Don't call FreeLibrary() on our own EXE/DLL. 2012-05-14 13:41:08 +02:00
Mike Pall
74205dc64b ARM/PPC/MIPS: Fix tailcall from fast function (esp. tostring). 2012-05-10 16:21:14 +02:00
Mike Pall
3fc5948abf ARM: Fix modulo operator and math.floor/ceil for inf/nan. 2012-05-10 16:19:07 +02:00
Mike Pall
48567b6043 ARM: Fix tonumber() argument check. 2012-05-10 16:17:23 +02:00
Mike Pall
51f05d64c9 RELEASE LuaJIT-2.0.0-beta10 2012-05-09 18:11:35 +02:00
Mike Pall
c8a1f274af Remove stray comment. 2012-05-09 17:53:05 +02:00
Mike Pall
6e5c872eb7 FFI: Fix recording of test for bool result of call. 2012-05-09 16:25:51 +02:00
Mike Pall
7d3954036c FFI: Don't record test for bool result of call, if ignored. 2012-05-08 18:59:51 +02:00
Mike Pall
886a450a3d FFI: Allow 'typedef _Bool int BOOL;' to make Windows users happy. 2012-05-08 18:34:12 +02:00
Mike Pall
0d824b7d14 Fix PHI stack slot syncing. 2012-05-07 23:16:19 +02:00
Mike Pall
afc17b3c1a FFI: Use correct PC in FFI metamethod error message. 2012-05-05 22:58:29 +02:00
Mike Pall
53a285c0c3 Disable loading bytecode with an extra header (BOM or #!). 2012-05-03 19:04:44 +02:00
Mike Pall
eec0d80d1b ARM: Fix compilation of math.sinh/cosh/tanh. 2012-04-30 17:09:41 +02:00
Mike Pall
8d31b5cdde ARM: Fix rejoin of pow in SPLIT pass. 2012-04-30 12:59:45 +02:00
Mike Pall
9a2ae72bce ARM: Handle all CALL* ops with double results in SPLIT pass. 2012-04-29 21:25:46 +02:00
Mike Pall
e099059afd Add more comparison variants to Valgrind suppressions file. 2012-04-26 23:47:00 +02:00
Mike Pall
d4a09431c8 ARM/FFI: Invoke SPLIT pass for double args in FFI call. 2012-04-26 23:46:23 +02:00
Mike Pall
325a1820eb ARM: Fix conditional branch fixup for OBAR. 2012-04-26 23:34:54 +02:00
Mike Pall
0522f74f69 ARM: Fix register allocation for ldrd-optimized HREFK. 2012-04-26 23:33:56 +02:00
Mike Pall
904cc1facb ARM: Reorder type/value tests to silence Valgrind. 2012-04-26 23:33:20 +02:00
Mike Pall
ba3cad0dd9 Add required PHIs for implicit conversions (via XREF fwd). 2012-04-19 15:05:55 +02:00
Mike Pall
ac6b678d4c FFI: Fix result type of pointer difference. 2012-04-17 12:54:38 +02:00
Mike Pall
7aa34aa4de Fix dependencies. 2012-04-17 12:37:34 +02:00
Mike Pall
cf5a54fedf FFI: Fix blacklisting of C functions calling callbacks. 2012-04-12 14:21:41 +02:00
Mike Pall
68ca796d28 Make lua_concat() work from C hook with partial frame. 2012-04-12 12:02:38 +02:00
Mike Pall
3ed5172fe4 Fix DSE of USTORE. Have to remove OBAR, too. 2012-04-11 16:22:05 +02:00
Mike Pall
39112fd6fb Fix bytecode JMP slot range after const + and/or optimization. 2012-04-11 15:17:11 +02:00
Mike Pall
44876ec99f Limit number of userdata __gc separations at state close. 2012-04-11 15:15:50 +02:00
Mike Pall
e14b6346b4 Ensure running __gc of userdata created in __gc at state close. 2012-04-11 12:08:09 +02:00
Mike Pall
d621a6ccc2 Fix discharge order of comparisons in Lua parser. 2012-04-09 14:48:27 +02:00
Mike Pall
5a83601589 MIPS: Add support for GDB JIT API. 2012-04-01 20:01:13 +02:00
Mike Pall
407cc5e9ec FFI: Fix symbol resolving error messages on Windows. 2012-03-31 22:23:46 +02:00
Mike Pall
03275ba7fc FFI: Fix resolving of function name redirects on Windows/x86. 2012-03-31 22:19:47 +02:00
Mike Pall
bcd459aa0e MIPS: Integrate and enable JIT compiler. 2012-03-30 01:36:55 +02:00
Mike Pall
2225c9aafc MIPS: Add MIPS32R2 compile-time/runtime CPU detection. 2012-03-30 01:34:17 +02:00
Mike Pall
aaaf0e0f5f MIPS: Interpreter/JIT integration 2012-03-30 01:33:38 +02:00
Mike Pall
1980ee95b0 PPC: Use builtin D-Cache/I-Cache sync code. 2012-03-29 01:14:24 +02:00
Mike Pall
a53a549774 PPC: Fix HREFK code generation for huge tables. 2012-03-29 01:11:23 +02:00
Mike Pall
509ca0f0db PPC: Fix fusion of floating-point XLOAD/XSTORE. 2012-03-29 01:10:35 +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
018792452e Replace unwind.h definitions with our own. 2012-03-25 21:52:07 +02:00
Mike Pall
339142c2aa FFI: Change ffi.load() library name resolution for Cygwin. 2012-03-21 22:09:01 +01:00
Mike Pall
9589e11e44 Avoid recursive GC steps after GC-triggered trace exit. 2012-03-20 14:18:14 +01:00
Mike Pall
5dbb6671a3 Fix compilation on OpenBSD.
Thanks to Laurence Tratt.
2012-03-15 12:01:13 +01:00
Mike Pall
6670a13bbf Add missing mcode limit check in assembler backend. 2012-03-12 00:51:25 +01:00
Mike Pall
8ae38dc519 FFI: Finalize cdata before userdata when closing the state. 2012-03-05 15:05:28 +01:00