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 |
|
Mike Pall
|
0e7009ddc8
|
ARM: Add table constructors.
|
2011-04-04 01:49:24 +02:00 |
|
Mike Pall
|
81fa9e34cd
|
ARM: Add call and iterator call instructions.
|
2011-04-04 01:47:23 +02:00 |
|
Mike Pall
|
85fff386ef
|
ARM: Add missing parts of return handling.
|
2011-04-04 01:46:08 +02:00 |
|
Mike Pall
|
f1c79f80c2
|
ARM: Minor fixes and cleanups for type checks.
|
2011-04-04 01:44:54 +02:00 |
|
Mike Pall
|
5b06b298a2
|
ARM: Add binary arithmetic instructions.
|
2011-03-30 21:56:05 +02:00 |
|
Mike Pall
|
a0e4711055
|
ARM: Add basic loop and branch instructions.
|
2011-03-30 21:54:33 +02:00 |
|
Mike Pall
|
7b0a125cf7
|
ARM: Add basic unary bytecode instructions.
|
2011-03-29 02:31:47 +02:00 |
|
Mike Pall
|
ca494b72a9
|
ARM: Add support to call Lua functions and return from them.
|
2011-03-29 02:30:41 +02:00 |
|
Mike Pall
|
c04a252a06
|
ARM: Add support to call C functions.
|
2011-03-29 02:29:27 +02:00 |
|
Mike Pall
|
cff08b2315
|
ARM: Add entry and exit points into VM. Add type check macros.
|
2011-03-29 02:24:35 +02:00 |
|
Mike Pall
|
3bcb48c6a1
|
ARM: Add frame unwind info for assembler part.
|
2011-03-29 02:23:05 +02:00 |
|
Mike Pall
|
71f976b02e
|
ARM: Add instruction/call decode + dispatch macros.
|
2011-03-29 02:26:09 +02:00 |
|
Mike Pall
|
98e3c8a8ff
|
ARM: Add register assignments, type definitions and stack layout.
|
2011-03-29 02:18:36 +02:00 |
|
Mike Pall
|
4c9a10f3ad
|
Avoid compiler warning.
|
2011-03-28 19:22:17 +02:00 |
|
Mike Pall
|
492efb7e7e
|
Clean up DynASM glue macros. Thanks to Josh Haberman.
|
2011-03-28 15:06:30 +02:00 |
|
Mike Pall
|
32aef8aee4
|
ARM: Add skeleton for ARM interpreter.
|
2011-03-26 18:42:41 +01:00 |
|
Mike Pall
|
b6ed984843
|
ARM: Add support for ARM relocations to buildvm.
|
2011-03-26 18:40:11 +01:00 |
|
Mike Pall
|
7088abce8f
|
DUALNUM: Fix narrowing of unary minus.
|
2011-03-19 17:46:10 +01:00 |
|
Mike Pall
|
a1c887e3b9
|
Fix data-flow analysis for BC_ITERC.
|
2011-03-19 17:30:15 +01:00 |
|
Mike Pall
|
642ae06916
|
x64: Use external unwinding for lua_yield().
|
2011-03-18 23:38:05 +01:00 |
|
Mike Pall
|
063182d79c
|
FFI: Fix marking of ffi.gc() finalizer table.
|
2011-03-17 17:31:48 +01:00 |
|
Mike Pall
|
ac3b1dcfc5
|
x64: Workaround for libgcc unwind bug (still present in RHEL 5.5).
|
2011-03-17 16:06:41 +01:00 |
|
Mike Pall
|
6299485000
|
DUALNUM: Narrow result of math.floor() and math.ceil().
|
2011-03-15 18:15:42 +01:00 |
|
Mike Pall
|
dcbae09b1d
|
DUALNUM: Narrow unary minus.
|
2011-03-15 18:14:18 +01:00 |
|
Mike Pall
|
a226fb4cc7
|
FFI: Force snapshot after C call to preserve semantics.
|
2011-03-15 14:56:42 +01:00 |
|
Mike Pall
|
7fb1075903
|
DUALNUM: Add integer variant of MIN/MAX.
|
2011-03-11 23:28:46 +01:00 |
|
Mike Pall
|
889368e921
|
Get rid of the remaining silly cast macros from Lua.
|
2011-03-10 02:13:43 +01:00 |
|
Mike Pall
|
bfce3c1127
|
DUALNUM: Handle integer type in JIT compiler.
|
2011-03-10 01:57:24 +01:00 |
|
Mike Pall
|
3f26e3a89d
|
FFI: Fix and optimize recording of cdata[cdata].
|
2011-03-10 01:41:58 +01:00 |
|
Mike Pall
|
1c9981ae4c
|
x86/x64: Fix code generation for fused IR_MUL/IR_MULOV.
|
2011-03-10 01:09:18 +01:00 |
|
Mike Pall
|
a127eaf8d2
|
FFI: Fix x86 code generation for ffi.string().
|
2011-03-10 00:57:02 +01:00 |
|
Mike Pall
|
30cc4d3bba
|
Fix handling of err_loc() within cpcall frames.
|
2011-03-09 22:39:17 +01:00 |
|
Mike Pall
|
0125ee8211
|
DUALNUM: Add extra assertions to interpreter.
|
2011-03-09 22:38:53 +01:00 |
|
Mike Pall
|
449cee405c
|
Fix code generation for bit.bnot().
|
2011-03-07 22:11:01 +01:00 |
|
Mike Pall
|
54978e481b
|
DUALNUM: Make overflow guards weak. Add IR_USE and IR_MULOV.
|
2011-03-07 20:21:38 +01:00 |
|
Mike Pall
|
a30f58b54b
|
DUALNUM: Fix x87 code for BC_ISEQN/BC_ISNEN.
|
2011-03-07 20:12:39 +01:00 |
|
Mike Pall
|
8eb09fe820
|
Suppress recording of retried fast functions.
|
2011-03-07 20:03:38 +01:00 |
|
Mike Pall
|
f29a9d4341
|
Fix narrowing of POW.
|
2011-03-03 17:29:09 +01:00 |
|
Mike Pall
|
1cb58fb7bb
|
Fix code generation for Intel Atom in x64 mode.
|
2011-03-03 00:49:45 +01:00 |
|
Mike Pall
|
6c43767c23
|
FFI: Resolve ld script redirection in ffi.load().
|
2011-03-01 12:31:16 +01:00 |
|
Mike Pall
|
e1aa8d0d97
|
FFI: Fix compiled ffi.string() semantics.
|
2011-02-28 19:47:51 +01:00 |
|
Mike Pall
|
83a37aeca7
|
FFI: Add ffi.gc() function for finalization of cdata objects.
|
2011-02-28 16:48:13 +01:00 |
|
Mike Pall
|
cead25f928
|
DUALNUM: Handle integer type in x86/x64 interpreter and libraries.
|
2011-02-27 01:36:59 +01:00 |
|
Mike Pall
|
c031d4b6a0
|
DUALNUM: Handle integer type in FFI.
|
2011-02-27 01:31:22 +01:00 |
|
Mike Pall
|
d437086c5a
|
x64: Improve accuracy of x^-k.
|
2011-02-25 11:47:34 +01:00 |
|
Mike Pall
|
b90d80d80a
|
Fix table.maxn().
|
2011-02-23 14:52:50 +01:00 |
|
Mike Pall
|
a720db409d
|
FFI: Record calls to functions with void results.
|
2011-02-23 00:28:49 +01:00 |
|
Mike Pall
|
4c97cc7730
|
Eliminate dead slots in snapshots using bytecode data-flow analysis.
|
2011-02-22 22:39:12 +01:00 |
|
Mike Pall
|
8d0b073ff0
|
From Lua 5.2: Support load(string).
|
2011-02-20 21:17:49 +01:00 |
|
Mike Pall
|
2bae11a49a
|
From Lua 5.2: fp:read("*L").
|
2011-02-20 21:07:19 +01:00 |
|
Mike Pall
|
c823e26b8b
|
From Lua 5.2: table.unpack(). Needs -DLUAJIT_ENABLE_LUA52COMPAT.
|
2011-02-20 20:53:09 +01:00 |
|
Mike Pall
|
baef199ece
|
From Lua 5.2: Add package.searchpath().
Thanks to F. Perrad.
|
2011-02-20 20:48:13 +01:00 |
|
Mike Pall
|
f83d58d6fb
|
From Lua 5.2: Empty statement. Needs -DLUAJIT_ENABLE_LUA52COMPAT.
|
2011-02-20 20:38:36 +01:00 |
|
Mike Pall
|
d82022a656
|
From Lua 5.2: coroutine.running(). Needs -DLUAJIT_ENABLE_LUA52COMPAT.
|
2011-02-20 20:33:00 +01:00 |
|
Mike Pall
|
34bcf6378b
|
FFI: Fix recording of userdata conversions.
|
2011-02-20 02:13:32 +01:00 |
|
Mike Pall
|
cf88c43dd6
|
FFI: Fix 64 bit to 32 bit truncations on x64.
|
2011-02-20 00:18:46 +01:00 |
|
Mike Pall
|
32eaa48c79
|
FFI: Fix recording of ffi.copy() and ffi.fill().
|
2011-02-19 23:04:16 +01:00 |
|
Mike Pall
|
bd29d16141
|
FFI: Improve conversion error messages.
|
2011-02-19 12:56:12 +01:00 |
|
Mike Pall
|
03946ac978
|
DUALNUM: Add integer type to core VM.
|
2011-02-17 00:44:14 +01:00 |
|
Mike Pall
|
963f05c7e1
|
DUALNUM: Add build infrastructure.
Note: DUALNUM is disabled by default and won't work yet.
|
2011-02-17 00:42:57 +01:00 |
|
Mike Pall
|
54b6054087
|
FFI: Fix management of C library handles for default namespace.
|
2011-02-16 23:52:18 +01:00 |
|
Mike Pall
|
5fe7282d4c
|
Fix error handling within metamethods. Special-case FFI mm.
|
2011-02-16 00:38:23 +01:00 |
|
Mike Pall
|
4dca589af0
|
Add workaround for lj_meta_tset() newkey inconsistency.
|
2011-02-15 01:02:08 +01:00 |
|
Mike Pall
|
4117a61620
|
PPC: Disable FFI due to NYI: comparisons and calls.
|
2011-02-14 23:25:18 +01:00 |
|
Mike Pall
|
19b84009b2
|
Fix type mismatch in XSTORE forwarding.
|
2011-02-14 23:02:16 +01:00 |
|
Mike Pall
|
97d84111fd
|
RELEASE LuaJIT-2.0.0-beta6
|
2011-02-11 16:28:37 +01:00 |
|
Mike Pall
|
7c61073a30
|
FFI: Disable unused code for some build modes.
|
2011-02-11 16:22:58 +01:00 |
|
Mike Pall
|
9c81c81ed5
|
Fix bytecode optimization of and/or operators.
|
2011-02-08 01:00:47 +01:00 |
|
Mike Pall
|
c39ca7c35b
|
FFI: Record ffi.abi().
|
2011-02-08 00:09:33 +01:00 |
|
Mike Pall
|
7a37b93f1b
|
FFI: Record ffi.copy() and ffi.fill().
|
2011-02-07 23:49:27 +01:00 |
|
Mike Pall
|
fb53d4aeb7
|
FFI: Fix recording of pointer arithmetic.
|
2011-02-07 23:42:51 +01:00 |
|
Mike Pall
|
97d0874ff5
|
Add IR_XBAR, a barrier against XLOAD/XSTORE optimizations.
|
2011-02-07 21:59:25 +01:00 |
|
Mike Pall
|
0a50356b6f
|
Improve static assertion macro.
|
2011-02-07 21:44:01 +01:00 |
|
Mike Pall
|
51e8fe9cf0
|
FFI: Allow cdata types for integer arguments of ffi.* functions.
|
2011-02-07 17:13:14 +01:00 |
|
Mike Pall
|
8da287cab8
|
FFI: Fix handling of enum arguments to C calls.
|
2011-02-07 16:41:51 +01:00 |
|
Mike Pall
|
ceece4d13e
|
FFI: Perform stricter checks in ffi.cast(). Record ffi.cast().
|
2011-02-06 12:46:18 +01:00 |
|
Mike Pall
|
bf58160b7a
|
FFI: Simplify and fix tonumber() for cdata objects.
|
2011-02-06 12:23:58 +01:00 |
|
Mike Pall
|
4c74f70464
|
Strength-reduce 32 to 64 bit widening for XLOAD U8/U16 inputs.
|
2011-02-06 00:45:39 +01:00 |
|
Mike Pall
|
26bb0fe24b
|
FFI: Limit number of arguments for recorded calls.
|
2011-02-05 23:01:10 +01:00 |
|
Mike Pall
|
26fadcd25b
|
FFI: Record simple C function calls.
Only handles cdecl and fixarg C functions.
Doesn't handle pass-by-value aggregates.
Doesn't handle 64 bit args/returns on 32 bit CPUs.
|
2011-02-05 21:50:15 +01:00 |
|
Mike Pall
|
bf05209e14
|
FFI: Optimize snapshots for cdata comparisons.
|
2011-02-05 18:54:08 +01:00 |
|
Mike Pall
|
da3f256a52
|
Fix metamethod comparisons triggered by BC_ISEQP/BC_ISNEP.
|
2011-02-05 16:32:08 +01:00 |
|
Mike Pall
|
14f5103764
|
FFI: Record C library namespace lookups.
|
2011-02-05 14:16:16 +01:00 |
|
Mike Pall
|
223d85aa06
|
Treat metatables of special userdata objects as immutable.
|
2011-02-05 14:09:50 +01:00 |
|
Mike Pall
|
c29ed4dbbf
|
FFI: Record ffi.string().
|
2011-02-05 01:05:56 +01:00 |
|
Mike Pall
|
618b451648
|
FFI: Avoid intermediate boxes for tonumber(), too.
|
2011-02-05 01:04:41 +01:00 |
|
Mike Pall
|
1abf5d4d26
|
FFI: Disable MUL => BSHL FOLD rule on 32 bit.
|
2011-02-03 20:10:13 +01:00 |
|
Mike Pall
|
df65b8b419
|
FFI: Rename IR_CNEWP to IR_CNEWI and use it to box 64 bit integers.
Generates smaller IR and DCE eliminates many intermediate boxes.
Needs allocation sinking to eliminate the boxes kept alive by PHIs.
|
2011-02-03 04:22:27 +01:00 |
|