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
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
Mike Pall
0eee70cd4d
Add -b command line option to save/list bytecode.
2011-06-13 01:04:23 +02:00
Mike Pall
4994fcc32c
Add support for bytecode loading/saving.
2011-06-13 01:04:11 +02:00
Mike Pall
9da94d1355
Add recursive dump option to jit.bc.dump().
2011-06-12 23:51:13 +02:00
Mike Pall
0c8696dfbf
No need for L argument to lj_str_initbuf().
2011-06-12 21:09:20 +02:00
Mike Pall
287de611a2
FFI: Support __tostring metamethod for pointers to structs, too.
2011-06-11 18:30:22 +02:00
Mike Pall
a58eb604f4
Make .eh_frame section read-write on Solaris.
2011-06-11 15:57:03 +02:00
Mike Pall
27d8d3b5d9
Fix check for missing arguments in string.format().
2011-06-10 13:47:11 +02:00
Mike Pall
b6a7fc5330
Cleanup prototype flags.
2011-06-09 13:54:40 +02:00
Mike Pall
96cc99bd6a
Remove bogus assertion for GC estimate vs. threshold.
2011-06-09 01:34:10 +02:00
Mike Pall
8c32b38ca3
Flatten and compress in-memory debug info (saves ~70%).
2011-06-09 01:27:37 +02:00
Mike Pall
585cf05dbd
Move debugging/introspection functionality to lj_debug.c.
2011-06-07 21:37:24 +02:00
Mike Pall
b44ccd4263
Fix compiler warning.
2011-06-07 21:28:31 +02:00
Mike Pall
a0840d2695
FFI: Print NULL pointers as "cdata<... *>: NULL".
2011-06-07 21:10:04 +02:00
Mike Pall
a7ca722dca
FFI: Show address pointed to for tostring(pointer).
2011-06-07 20:57:32 +02:00
Mike Pall
51ee3d951e
Minor change to bytecode penalty code for consistency.
2011-06-07 20:44:55 +02:00
Mike Pall
f50d8986d8
Fix data-flow analysis for BC_UCLO.
2011-06-07 11:51:04 +02:00
Mike Pall
22946f268b
FFI: Change tonumber(cdata) semantics. Return nil for non-numbers.
2011-06-06 19:56:55 +02:00
Mike Pall
a48058a791
ARM: Add fast assembler implementation of floor/ceil/trunc.
2011-06-05 23:38:23 +02:00
Mike Pall
a175754ab7
PPC: Add lj_vm_floor which is callable from C.
2011-06-05 23:36:49 +02:00
Mike Pall
7ad4908a48
ARM: Fuse XLOAD/XSTORE operands.
2011-06-05 18:59:35 +02:00
Mike Pall
b88eaa11f3
Add stdint.h replacement for Symbian. Sigh.
2011-06-03 20:21:10 +02:00
Mike Pall
8c5935000d
Add narrowing of modulo operator.
2011-06-03 18:48:02 +02:00
Mike Pall
eec28aa9fd
Move math helpers to lj_vmmath.c. Add missing log2/exp2 for Symbian.
2011-06-03 17:15:44 +02:00
Mike Pall
77bb8de93d
ARM: Disable C++ exception catching on Symbian.
2011-06-03 12:23:43 +02:00
Mike Pall
84e33332a7
ARM: Enable JIT compiler (except for iOS).
2011-06-02 03:19:23 +02:00
Mike Pall
5d82cfd091
ARM: Add ARM-specific assembler backend.
2011-06-02 03:18:26 +02:00
Mike Pall
fff2fb31f9
ARM: Don't generate unaligned XLOADs.
2011-06-02 01:46:23 +02:00
Mike Pall
a770bf3741
Many soft-float-related fixes to SPLIT pass and assembler backend.
2011-06-02 01:24:36 +02:00
Mike Pall
9e153003b4
ARM: Catch C++ exceptions in interpreter frames.
2011-06-02 01:21:32 +02:00
Mike Pall
8dd09d5041
DUALNUM: Fix missing type check for loop index slot.
2011-06-01 00:49:29 +02:00
Mike Pall
2d0b32500e
ARM: Tune rematerialization scheduler.
2011-05-31 21:50:14 +02:00
Mike Pall
865ec114a7
FFI: Fix recording of casts from 32 bit pointers to integers.
2011-05-31 21:39:37 +02:00
Mike Pall
a522087371
x86/x64: Minor cleanup in assembler backend.
2011-05-31 21:39:09 +02:00
Mike Pall
496d3753f5
ARM: Optimize hash algorithm for 3-operand CPUs.
2011-05-31 21:38:16 +02:00
Mike Pall
514ccfceb8
ARM: Fix __newindex metamethod handling for BC_TSETB.
2011-05-31 21:37:44 +02:00
Mike Pall
0764c615fd
ARM: Fix string.sub() argument checks.
2011-05-31 21:35:03 +02:00
Mike Pall
03b5c8c935
Clean up memory allocator initialization and catch early OOM.
2011-05-30 01:32:50 +02:00
Mike Pall
638f968978
FFI: Avoid unused functions if FFI is disabled.
2011-05-27 02:15:55 +02:00
Mike Pall
12dc697eae
ARM: Interpreter/JIT integration, part #2 .
2011-05-27 02:06:05 +02:00
Mike Pall
7683f39786
ARM: Fix math.ldexp() recording and folding.
2011-05-27 02:03:02 +02:00
Mike Pall
7bad42a3ba
Fix compiler warning.
2011-05-27 02:01:36 +02:00
Mike Pall
46955be1e2
Fix handling of number constants in snapshots in SPLIT pass.
2011-05-27 01:56:25 +02:00
Mike Pall
840a067d4e
ARM: Fix rematerialization scheduler.
2011-05-26 18:05:19 +02:00
Mike Pall
8d4400331d
ARM: Flush instruction cache in assembler backend.
2011-05-26 18:04:01 +02:00
Mike Pall
4057620bf5
Treat extra exit from stack check like a parent exit.
2011-05-26 18:02:42 +02:00
Mike Pall
625ef8626f
Simplify helper routines for soft-float targets. Add POW rejoin.
2011-05-26 18:01:55 +02:00
Mike Pall
ae3179926a
ARM: Add CPU detection.
2011-05-26 17:58:29 +02:00
Mike Pall
185554b682
ARM: Unify rotates to simplify assembler backend.
2011-05-23 20:20:34 +02:00
Mike Pall
7b21a660a8
FFI: Fix __gc for VLA/VLS cdata objects.
2011-05-23 02:43:36 +02:00
Mike Pall
afad72af25
ARM: Add ARM-specific tuning to generic assembler backend.
2011-05-22 17:54:28 +02:00
Mike Pall
aaba681056
ARM: Add rematerialization scheduler for constants to backend.
2011-05-22 17:50:36 +02:00
Mike Pall
138f54352a
Split up FP IR instructions with SPLIT pass for soft-float targets.
2011-05-22 17:44:58 +02:00
Mike Pall
d0115c65f5
More portability cleanups for assembler backend.
2011-05-22 17:13:16 +02:00
Mike Pall
919ba5fd74
Add missing guard to for loop argument conversion.
2011-05-22 16:47:55 +02:00
Mike Pall
effdfda673
Move IR_CALL* definitions to lj_ircall.h.
2011-05-22 16:28:43 +02:00
Mike Pall
3a942d6cea
Portability cleanups for assembler backend.
2011-05-17 21:26:00 +02:00
Mike Pall
fb46370e56
Cleanup of target dependencies.
2011-05-16 19:32:47 +02:00
Mike Pall
dab4bcafba
Add target-specific macro for stack alignment in assembler backend.
2011-05-16 02:43:14 +02:00
Mike Pall
6cb123bb99
Fix compiler warning.
2011-05-16 02:41:47 +02:00
Mike Pall
a251a28bd5
ARM: Add support for GDB JIT API.
2011-05-16 02:40:59 +02:00
Mike Pall
1ac71f1fa8
ARM: Add LJ_SOFTFP define. Add support for soft-float slot handling.
2011-05-16 02:38:07 +02:00
Mike Pall
be73a96751
ARM: Generalize machine code co-location. ARM has a +-32MB range.
2011-05-16 02:29:44 +02:00
Mike Pall
58f38c254b
Move x86/x64 parts of JIT assembler backend to extra files.
2011-05-12 01:35:09 +02:00
Mike Pall
800349387a
Disentangle target-specific parts of JIT assembler backend.
2011-05-12 01:27:20 +02:00
Mike Pall
b79cdba3a0
Tuning loop unrolling heuristics again.
2011-05-10 16:55:23 +02:00
Mike Pall
65d9c7cb5e
ARM: Fix table/userdata equality comparisons in interpreter.
2011-05-09 22:41:12 +02:00
Mike Pall
c8308e2a87
ARM: Interpreter/JIT integration, part #1 .
2011-05-09 22:39:53 +02:00
Mike Pall
67d3ac9b19
Fix some portability issues with the JIT compiler.
2011-05-09 20:46:58 +02:00
Mike Pall
28e87d33e9
Use common helper functions for unaligned loads.
2011-05-09 18:09:29 +02:00
Mike Pall
d9c1f771a7
FFI: Allow setting errno with ffi.errno(), too.
2011-05-09 11:52:54 +02:00
Mike Pall
868ecad32b
FFI: Add ffi.errno().
2011-05-08 22:34:40 +02:00
Mike Pall
77ba7726e2
FFI: Save errno/GetLastError() around allocations, hooks etc.
2011-05-08 22:33:04 +02:00
Mike Pall
87553d9e77
Avoid name clash with Windows MM_MAX define.
2011-05-08 22:31:03 +02:00
Mike Pall
16369d5a64
x86/x64: Fix bit.* argument checking.
2011-05-06 16:06:02 +02:00
Mike Pall
cfdc356ebe
RELEASE LuaJIT-2.0.0-beta7
2011-05-05 16:31:13 +02:00
Mike Pall
693b629787
Improve bytecode optimization of and/or operators.
2011-05-05 15:49:11 +02:00
Mike Pall
6534152b44
Fix compiler warning.
2011-05-04 23:45:02 +02:00
Mike Pall
704752c612
FFI: Fix field alignment for iOS.
2011-05-04 23:30:37 +02:00
Mike Pall
fb8b87e818
More tuning of loop unrolling heuristics.
2011-05-04 23:21:46 +02:00
Mike Pall
b4006ba9a8
Fix stack slot updates for down-recursion.
2011-05-04 21:34:21 +02:00
Mike Pall
139175f8c4
Tune loop unrolling heuristics. Increase trace recorder limits.
2011-05-03 21:14:18 +02:00
Mike Pall
c77ca54564
FFI: Compile C function calls with 64 bit args/results in 32 bit mode.
2011-04-29 19:40:50 +02:00
Mike Pall
eb7b452d53
x86: Pop unused FP result from x87 stack.
2011-04-29 19:35:25 +02:00
Mike Pall
b4cfaa62ac
Improve target OS selection for buildvm.
2011-04-29 09:23:00 +02:00
Mike Pall
0ba34ffe50
ARM: Fix ABI and build issues for iOS. Now works on iOS 3.0+.
2011-04-28 19:41:34 +02:00
Mike Pall
0b606061db
ARM: Use own lj_bswap(). Reduce min. req. version of GCC to 4.2.
2011-04-28 12:33:31 +02:00
Mike Pall
5d096dcfde
FFI: Add ffi.istype() function.
2011-04-20 01:53:26 +02:00
Mike Pall
9ea679410c
Workaround to compile with Clang. Fix Clang warnings.
2011-04-19 17:12:41 +02:00
Mike Pall
e94a12f4f6
Fix compiler warning.
2011-04-19 16:19:34 +02:00
Mike Pall
b3d10cdf62
ARM: Workaround for unaligned accesses.
2011-04-19 16:09:07 +02:00
Mike Pall
4fbacaf887
ARM: Allow compilation in thumb mode (CCOPT_ARM=-mthumb).
2011-04-18 23:44:06 +02:00
Mike Pall
a1ffb6114f
ARM: Add missing FFI functionality. Enable FFI for ARM.
2011-04-18 21:24:47 +02:00
Mike Pall
38a842a474
Add common TARGET_FLAGS option to Makefile.
2011-04-17 12:48:01 +02:00
Mike Pall
54994ef7be
ARM: Enable ARM port.
2011-04-17 02:36:10 +02:00
Mike Pall
7bb4b0f570
ARM: Normalize results of math.floor()/ceil() fast functions.
2011-04-17 02:31:00 +02:00
Mike Pall
32db4525d9
ARM: Misc. fixes for interpreter.
2011-04-16 23:32:44 +02:00
Mike Pall
add553edd8
ARM: Add integer variant of modulo operator.
2011-04-16 23:29:57 +02:00
Mike Pall
d636a3decd
ARM: Add partial support for FFI.
2011-04-16 23:28:51 +02:00
Mike Pall
fc40214279
ARM: Add coroutine.resume/wrap_aux/yield() fast functions.
2011-04-16 23:26:11 +02:00
Mike Pall
5f08a50506
FFI: Fix arithmetic ctype metamethods for references.
2011-04-15 19:02:47 +02:00
Mike Pall
31e0774a9e
FFI: Fix cdata finalization.
2011-04-13 21:37:54 +02:00
Mike Pall
1fa0cc09b3
PPC: Fix L->status for resume after yield.
2011-04-13 02:28:25 +02:00
Mike Pall
0001a7fced
ARM: Add BC_VARG and BC_TSETM.
2011-04-13 02:24:56 +02:00
Mike Pall
7aa7069271
ARM: Add dispatch targets for hooks.
2011-04-13 02:24:18 +02:00
Mike Pall
46d97d28f0
ARM: Add modulo subroutine and temp. math.floor()/math.ceil().
2011-04-13 02:22:59 +02:00
Mike Pall
3b6f37dd2c
FFI: Add ctype metamethods and ffi.metatype().
2011-04-12 19:16:39 +02:00
Mike Pall
fa5cd010e8
Add support for tailcalls from internal C functions.
...
PPC: Fix __call metamethod for tailcalls.
2011-04-12 19:13:11 +02:00
Mike Pall
23f847f4ed
Optimize lookups in empty proxy tables.
2011-04-10 21:43:21 +02:00
Mike Pall
a1f66abe4e
Avoid phantom stores to proxy tables.
2011-04-10 21:41:58 +02:00
Mike Pall
efcaef22bd
Inline lj_gc_barrierback().
2011-04-10 20:45:36 +02:00
Mike Pall
d85b7e636e
Fix recording of JLOOP with higher maxslot.
2011-04-10 18:00:08 +02:00
Mike Pall
f69524f7f1
PPC: Misc. fixes for interpreter.
2011-04-10 17:04:10 +02:00
Mike Pall
54e986a51d
ARM: Misc. fixes for interpreter.
2011-04-10 17:00:32 +02:00
Mike Pall
040c8c5737
ARM: Add string.* fast functions and GC steps.
2011-04-10 16:59:38 +02:00
Mike Pall
da1ef8c3b0
ARM: Add rawget() fast function.
2011-04-10 16:59:00 +02:00
Mike Pall
89022b4c3e
Use lj_vm_tobit() on targets without FPU.
2011-04-10 16:58:22 +02:00
Mike Pall
f089f3954c
ARM: Add bit.* fast functions and lj_vm_tobit().
2011-04-10 16:56:13 +02:00
Mike Pall
27bf481669
ARM: Misc. fixes for interpreter.
2011-04-08 03:03:10 +02:00
Mike Pall
b56784aae2
ARM: Add BC_CAT and lj_cont_cat.
2011-04-08 03:01:37 +02:00
Mike Pall
b1912f3325
ARM: Add missing metamethod handlers and continuations.
2011-04-08 02:57:22 +02:00
Mike Pall
aee129a789
ARM: Add tailcall instructions.
2011-04-08 02:54:11 +02:00
Mike Pall
16e0ecaf54
ARM: Add table.getn() fast function.
2011-04-08 02:52:24 +02:00
Mike Pall
9e18260fb4
ARM: Add upvalue get/set and closure-related instructions.
2011-04-08 02:50:56 +02:00
Mike Pall
3af41060c7
ARM: Add test/copy and comparison instructions.
2011-04-08 02:48:55 +02:00
Mike Pall
83e302938b
ARM: Add math.* fast functions.
2011-04-08 02:47:19 +02:00
Mike Pall
1f4f805c96
ARM: Add getmetatable(), setmetatable() and tonumber() fast functions.
2011-04-08 02:42:04 +02:00
Mike Pall
0046f955eb
ARM: Handle stack growth during function calls.
2011-04-08 02:44:56 +02:00
Mike Pall
1a56dacbcf
ARM: Add build rules (still disabled).
2011-04-07 16:08:34 +02:00
Mike Pall
ee644872e3
FFI: Register the FFI library as a loaded module in luaopen_ffi().
...
Allows loading it on startup like other libraries in lib_init.c.
2011-04-06 01:31:21 +02:00
Mike Pall
66a1006175
Fuse XLOAD/XSTORE operands more aggressively.
2011-04-05 16:32:27 +02:00
Mike Pall
3acd4892e9
Add FOLD rule for FLOAT->NUM->FLOAT conversions.
2011-04-05 16:31:48 +02:00
Mike Pall
48438b9e13
Fix code generation for PHIs with type IRT_FLOAT.
2011-04-05 16:29:40 +02:00
Mike Pall
5b7a8baea4
x64: Fix getmetatable(lightuserdata).
2011-04-05 13:00:13 +02:00
Mike Pall
314995aebf
ARM: Finish basic table indexing and add metamethod handlers.
2011-04-05 00:25:31 +02:00
Mike Pall
a7874cb299
ARM: Add assert() and type() fast functions.
2011-04-05 00:24:23 +02:00
Mike Pall
43d7db62d1
ARM: Add pcall() and xpcall() fast functions and unwinders.
2011-04-05 00:23:05 +02:00
Mike Pall
959683c77c
PPC: Minor cleanups of interpreter.
2011-04-04 02:00:38 +02:00
Mike Pall
6511941348
ARM: Add fast functions pairs()/next() and ipairs() + iterator.
2011-04-04 01:56:41 +02:00
Mike Pall
5b146f61b5
ARM: Add tostring() fast function.
2011-04-04 01:55:41 +02:00
Mike Pall
6110faadd8
ARM: Add basic infrastructure for fast functions.
2011-04-04 01:54:56 +02:00
Mike Pall
dd4a043b78
ARM: Add table indexing with string keys. Add get global.
2011-04-04 01:51:29 +02:00