Commit Graph

1556 Commits

Author SHA1 Message Date
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
Mike Pall
7498ee204e Fix argument error handling on Lua stacks without a frame. 2012-02-22 16:27:44 +01:00
Mike Pall
5e113d0058 Fix argument type in error message for relative arguments. 2012-02-22 16:26:50 +01:00
Mike Pall
ff71394931 From Lua 5.2: Try __tostring metamethod on non-string error messages. 2012-02-13 20:08:29 +01:00
Mike Pall
8e524d437e Fix bytecode dump for certain number constants. 2012-02-04 00:32:45 +01:00
Mike Pall
d72d758a11 FFI: Fix library unloading on POSIX systems. 2012-02-01 18:21:12 +01:00
Mike Pall
10ef109eef Bump copyright date to 2012. 2012-01-23 22:42:42 +01:00
Mike Pall
5bed11e6b4 MIPS: Add interpreter. Enable MIPS build rules. 2012-01-23 22:24:11 +01:00
Mike Pall
7d2774e4c5 PPC: Avoid pointless arg clearing in BC_IFUNCF. Remove dead code. 2012-01-23 19:18:40 +01:00
Mike Pall
9f485115ef PPC: Fix argument checking for rawget. 2012-01-23 19:14:19 +01:00
Mike Pall
0a8fd0af8c PPC: Fix resume after yield from hook. 2012-01-23 19:13:26 +01:00
Mike Pall
93a71f6a52 ARM: Avoid pointless arg clearing in BC_IFUNCF. Fix comments. 2012-01-23 19:17:19 +01:00
Mike Pall
a72134e280 Fix parsing of hex literals with exponents. 2012-01-20 11:38:14 +01:00
Mike Pall
2f396c6db7 FFI: Don't touch frame in callbacks with tailcalls to fast functions. 2012-01-15 17:05:34 +01:00
Mike Pall
248cf2ffa9 FFI: Ignore number parsing errors while skipping definitions. 2011-12-17 15:02:53 +01:00
Mike Pall
d050b2fff5 FFI: Ignore empty statements in ffi.cdef(). 2011-12-17 15:02:00 +01:00
Mike Pall
b330b468b3 MIPS: Add build rules (non-functional, yet). 2011-12-15 20:39:30 +01:00
Mike Pall
b61be299c9 Auto-detect target arch via cross-compiler. Drop TARGET=arch. 2011-12-15 19:16:06 +01:00
Mike Pall
6ace80c897 RELEASE LuaJIT-2.0.0-beta9 2011-12-14 15:12:49 +01:00
Mike Pall
a064156d5d PPC: Avoid undefined operand dereference in BAND/shift fusion. 2011-12-13 18:05:51 +01:00
Mike Pall
03c51fc578 FFI: Add callback support for ARM. 2011-12-12 23:16:55 +01:00
Mike Pall
1b0d646004 FFI: Add callback support for PPC. 2011-12-12 23:11:49 +01:00
Mike Pall
10474987bd Move helper for syncing data/instruction cache to lj_mcode.c.
Sync caches after dynamic code generation for FFI callbacks.
2011-12-12 23:10:46 +01:00
Mike Pall
2d8f3d75df ARM: Error out for attempt to compile with hard-float ABI. 2011-12-10 17:15:38 +01:00
Mike Pall
60b8e9e2fb ARM: Fix stack check for spilled BASE in parent. 2011-12-10 00:18:19 +01:00
Mike Pall
2591b4524a x64: Always extend stack arguments to pointer size. 2011-12-09 16:00:04 +01:00
Mike Pall
63981436f7 Fix compiler warning. 2011-12-09 15:57:20 +01:00
Mike Pall
e162d8cef0 FFI: Fix stack adjustment for calls to stdcall/fastcall functions. 2011-12-01 16:27:24 +01:00
Mike Pall
ff7e9bc464 FFI: Need to treat strlen() as a load. 2011-11-27 18:22:48 +01:00
Mike Pall
0a31c6373c Don't increment module reference counts due to symbol resolving. 2011-11-27 11:45:55 +01:00
Mike Pall
e3c7476533 FFI: Record ffi.errno(). 2011-11-26 16:56:09 +01:00
Mike Pall
1a42c03807 Fix stack check in side exit. 2011-11-25 19:36:48 +01:00
Mike Pall
c142b6c53e FFI: Record C function calls with bool return values. 2011-11-25 19:36:35 +01:00
Mike Pall
b3f16cb64d FFI: Fix line info for result conversion errors in callbacks. 2011-11-25 19:35:58 +01:00
Mike Pall
90c445851f FFI: Fix GetLastError() save/restore around ffi.load(). 2011-11-25 12:25:51 +01:00
Mike Pall
c2dcf39ee3 FFI: Improve ld script detection in ffi.load(). 2011-11-25 11:19:59 +01:00
Mike Pall
923738459d Do not eliminate PHIs only referenced from other PHIs. 2011-11-24 00:42:14 +01:00
Mike Pall
bd758df76a Replace stack slot for implicit number->string conv. in Lua/C API. 2011-11-21 20:50:27 +01:00
Mike Pall
cecbe3c15f Specialize to prototype for non-monomorphic functions.
Solves the trace-explosion problem with closure-heavy programming.
2011-11-20 19:16:40 +01:00
Mike Pall
cc7a12be93 Count frames with same prototype in call unroll limit check. 2011-11-20 17:59:41 +01:00
Mike Pall
f8a4769fb2 Keep maximum frame extent in snap->topslot. 2011-11-20 17:56:47 +01:00
Mike Pall
dc2a39e46d Get rid of snap->depth. 2011-11-20 13:23:25 +01:00
Mike Pall
726dc42c32 Fix debug option for msvcbuild.bat. 2011-11-17 17:34:23 +01:00
Mike Pall
b1efcef745 FFI: Add missing GC barrier for callback registration. 2011-11-15 16:43:43 +01:00
Mike Pall
d4df8d7825 FFI: Save GetLastError() around ffi.load() and symbol resolving, too. 2011-11-15 16:37:06 +01:00
Mike Pall
8437d0c48d Eliminate some rare occurrences of redundant PHIs. 2011-11-14 23:57:05 +01:00
Mike Pall
87456f73f5 Fix hint-based register allocation in ra_dest(). 2011-11-14 23:52:26 +01:00
Mike Pall
71d00a56db FFI: Add callback support (for x86/x64). 2011-11-14 14:18:25 +01:00
Mike Pall
ae79ff4e53 FFI: Resolve __call metamethod for pointers, too. 2011-11-14 12:01:48 +01:00
Mike Pall
4d59752217 Avoid dependence on lj_jit.h if only including lj_target.h. 2011-11-12 01:16:43 +01:00
Mike Pall
635371c212 FFI: Add unwind definitions for lj_vm_ffi_call.
Adds exception interoperability for C/C++ functions called via FFI
from the interpreter.
2011-11-12 01:16:10 +01:00
Mike Pall
fa1675baad ARM: Fix IR splitting for softfp XLOAD. 2011-11-11 01:07:34 +01:00
Mike Pall
4bcf2b40fe ARM: Fix code generation for type-check only softfp [AHUV]LOAD. 2011-11-11 01:05:37 +01:00
Mike Pall
f1849fa928 x64: Fix lightuserdata comparisons. 2011-11-04 14:49:27 +01:00
Mike Pall
7b0157aa99 Spelling. 2011-11-04 14:07:19 +01:00
Mike Pall
2dc574d06b FFI: Compile calls to stdcall, fastcall and vararg functions. 2011-10-27 01:57:30 +02:00
Mike Pall
1d190c99a2 PPC: Fuse BAND with shift to rlwinm. 2011-10-25 21:29:58 +02:00
Mike Pall
455917fa0a Add more FOLD rules for shift + BAND simplifications. 2011-10-25 21:16:27 +02:00
Mike Pall
17cb366fc9 x64: Fix code generation for BSWAP. 2011-10-25 21:14:01 +02:00
Mike Pall
179fe9e5d8 PPC: Fuse BSWAP with XLOAD/XSTORE to lwbrx/stwbrx. 2011-10-25 19:50:44 +02:00
Mike Pall
ca2b923026 PPC/e500: Fix write barrier in USETS. 2011-10-25 12:42:13 +02:00
Mike Pall
bec4d20fb6 PPC: Fix write barrier in USETV/USETS. 2011-10-25 00:30:41 +02:00
Mike Pall
0cf8c20be8 PPC: Integrate and enable JIT compiler. 2011-10-24 16:43:51 +02:00
Mike Pall
fa9ade356b Allow selection of single-number vs. dual-number mode in Makefile. 2011-10-24 16:35:17 +02:00
Mike Pall
96d8611d1b PPC: Fix/improve interpreter/JIT integration.
Switch to per-trace exit stubs.
Drop register holding current trace number.
2011-10-24 16:24:47 +02:00
Mike Pall
167f638f91 PPC: Generalize rematerialization handling. 2011-10-24 16:21:11 +02:00
Mike Pall
826fb377ec PPC: Add support for GDB JIT API. 2011-10-24 16:20:04 +02:00
Mike Pall
3591609dad PPC: Add Linux/PPC cache flush mechanism.
GCC's __clear_cache() does nothing on PPC. Duh.
2011-10-24 16:18:02 +02:00
Mike Pall
8fc9bc1724 Make sure to flush/sync the D/I-cache for all generated code. 2011-10-24 16:16:14 +02:00
Mike Pall
32098921fd Fix handling of alignment arguments (nil) to CALLX. 2011-10-24 16:14:01 +02:00
Mike Pall
cb1dd159e3 PPC: Add support for per-trace exit stubs. 2011-10-24 16:13:12 +02:00
Mike Pall
a0d7827554 Generalize handling of stack checks indicated by highest exit + 1. 2011-10-24 16:11:38 +02:00
Mike Pall
84683405fb Don't save/restore tmptv with copyTV. 2011-10-24 15:58:54 +02:00
Mike Pall
86a5cc427d Fix compiler warning. 2011-10-24 15:58:24 +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
fee957b22d FFI: Cleanup/fix 64 bit arithmetic in assembler backend. 2011-10-22 02:02:51 +02:00
Mike Pall
2e5c0870bc x64: Fix math.random() code generation. 2011-10-22 02:01:44 +02:00
Mike Pall
c01aaad890 Fix register hints for arithmetic helper functions. 2011-10-22 02:00:15 +02:00
Mike Pall
c805a49d30 Separate/rename NUM/FLOAT <-> I64/U64 conversion functions. 2011-10-22 01:59:10 +02:00
Mike Pall
ff7f7a7180 Cleanup various endianess issues in assembler backend. 2011-10-22 01:35:57 +02:00
Mike Pall
e80478c44b Rearrange defines for workarounds to embedded operating systems. 2011-10-19 18:14:46 +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
45df079c01 FFI/x86: Fix CONV.u32.num rounding. 2011-10-19 00:18:36 +02:00
Mike Pall
2fcd562582 Don't fuse colocated array offsets without -Ofuse. 2011-10-19 00:17:19 +02:00
Mike Pall
f50075a9d7 Fixup PC in tracebacks after exits from down-recursive traces. 2011-10-17 20:06:04 +02:00
Mike Pall
270de2d6cc Add missing FOLD rule for integer NEG of constants. 2011-10-17 17:21:09 +02:00
Mike Pall
c5164b1a7d FFI/ARM: Ensure invocation of SPLIT pass for float conversions. 2011-10-14 01:09:30 +02:00
Mike Pall
4c9318792f Save tmptv state for trace recorder across RECORD vmevent. 2011-10-14 00:43:17 +02:00
Mike Pall
882537a874 FFI: Fix unfused loads of float fields. 2011-10-13 20:53:01 +02:00
Mike Pall
bc95d54ec9 FFI: Fix call argument and return handling for I8/U8/I16/U16 types. 2011-10-13 20:44:31 +02:00
Mike Pall
120c3adbff FFI: Record loads/stores to external variables in namespaces. 2011-10-11 20:58:04 +02:00
Mike Pall
4a144625c9 FFI: Fix recording of const/enum lookups in namespaces. 2011-10-11 11:51:48 +02:00
Mike Pall
f34ac81e3a Remove unneeded PHI barrier for reassociation of duplicate ops. 2011-10-10 20:35:42 +02:00
Mike Pall
76a2a7c857 Avoid overwriting argument with error from metacall recording. 2011-09-28 17:29:15 +02:00
Mike Pall
3c998f6c3c Fix (harmless) typo. 2011-09-21 08:22:07 +02:00
Mike Pall
da9c74f163 ARM: Fix HREFK code generation. 2011-09-21 08:21:25 +02:00
Mike Pall
c5e75e7893 Generate a portable vmdef.lua. 2011-09-20 21:15:05 +02:00
Mike Pall
5fedf72ca6 PPC/e500: Fix GC barrier for TSETM. 2011-09-17 21:59:56 +02:00
Mike Pall
1a899ff671 PPC: Fix GC barrier for TSETM. 2011-09-14 16:03:02 +02:00
Mike Pall
6d854c04fe ARM: Fix GC barrier for TSETM. 2011-09-14 15:53:43 +02:00
Mike Pall
1c5fbd4c1d ARM: Disable CPU detection for interpreter-only builds. 2011-09-08 15:34:53 +02:00
Mike Pall
c56ae9f6ef Increase max. number of exit stub groups to correspond with -Omaxsnap. 2011-09-05 23:12:58 +02:00
Mike Pall
1b949dc60a Use some register allocator helpers for multiple architectures. 2011-09-05 20:23:20 +02:00
Mike Pall
ae3317b186 PPC: Interpreter/JIT integration. 2011-09-05 20:22:55 +02:00
Mike Pall
bab2f0efae PPC: Fix or remove assembler helper functions. 2011-09-05 18:34:11 +02:00
Mike Pall
690ff909f5 PPC: More interpreter tuning. Use y-bit for branch predictions. 2011-09-05 18:30:36 +02:00
Mike Pall
25a0e663db Always use ANSI variants of Windows system functions. 2011-09-02 11:42:01 +02:00
Mike Pall
32c1d4751a Avoid conversion narrowing of arithmetic with large constants. 2011-08-26 20:29:05 +02:00
Mike Pall
6627744752 FFI/x64: Fix struct-by-value calling conventions. 2011-08-25 11:10:39 +02:00
Mike Pall
78cc9c889d Record missing FORI slot loads (e.g. after return to lower frame). 2011-08-21 15:08:27 +02:00
Mike Pall
607bd88f57 Add potential PHI for number conversions due to type instability, too. 2011-08-17 20:42:41 +02:00
Mike Pall
aad7ea3c02 Load embedded bytecode with require(). 2011-08-17 00:10:12 +02:00
Mike Pall
4a42933b17 Replace some _Unwind_* types. Fixes build issues on OSX 10.7. 2011-08-14 11:35:53 +02:00
Mike Pall
10ffd05ba9 x64: Fix result type of cdata index conversions. 2011-08-11 22:05:35 +02:00
Mike Pall
05ef03e2d0 Don't bother to chain NOPs. 2011-08-11 22:04:38 +02:00
Mike Pall
e8fa76feac PPCSPE: Save/restore cr2, cr3 and cr4 when entering/leaving VM. 2011-08-10 22:33:52 +02:00
Mike Pall
d84207b8b6 PPC: Save/restore cr2, cr3 and cr4 when entering/leaving VM. 2011-08-10 21:56:10 +02:00
Mike Pall
28b98acd75 PPC: Tune and reschedule interpreter for PPC/e300. 2011-08-10 20:28:14 +02:00
Mike Pall
f333dfd17d Fix compiler warning. 2011-08-10 15:25:11 +02:00
Mike Pall
4c50e36cee Fix stack check when L->top is above L->maxstack. 2011-08-09 15:56:07 +02:00
Mike Pall
bed0f18466 Remove temporary mcode limit error from application stack. 2011-08-09 00:45:26 +02:00
Mike Pall
d9b518874d FFI: Limit snapshot optimization for cdata comparisons. 2011-08-07 21:53:43 +02:00
Mike Pall
4008b351f4 PPC: Add machine-specific part of FFI. 2011-08-01 18:59:16 +02:00
Mike Pall
26106759d4 PPC: Fix floor/ceil for dual-number mode. 2011-07-25 10:06:06 +02:00
Mike Pall
551f09cebd PPC: Add dual-number mode interpreter. Enable by default. 2011-07-25 00:18:20 +02:00
Mike Pall
ee2bb5efed Use different workaround for alignment of jit_State. 2011-07-23 17:53:09 +02:00
Mike Pall
d001d7b7ce FFI: Treat function ctypes like pointers in comparisons. 2011-07-23 16:29:47 +02:00
Mike Pall
b261d0ec04 From Lua 5.2: Change \* to \z. Reject undefined escape sequences. 2011-07-19 20:58:10 +02:00
Mike Pall
ca8dadb328 PPC: Add dual-number mode interpreter. 2011-07-13 21:36:17 +02:00
Mike Pall
6599bc7db2 PPCSPE: Fix dispatch for binop metamethods. 2011-07-13 21:33:51 +02:00
Mike Pall
9687472454 Cleanup single-number vs. dual-number mode selection. 2011-07-13 21:25:31 +02:00
Mike Pall
eb92daad0a ARM: Don't evict ASMREF_L in ra_evictk(). 2011-07-12 15:59:07 +02:00
Mike Pall
29ac908f74 FFI: Fix comment parsing. 2011-07-06 23:04:33 +02:00
Mike Pall
89201f2e66 Fix install_name and versioning on OSX. 2011-07-03 17:58:26 +02:00
Mike Pall
0239a56d37 PPC: Add build rules for PPC interpreter (non-functional, yet). 2011-07-03 15:19:34 +02:00
Mike Pall
161f1a5eb0 PPC: Separate PPC vs. PPCSPE interpreter source files. 2011-07-03 15:01:50 +02:00
Mike Pall
8addfefb33 PPC: Untangle PPC vs. PPCSPE target defines. 2011-07-02 00:45:38 +02:00
Mike Pall
8ccf89718c Add debug option to msvcbuild.bat and improve error handling. 2011-06-29 19:26:31 +02:00
Mike Pall
0af502f438 Don't use thread-safe exceptions on OSX. Complain to Apple, not me. 2011-06-29 11:27:09 +02:00
Mike Pall
64dbe7d929 Return to lower frame via interpreter for unhandled cases.
E.g. spontaneous upcalls from C are now compiled.
2011-06-29 01:53:39 +02:00
Mike Pall
82eca898db Prefer recording loops over calls.
Hotcounts are decremented by 2 for loops and by 1 for calls.
2011-06-29 01:52:23 +02:00
Mike Pall
deeb8196c4 Reorganize trace linking and track link types. 2011-06-28 23:23:34 +02:00
Mike Pall
3dbae4ffc2 Clean up temporary bytecode patching. 2011-06-28 23:19:36 +02:00
Mike Pall
999d95253a Fix forced unwinding triggered by external unwinder. 2011-06-27 21:09:01 +02:00
Mike Pall
2dd52500ab Use thread-safe exceptions for external unwinding on x64/GCC. 2011-06-27 20:14:28 +02:00
Mike Pall
db22ce2ba8 Fix iOS build. 2011-06-27 01:33:50 +02:00
Mike Pall
113f8e9ac2 Fix data-flow analysis for BC_ITERL. 2011-06-27 01:11:11 +02:00
Mike Pall
29e89adfa7 RELEASE LuaJIT-2.0.0-beta8 (fixed) 2011-06-23 19:40:21 +02:00
Mike Pall
9b0c641ac1 RELEASE LuaJIT-2.0.0-beta8 2011-06-23 17:15:02 +02:00
Mike Pall
6691e72eb8 Fix assertion. 2011-06-22 21:18:23 +02:00
Mike Pall
513bd6e952 x86/x64: Don't evict BASE in ra_evictk(). 2011-06-22 21:07:02 +02:00
Mike Pall
d4da9ff55e x86/x64: Fix register allocation for variable shifts. 2011-06-22 20:38:07 +02:00
Mike Pall
e2246db688 x86/x64: Fix fusion of comparisons with u8/u16 XLOAD. 2011-06-22 17:56:41 +02:00
Mike Pall
b6e4ffd079 Avoid pointless calls for std file handles on __gc. 2011-06-22 17:54:09 +02:00
Mike Pall
4df40a228f Fix recording of loops with instable directions in side traces. 2011-06-20 21:51:31 +02:00
Mike Pall
31d566428f From Lua 5.2: __len for tables. Needs -DLUAJIT_ENABLE_LUA52COMPAT. 2011-06-20 20:45:41 +02:00
Mike Pall
3d1563524f More fixes for the Solaris/x86 build. Thanks to Will Metcalf. 2011-06-14 16:44:20 +02:00
Mike Pall
9cf2cd2a11 Fix bytecode loading on Windows. 2011-06-14 12:47:48 +02:00
Mike Pall
bcc196eed3 Fix dumping of already stripped functions with debug info. 2011-06-13 03:22:10 +02:00