Mike Pall
52fd87bf34
Add support for "%g" character class in patterns (from Lua 5.2).
2010-11-19 18:37:10 +01:00
Mike Pall
7cc981c140
string.format("%q", str) is now fully reversible (from Lua 5.2).
2010-11-19 18:22:08 +01:00
Mike Pall
29b8959df1
Parse hexadecimal escapes in strings (from Lua 5.2).
2010-11-19 18:15:50 +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
3754a8fe7a
Allow running C functions with coroutine.create(), too.
2010-11-17 20:07:55 +01:00
Mike Pall
751ff5b392
Add jit.os string.
2010-11-16 15:05:21 +01:00
Mike Pall
24baf77955
Cleanup architecture, ABI and OS definitions.
2010-11-16 15:03:40 +01:00
Mike Pall
1de05d1147
Avoid using negative hex numbers with DynASM.
2010-11-16 13:41:58 +01:00
Mike Pall
ad29c1f39f
Rename character type handling from lj_ctype* to lj_char*.
2010-11-09 12:09:54 +01:00
Mike Pall
fe21a42a92
Fix conflict between loop branch inversion and HREF+NE/EQ merging.
2010-11-05 23:12:43 +01:00
Mike Pall
188f0b04e1
Number parser shouldn't accept '0x' without hex digits.
2010-11-02 16:01:43 +01:00
Mike Pall
44372a4453
Fix parsing of hex floats.
2010-11-01 17:53:04 +01:00
Mike Pall
ab1b67f73a
Fix collectgarbage("count") result if more than 2GB is in use.
...
Thanks to Tony Finch.
2010-10-25 14:53:37 +02:00
Mike Pall
08b0ede194
Reduce 32GB RLIMIT_DATA on FreeBSD/x64 to allocate low-2GB memory.
...
Thanks to Tony Finch.
2010-10-23 16:31:27 +02:00
Mike Pall
02dc9d1082
Avoid compiler warning.
2010-10-23 15:28:28 +02:00
Mike Pall
65dec38e44
PPC: Preserve RD during array resizing in BC_TSETM.
2010-10-18 16:12:27 +02:00
Mike Pall
5391a5f5b1
Fix recording of y = select(n, ...) for non-int indexes.
2010-10-11 21:52:22 +02:00
Mike Pall
b3cf2c70f4
Decouple SLOAD type and optional conversion.
2010-10-11 21:13:37 +02:00
Mike Pall
cc62edebfd
x64: Fix type check for numbers in compiled code.
2010-10-11 19:24:12 +02:00
Mike Pall
5140b40b44
x64: Optimize internal/external tag conversion in lua_type().
2010-10-11 17:26:07 +02:00
Mike Pall
a3eeee5b3e
PPC: Update DynASM-generated file.
...
PPC/e500v2 interpreter port is now feature-complete.
2010-10-07 02:24:57 +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
ddae887878
Update docs for PPC port. Clarify and extend install instructions.
2010-10-05 01:36:54 +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
fce05fd6e1
x64: Use 64 bit slot copies in the interpreter.
2010-09-30 17:47: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
a500752787
Fix checks for minimum required compiler versions.
2010-09-28 14:20:49 +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
5beedd6ef8
Workaround for missing fseeko/ftello prototypes on ancient glibc.
2010-09-23 01:30:53 +02:00
Mike Pall
d351c2ae36
x86/x64: Fix stack overflow handling for coroutine results.
2010-09-22 22:59:41 +02:00
Mike Pall
5baf0f9dc2
Fix stack growth for coroutine.wrap().
2010-09-22 21:16:16 +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
bc146ddbe7
Consistently round int args of string functions on x64.
2010-09-21 18:04:59 +02:00
Mike Pall
4cd2299acd
Improve AA for field accesses: disambiguate new allocations.
2010-09-21 15:21:26 +02:00
Mike Pall
3ae27ffebe
Drop redundant (UGE any +0).
2010-09-21 02:44:18 +02:00
Mike Pall
38628d93b8
Improve FOLD/CSE of field loads and array/hash refs across NEWREF.
2010-09-21 02:28:14 +02:00
Mike Pall
23b5c56d41
Improve alias analysis: disambiguate new allocations.
2010-09-21 01:31:04 +02:00
Mike Pall
52b922c1e9
Avoid fusing potentially negative indexes into AREF on x64.
2010-09-18 18:34:38 +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
Mike Pall
4f1d43d03e
PPC: Fix ordered comparisons for NaN operands.
2010-09-16 02:09:19 +02:00
Mike Pall
028f80c599
PPC: Avoid comparison with NaN in BC_ISEQN/BC_ISNEN.
2010-09-16 02:06:20 +02:00
Mike Pall
3f32f4ac99
PPC: Add BC_TSETM.
2010-09-15 17:28:24 +02:00
Mike Pall
028a65a597
PPC: Add BC_VARG.
2010-09-15 17:27:17 +02:00
Mike Pall
44702720c5
Don't traverse inactive GCtrace objects.
2010-09-15 01:13:07 +02:00
Mike Pall
77267bc538
Show names of IR calls in disassembler output.
2010-09-15 00:51:43 +02:00
Mike Pall
8dc76ee327
Add IR_VLOAD for vararg loads.
...
Also fixes the broken AA improvement in the last commit.
2010-09-14 19:58:27 +02:00
Mike Pall
23655bd52e
Improve alias analysis for vararg loads.
2010-09-14 16:48:52 +02:00
Mike Pall
b69c02eb68
Avoid unnecessary vararg loads.
2010-09-14 16:48:25 +02:00
Mike Pall
5b740046f8
PPC: Fix line number in stack overflow error.
2010-09-14 03:13:44 +02:00
Mike Pall
f8b7fb7d2b
PPC: Fix write barrier in BC_TSETV.
2010-09-14 01:23:34 +02:00
Mike Pall
2bdf3fcd50
PPC: Fix KBASE restore in BC_CALLT.
2010-09-14 01:20:01 +02:00
Mike Pall
fe159ea2fb
PPC: Keep MULTRES in a register.
2010-09-14 00:46:06 +02:00
Mike Pall
3d17f71968
x86/x64: Avoid unnecessary resize in BC_TSETM.
2010-09-13 22:30:23 +02:00
Mike Pall
8a87395d8d
PPC: Add support for shifted MULTRES.
2010-09-13 21:50:27 +02:00
Mike Pall
0001916f8d
PPC: Add metamethod handlers for indexing instructions.
2010-09-13 21:26:27 +02:00
Mike Pall
7a766c771d
PPC: Add missing write barrier to BC_TSETV.
2010-09-13 21:21:39 +02:00
Mike Pall
dcfc385bf3
PPC: Fix write barrier and linkage for BC_USETV/BC_USETS.
...
Some older linkers can't rearrange to accomodate R_PPC_REL14.
2010-09-13 21:19:33 +02:00
Mike Pall
32bfececc5
Release all memory when using the builtin allocator.
...
Blocks >128K are not kept in the segment list and were not destroyed.
2010-09-13 19:48:31 +02:00
Mike Pall
c88169dc46
Record y = select(x, ...) idiom.
2010-09-13 01:23:19 +02:00
Mike Pall
4ba0eb5f80
Record select().
2010-09-13 01:21:44 +02:00
Mike Pall
847b9cf253
Record vararg expressions with varargs defined off-trace.
...
Add SLOAD variant to access the frame type/size.
2010-09-13 01:17:38 +02:00
Mike Pall
e32f7d96c1
Fix tailcalls from vararg functions.
2010-09-13 00:55:05 +02:00
Mike Pall
52f75e9a5c
Fix off-by-one errors in maxslot calculation of trace recorder.
2010-09-12 03:14:17 +02:00
Mike Pall
4da03965c0
Record vararg expressions with known fixed number of results.
2010-09-12 02:42:02 +02:00
Mike Pall
c2c08ba9b3
Record calls to vararg functions.
...
This loop is now roughly 1000x faster than the Lua interpreter:
local function f(a,b,...) end; for i=1,2e8 do f(1,2,i) end
Yet another silly microbenchmark -- I know.
2010-09-12 01:44:13 +02:00
Mike Pall
b72ae54dc0
Fix broken MSVC build.
2010-09-12 01:33:32 +02:00
Mike Pall
90f22760af
PPC: Add argument coercion for BC_FORI.
2010-09-11 01:53:59 +02:00
Mike Pall
c330af2452
PPC: Add continuation dispatch and RA/nop continuations.
2010-09-11 01:52:26 +02:00
Mike Pall
cabcce1e1d
PPC: Add metamethod handlers for arithmetic instructions.
2010-09-11 01:47:49 +02:00