Mike Pall
7b4d5306c7
Fix GC steps threshold handling when called by JIT-compiled code.
...
Thanks to Cheng, Long.
2013-11-05 19:36:59 +01:00
Mike Pall
0315b87352
Merge branch 'master' into v2.1
2013-10-26 17:32:43 +02:00
Mike Pall
8944e27762
Fix handling of redundant PHIs.
2013-10-26 17:31:23 +02:00
Mike Pall
d8f05356ca
Merge branch 'master' into v2.1
2013-10-24 15:21:44 +02:00
Mike Pall
7e538b5f0a
Check for failure to mark memory as executable (restricted kernels).
2013-10-24 15:19:03 +02:00
Mike Pall
a014d5e65d
FFI: Compile conversions from functions to function pointers.
2013-10-16 19:51:42 +02:00
Mike Pall
570615300e
Merge branch 'master' into v2.1
2013-10-15 22:47:42 +02:00
Mike Pall
4fba08a9ac
Fix line number for relocated bytecode after closure fixup.
2013-10-15 22:46:39 +02:00
Mike Pall
d0b48ec996
Merge branch 'master' into v2.1
2013-10-14 19:34:06 +02:00
Mike Pall
5d25645a21
FFI: Rehash finalizer table after GC cycle, if needed.
2013-10-14 19:31:24 +02:00
Mike Pall
4ccb2dd3bb
Merge branch 'master' into v2.1
2013-10-10 14:34:39 +02:00
Mike Pall
3cdeb54a24
Check for MAP_32BIT presence instead of checking for Linux.
2013-10-10 14:34:04 +02:00
Mike Pall
1837d07082
Compile BC_TSETM, e.g. {1,2,3,f()}.
2013-10-09 23:51:30 +02:00
Mike Pall
e6e760ca9f
Compile getfenv(0).
2013-10-09 20:34:40 +02:00
Mike Pall
88c7785b87
FFI: Compile lightuserdata to void * conversion.
2013-10-09 17:23:08 +02:00
Mike Pall
c8cfca0557
Add table.new().
2013-10-09 17:02:01 +02:00
Mike Pall
47df3ae513
Properly fix loading of embedded bytecode.
2013-09-20 11:36:33 +02:00
Mike Pall
54af4e7c76
Fix loading of embedded bytecode.
2013-09-19 18:08:04 +02:00
Mike Pall
eec06a0e3b
Fix profiler/hook interaction.
2013-09-18 15:27:28 +02:00
Mike Pall
a51b8bf6b4
Fix build with profiler but without JIT compiler.
2013-09-18 15:17:39 +02:00
Mike Pall
b30a789ab8
Protect g->hookmask with lock when using profiler thread.
2013-09-16 11:23:10 +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
da1456584b
Merge branch 'master' into v2.1
2013-09-13 00:35:27 +02:00
Mike Pall
f1e7a4477c
Fix snapshot restore for exit to function header.
2013-09-13 00:33:58 +02:00
Mike Pall
0953b9a72d
Fix profiler stack dump for string chunks.
2013-09-11 23:51:46 +02:00
Mike Pall
1f2eff728b
Fix -jp=a mode.
2013-09-10 19:21:10 +02:00
Mike Pall
483f823ea4
Low-overhead profiler, part 7: console ports.
2013-09-10 01:25:33 +02:00
Mike Pall
803d4ddf0c
Fix non-FFI build.
2013-09-10 00:47:28 +02:00
Mike Pall
7dc6750eb3
Fix PS3 build.
2013-09-10 00:42:42 +02:00
Mike Pall
29078518c1
Add -jp=fl mode and minor fixes.
2013-09-10 00:02:20 +02:00
Mike Pall
2befb8b1de
Low-overhead profiler, part 5: add annotation mode for -jp.
2013-09-09 04:32:31 +02:00
Mike Pall
1fd2048c8d
Switch from -jp=n<top_n> to -jp=m<min_pct> as a threshold.
2013-09-09 04:26:12 +02:00
Mike Pall
cb336995a8
Merge branch 'master' into v2.1
2013-09-08 13:12:33 +02:00
Mike Pall
782787f1fa
FFI/x64: Fix passing of vector arguments to calls.
2013-09-08 13:11:02 +02:00
Mike Pall
0d41601e76
Merge branch 'master' into v2.1
2013-09-08 03:10:47 +02:00
Mike Pall
93c2b939bd
FFI: Fix argument checks for ffi.string().
2013-09-08 03:09:39 +02:00
Mike Pall
a13b9206dc
Load jit.util module on demand (saves 1 KB).
2013-09-08 03:01:00 +02:00
Mike Pall
d1194a82eb
Low-overhead profiler, part 4: JIT compiler support.
2013-09-08 02:53:23 +02:00
Mike Pall
d3d30d389b
Add notice when no samples were collected by -jp.
2013-09-08 02:50:48 +02:00
Mike Pall
f8e36535f7
Fix string.format("%#X", 1).
2013-09-03 16:11:39 +02:00
Mike Pall
f8cecffbbf
Merge branch 'master' into v2.1
2013-09-03 16:02:54 +02:00
Mike Pall
b6ec7c7c86
Fix quoting in xedkbuild.bat.
2013-09-03 16:02:33 +02:00
Mike Pall
7873c8dbf7
Recent GCC versions need more memory.
2013-09-03 15:55:37 +02:00
Mike Pall
fffe75a03b
Fix frame traversal for backtraces.
2013-09-03 15:53:21 +02:00
Mike Pall
eca0914d88
Add low-overhead profiler. Part 3: command line interface.
2013-09-02 01:57:56 +02:00
Mike Pall
b186fb835e
Add low-overhead profiler. Part 2: low-level Lua API.
2013-09-02 01:55:20 +02:00
Mike Pall
8a9519a5f4
Add internal API to add sub-modules to package.preload.
2013-09-02 01:55:07 +02:00
Mike Pall
4dce22c40d
Add low-overhead profiler. Part 1: interpreter, low-level C API.
2013-09-02 01:49:19 +02:00
Mike Pall
19c2dd17db
Add common helper for pointer to string formatting.
2013-08-31 19:38:20 +02:00
Mike Pall
517500ba48
Save currently executing lua_State in g->cur_L.
...
This is only a good approximation due to deficiencies in the design of
the Lua/C API. It indicates _some_ valid state that is/was executing.
Also reorder L->cframe stores to achieve a synchronously consistent state.
2013-08-30 23:38:17 +02:00
Mike Pall
5120240b77
Use g->jit_base for on/off-trace detection.
2013-08-26 18:28:58 +02:00
Mike Pall
b33e96f352
Merge branch 'master' into v2.1
2013-08-22 19:29:42 +02:00
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