Commit Graph

112 Commits

Author SHA1 Message Date
Mike Pall
c8cfca0557 Add table.new(). 2013-10-09 17:02:01 +02:00
Mike Pall
8201fda2fc Merge branch 'master' into v2.1 2013-09-14 12:56:37 +02:00
Mike Pall
474bb21af1 Fix ABC elimination. 2013-09-14 12:52:51 +02:00
Mike Pall
d1194a82eb Low-overhead profiler, part 4: JIT compiler support. 2013-09-08 02:53:23 +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
4c39e9ffc8 Compile string.format(). 2013-05-13 21:18:22 +02:00
Mike Pall
8f90a1279e Big renaming of string buffer/formatting/conversion functions. 2013-05-13 10:15:07 +02:00
Mike Pall
87993a601d Inhibit CSE for table.concat(). 2013-04-28 11:31:41 +02:00
Mike Pall
068783bf23 Compile string.rep(). 2013-04-26 22:55:24 +02:00
Mike Pall
a98e6a70c1 Abstract out some common buffer operations. 2013-04-26 19:20:21 +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
eeb204cd87 Fix FOLD rules for appending to string buffers. 2013-04-26 00:26:44 +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
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
5f1781a127 Compile string concatenations (BC_CAT). 2013-04-21 01:01:33 +02:00
Mike Pall
a98aede377 FFI: Add 64 bit bitwise operations. 2013-03-14 06:03:18 +01:00
Mike Pall
b359ce804b Remove obsolete non-truncating number to integer conversions. 2013-02-23 01:19:00 +01:00
Mike Pall
4a44c4ff69 Bump copyright date to 2013. 2013-02-11 12:54:48 +01:00
Mike Pall
1651684417 Add missing FOLD rules for U32 conversions. 2013-01-21 16:49:03 +01:00
Mike Pall
fd292c9f26 Fix assertion. 2012-10-11 21:40:46 +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
e013206dd8 FFI: ctypeid of ctype object is immutable. 2012-09-27 14:48:13 +02:00
Mike Pall
4c882fe714 Replace strtod() with builtin string to number conversion. 2012-08-25 23:02:29 +02:00
Mike Pall
f2479a9654 Minor fixes to FOLD rules. 2012-08-20 18:45:50 +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
e8af6e9da4 Don't treat all constified cdata content as constant. 2012-07-24 14:56:29 +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
17d3fc47f3 Avoid pesky compiler warnings about C++ keywords (eh?). 2012-07-03 13:19:32 +02:00
Mike Pall
a9bf455b96 Add HREFK forwarding. Eliminate HREFK guard for TDUP refs. 2012-06-28 15:10:52 +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
10ef109eef Bump copyright date to 2012. 2012-01-23 22:42:42 +01:00
Mike Pall
455917fa0a Add more FOLD rules for shift + BAND simplifications. 2011-10-25 21:16:27 +02:00
Mike Pall
aa502203a6 Add missing FOLD rule for CONV.u64.int + sign-extension. 2011-10-22 02:03:07 +02:00
Mike Pall
a39aac0445 Fix FOLD rule for CONV.flt.num(CONV.num.flt(x)) => x. 2011-10-19 01:52:50 +02:00
Mike Pall
270de2d6cc Add missing FOLD rule for integer NEG of constants. 2011-10-17 17:21:09 +02:00
Mike Pall
f34ac81e3a Remove unneeded PHI barrier for reassociation of duplicate ops. 2011-10-10 20:35:42 +02:00
Mike Pall
8c5935000d Add narrowing of modulo operator. 2011-06-03 18:48:02 +02:00
Mike Pall
fff2fb31f9 ARM: Don't generate unaligned XLOADs. 2011-06-02 01:46:23 +02:00
Mike Pall
7683f39786 ARM: Fix math.ldexp() recording and folding. 2011-05-27 02:03:02 +02:00