Commit Graph

94 Commits

Author SHA1 Message Date
Mike Pall
a175754ab7 PPC: Add lj_vm_floor which is callable from C. 2011-06-05 23:36:49 +02:00
Mike Pall
1fa0cc09b3 PPC: Fix L->status for resume after yield. 2011-04-13 02:28:25 +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
f69524f7f1 PPC: Misc. fixes for interpreter. 2011-04-10 17:04:10 +02:00
Mike Pall
959683c77c PPC: Minor cleanups of interpreter. 2011-04-04 02:00:38 +02:00
Mike Pall
0622ad9adc Fix comments for BC_ITERN. 2011-01-26 19:55:55 +01:00
Mike Pall
8396c3cdbc PPC: Fix ipairs() for keys in the hash part. 2011-01-20 12:25:56 +01:00
Mike Pall
06f99fc3df Bump copyright date to 2011. 2011-01-09 17:12:53 +01:00
Mike Pall
fb0a18ca0b FFI: Add support for calling C functions. 2011-01-06 23:30:04 +01:00
Mike Pall
461bf77331 FFI: Parse complex and 64 bit integer literals. 2010-12-24 01:31:39 +01:00
Mike Pall
57cd5026eb Disable Lua 5.2 features by default. See -DLUAJIT_ENABLE_LUA52COMPAT. 2010-11-19 17:00:11 +01:00
Mike Pall
ba602c9578 Add support for __pairs and __ipairs metamethods (from Lua 5.2). 2010-11-18 00:23:24 +01:00
Mike Pall
1de05d1147 Avoid using negative hex numbers with DynASM. 2010-11-16 13:41:58 +01:00
Mike Pall
65dec38e44 PPC: Preserve RD during array resizing in BC_TSETM. 2010-10-18 16:12:27 +02:00
Mike Pall
a7caa4894c PPC: Use ZERO register instead of extra load immediate. 2010-10-07 02:21:54 +02:00
Mike Pall
9d201c972a PPC: Add coroutine.resume/wrap_aux/yield() fast functions. 2010-10-07 02:16:44 +02:00
Mike Pall
9f14e03d6e PPC: Add string.sub() fast function. 2010-10-06 16:18:24 +02:00
Mike Pall
b4f3d4525e PPC: Add string.rep/reverse/lower/upper() fast functions. 2010-10-06 16:17:07 +02:00
Mike Pall
82b2f6156a PPC: Add string.len/byte/char() fast functions. 2010-10-06 16:11:02 +02:00
Mike Pall
443d28bc9a PPC: Fix math.deg/rad() fast functions. 2010-10-05 19:39:07 +02:00
Mike Pall
8f5efb2c43 PPC: Use own implementation for math.floor/ceil() fast functions. 2010-10-05 19:37:56 +02:00
Mike Pall
793fb4a9ad PPC: Add math.ldexp/frexp/modf() fast functions. 2010-10-05 19:36:02 +02:00
Mike Pall
52b67fd3ea PPC: Add math.abs/deg/rad/min/max() fast functions. 2010-10-05 19:35:04 +02:00
Mike Pall
3418512862 PPC: Remove pointless optimization in BC_UNM. 2010-10-05 19:27:33 +02:00
Mike Pall
14cd10e322 PPC: Add table.getn() fast function. 2010-10-05 01:47:39 +02:00
Mike Pall
2f5f6290e7 PPC: Add tonumber() and tostring() fast functions. 2010-10-05 01:46:23 +02:00
Mike Pall
08ac8b0c96 PPC: Add getmetatable(), setmetatable() and rawget() fast functions. 2010-10-05 01:41:51 +02:00
Mike Pall
8b096c5d08 PPC: Add assert() and type() fast functions. 2010-10-05 01:39:48 +02:00
Mike Pall
e396bef7d8 PPC: Add pcall() and xpcall() fast functions. 2010-10-01 23:47:29 +02:00
Mike Pall
05099f0764 PPC: Add ipairs() fast function and its iterator. 2010-10-01 23:45:56 +02:00
Mike Pall
61d498be87 PPC: Add next() and pairs() fast functions. 2010-10-01 23:43:39 +02:00
Mike Pall
dcf006bfa2 PPC: Add BC_ITERN and BC_ISNEXT. 2010-10-01 01:44:02 +02:00
Mike Pall
ac76493df1 Specialize bytecode for pairs()/next() iterator. Speedup: 3.5x.
Parser predict pairs/next and emits specialized bytecode.
Bytecode is descpecialized at runtime if the prediction was wrong.
Store slot index in hidden control var to avoid key lookups.
2010-09-30 21:55:32 +02:00
Mike Pall
c0a8f5fb32 PPC: Add dispatch to fast function fallback handlers. 2010-09-30 02:58:29 +02:00
Mike Pall
4afff973a4 PPC: Add bit.* fast functions. 2010-09-30 02:56:54 +02:00
Mike Pall
408cd055a4 PPC: Add basic infrastructure for fast functions. 2010-09-30 02:54:33 +02:00
Mike Pall
a47136031e PPC: Add frame unwind info for assembler part.
Add define for target-specific exception handler return register.
2010-09-28 17:50:33 +02:00
Mike Pall
dc4fdecfb5 PPC: Don't use callee-save registers when folding '%' operator. 2010-09-28 14:59:33 +02:00
Mike Pall
f635e3e5bb PPC: Add dispatch target for call hook. 2010-09-23 02:42:29 +02:00
Mike Pall
493d0aa259 PPC: Add dispatch targets for instruction and return hooks. 2010-09-23 02:41:06 +02:00
Mike Pall
6aedfa7919 PPC: Add lj_vm_resume(). 2010-09-23 02:35:51 +02:00
Mike Pall
d270e890f1 PPC: Reschedule continuation dispatch. 2010-09-21 21:43:29 +02:00
Mike Pall
aff6b3080f Whitespace. 2010-09-21 21:41:49 +02:00
Mike Pall
201eec484c PPC: Add fixed register for TOBIT bias. 2010-09-21 21:40:39 +02:00
Mike Pall
0c0047e50c PPC: Add missing register setup after unwind to ff pcall. 2010-09-21 21:36:37 +02:00
Mike Pall
7336305e7c PPC: Fix result copy for return to Lua. 2010-09-21 21:21:21 +02:00
Mike Pall
1c3b8c51c9 PPC: Fix constant folding of modulo operator. 2010-09-21 20:54:12 +02:00
Mike Pall
9203d278d0 PPC: Add metamethod handlers and continuations for comparisons. 2010-09-17 16:07:01 +02:00
Mike Pall
9dc98280d2 PPC: Reschedule bytecode instruction fetch. 2010-09-17 16:01:02 +02:00
Mike Pall
66f0c43780 PPC: Add BC_CAT and lj_cont_cat. 2010-09-17 15:54:50 +02:00