Commit Graph

1444 Commits

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