Commit Graph

56 Commits (c4dfb625bad8937d72074852a977738ec3eb1ab7)

Author SHA1 Message Date
Mike Pall c4dfb625ba Bump copyright date. 2022-01-15 19:30:54 +01:00
Mike Pall f47c864b01 Bump copyright date. 2021-01-02 21:49:41 +01:00
Mike Pall 050466552b Minor changes and https-ify links. 2020-10-12 16:11:32 +02:00
Mike Pall 179cf2eb84 Fix overflow check in unpack().
Thanks to HybridDog.
2020-04-28 17:52:28 +02:00
Mike Pall 38a5ed4b43 Bump copyright date. 2020-01-20 23:26:51 +01:00
Mike Pall 46a1b268eb Add stricter check for print() vs. tostring() shortcut. 2019-12-08 19:40:24 +01:00
Mike Pall b93a1dd0c8 Bump copyright date to 2017. 2017-01-17 12:35:03 +01:00
Mike Pall db1b399af1 Bump copyright date to 2016. 2016-03-03 12:02:22 +01:00
Mike Pall 86913b9bbf Bump copyright date to 2015. 2015-01-05 23:59:31 +01:00
Mike Pall ef59e54820 Bump copyright date to 2014. 2014-01-16 23:10:16 +01:00
Mike Pall 4a44c4ff69 Bump copyright date to 2013. 2013-02-11 12:54:48 +01:00
Mike Pall fcddd5a3a0 From Lua 5.2: Add luaL_traceback(). 2012-10-01 20:45:30 +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 2ba16862c7 From Lua 5.2: Add mode and env arguments to load*(). 2012-09-21 16:33:14 +02:00
Mike Pall 23932a6c8b Use 0/1 macro for Lua 5.2 compatibility. 2012-09-12 11:20:47 +02:00
Mike Pall 0648fd47cb FFI: Handle __pairs/__ipairs metamethods for cdata objects. 2012-09-03 21:11:08 +02:00
Mike Pall 4c882fe714 Replace strtod() with builtin string to number conversion. 2012-08-25 23:02:29 +02:00
Mike Pall f20ff8a30d Avoid compiler warnings about redefined C++ keywords. 2012-07-09 16:02:05 +02:00
Mike Pall 17d3fc47f3 Avoid pesky compiler warnings about C++ keywords (eh?). 2012-07-03 13:19:32 +02:00
Mike Pall 97b7edb206 Fix argument checks for coroutine.create(). 2012-05-28 21:38:23 +02: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 585cf05dbd Move debugging/introspection functionality to lj_debug.c. 2011-06-07 21:37:24 +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 cead25f928 DUALNUM: Handle integer type in x86/x64 interpreter and libraries. 2011-02-27 01:36:59 +01:00
Mike Pall 8d0b073ff0 From Lua 5.2: Support load(string). 2011-02-20 21:17:49 +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 03946ac978 DUALNUM: Add integer type to core VM. 2011-02-17 00:44:14 +01:00
Mike Pall 2c8945d3e7 Use names defined in lualib.h for library registration. 2011-02-02 02:38:59 +01:00
Mike Pall 06f99fc3df Bump copyright date to 2011. 2011-01-09 17:12:53 +01:00
Mike Pall 55a9be7809 FFI: Record tonumber() for boxed cdata. 2011-01-02 18:30:02 +01:00
Mike Pall 513b0ba18f FFI: Add support for converting cdata to tonumber(). 2010-12-05 00:40:23 +01:00
Mike Pall 2fd1292955 FFI: Add cdata object type. 2010-11-26 13:28:46 +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 ad29c1f39f Rename character type handling from lj_ctype* to lj_char*. 2010-11-09 12:09:54 +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 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 5baf0f9dc2 Fix stack growth for coroutine.wrap(). 2010-09-22 21:16:16 +02:00
Mike Pall 4ba0eb5f80 Record select(). 2010-09-13 01:21:44 +02:00
Mike Pall 96957a4551 Turn some lua_State fields into 32 bit pointers.
lua_State now fits into one cache line on x64.
2010-09-09 12:28:17 +02:00
Mike Pall f708d31bcc Explicitly indicate tailcall from fast function fallback. 2010-09-02 17:16:56 +02:00
Mike Pall cdc37a33b3 Fallback to metamethod resolving for tostring in print(). 2010-06-16 19:43:07 +02:00
Mike Pall 926f688cd0 Canonicalize string conversion of nan, inf, -inf. 2010-05-20 00:40:51 +02:00
Mike Pall 41379126a2 Treat the tag of a TValue as unsigned everywhere. 2010-04-25 23:21:15 +02:00
Mike Pall 721b73fecb Turn traces into true GC objects (GCtrace). 2010-04-25 03:32:29 +02:00
Mike Pall ab45481199 No longer let the GC replace dead keys with the LJ_TDEADKEY tag.
Important: this changes the semantics of the write barrier!
Carefully read the big comment block in lj_obj.h
This helps HREFK key slot specialization and allows safely hoisting
HREF/HREFK across GC steps, too (fix for a barely reproducible bug).
Dead keys are only removed during a table resize (as before).
2010-04-21 01:45:58 +02:00
Mike Pall c93138b59e Major redesign of function call handling.
Drop call gates. Use function headers, dispatched like bytecodes.
Emit BC_FUNCF/BC_FUNCV bytecode at PC 0 for all Lua functions.
C functions and ASM fast functions get extra bytecodes.
Modify internal calling convention: new base in BASE (formerly in RA).
Can now use better C function wrapper semantics (dynamic on/off).
Prerequisite for call hooks with zero-overhead if disabled.
Prerequisite for compiling recursive calls.
Prerequisite for efficient 32/64 bit prototype guards.
2010-02-13 04:51:56 +01:00