Commit Graph

1593 Commits

Author SHA1 Message Date
Mike Pall
c1328e9795 x86: Fix stack slot counting for IR_CALLA (affects table.new). 2013-12-26 11:03:25 +01:00
Mike Pall
c41e65499c Show trailing NYI item for stitched trace with -jv. 2013-12-25 20:56:20 +01:00
Mike Pall
b5d741fa7e Add trace stitching. 2013-12-25 02:55:25 +01:00
Mike Pall
6e02c210c4 Merge branch 'master' into v2.1 2013-12-25 00:27:55 +01:00
Mike Pall
ca67c89f20 MIPS: Cosmetic fix for interpreter. 2013-12-25 00:26:18 +01:00
Mike Pall
e52119bbdd Merge branch 'master' into v2.1 2013-12-22 11:46:06 +01:00
Mike Pall
89e8d70701 Fix compilation of string.byte(s, nil, n). 2013-12-22 11:43:44 +01:00
Mike Pall
b03cebe1f6 Merge branch 'master' into v2.1 2013-12-21 16:49:53 +01:00
Mike Pall
279673ddfc Fix MinGW build. 2013-12-21 16:49:10 +01:00
Mike Pall
585dd449b5 Merge branch 'master' into v2.1 2013-12-09 00:32:08 +01:00
Mike Pall
0ded8e82a8 Fix call unroll checks in the presence of metamethod frames. 2013-12-09 00:29:56 +01:00
Mike Pall
5c7db3c4fc Merge branch 'master' into v2.1 2013-12-02 09:19:06 +01:00
Mike Pall
916f09d0a9 x64: Fix store to upvalue for lightuserdata values. 2013-12-02 09:18:01 +01:00
Mike Pall
4593fb5e29 Add table.clear(). 2013-11-25 15:19:17 +01:00
Mike Pall
c378f7dbb8 Abstract out post-registration handling of pre-registered modules. 2013-11-25 15:17:44 +01:00
Mike Pall
a8c3862d63 Merge branch 'master' into v2.1 2013-11-22 05:45:33 +01:00
Mike Pall
f371ed6bd8 Respect jit.off(func) when returning to a function, too. 2013-11-22 05:42:56 +01:00
Mike Pall
b00a0260dd Merge branch 'master' into v2.1 2013-11-22 05:14:37 +01:00
Mike Pall
9d90988347 Follow-up fix for GC step threshold fix. 2013-11-22 05:13:13 +01:00
Mike Pall
94bfa7cfa6 Merge branch 'master' into v2.1 2013-11-21 13:47:19 +01:00
Mike Pall
751eacec7b Improve msvcbuild.bat static linking. 2013-11-21 13:47:07 +01:00
Mike Pall
ffabcc4445 Merge branch 'master' into v2.1 2013-11-07 13:30:20 +01:00
Mike Pall
5a25a735f5 Fix type punning alias analysis for constified pointers. 2013-11-07 13:29:20 +01:00
Mike Pall
8a2b2beac2 Merge branch 'master' into v2.1 2013-11-05 19:46:41 +01:00
Mike Pall
8941b1994e Fix for last commit 2013-11-05 19:45:04 +01:00
Mike Pall
5c55b766bd Merge branch 'master' into v2.1 2013-11-05 19:41:21 +01:00
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