Commit Graph

61 Commits

Author SHA1 Message Date
Roberto Ierusalimschy 89b59eee73 bug: __newindex metamethod may not work if metatable is its own
metatable + luaV_settable does not create entry when there is a
metamethod (and therefore entry is useless)
2011-08-17 17:26:47 -03:00
Roberto Ierusalimschy 92afcf2823 no more 'luaH_setstr (used only once) + 'luaH_setint' receives value
to be set.
2011-08-09 17:58:29 -03:00
Roberto Ierusalimschy d9ea6eca7c macro 'key2tal' replaced by 'gkey' (as both were equal) 2010-06-25 09:18:10 -03:00
Roberto Ierusalimschy fbf866a1a5 macro 'gkey' returns a "real" TValue* 2009-11-06 15:07:48 -02:00
Roberto Ierusalimschy 3135a6bbab luaH_[gs]etnum renamed to luaH_[gs]etint (as they only accept integers,
not generic numbers)
2009-08-07 13:17:41 -03:00
Roberto Ierusalimschy 3ca9af51a4 emergency garbage collector (core forces a GC when allocation fails) 2006-07-11 12:53:29 -03:00
Roberto Ierusalimschy f8b7a5581e avoid unnecessary exports 2006-01-10 11:13:06 -02:00
Roberto Ierusalimschy ffb798e1e2 avoids type punning for table keys 2006-01-10 10:51:53 -02:00
Roberto Ierusalimschy d987cf1f81 new mark LUAI_DATA for extern data 2005-06-06 10:30:25 -03:00
Roberto Ierusalimschy 8718fda9b2 added LUAI_FUNC to functions not in the API 2005-04-25 16:24:10 -03:00
Roberto Ierusalimschy 9ffae705ee new "primitive" getn 2005-03-16 13:58:41 -03:00
Roberto Ierusalimschy e2498e079e change in hash algorithm so that it does not need empty slot
(tables can be 100% full)
2005-01-05 16:20:51 -02:00
Roberto Ierusalimschy 65726f3e2e cleaner interface to `ltable' 2005-01-04 13:55:12 -02:00
Roberto Ierusalimschy bd38017ddf small optimization for table size in machines with double allignment 2004-10-06 15:34:16 -03:00
Roberto Ierusalimschy 4c5d7b2ddd small optimization for {f()} 2004-03-26 11:02:41 -03:00
Roberto Ierusalimschy 47fc57a252 `TObject' renamed to `TValue' + other name changes and better assertions
for incremental garbage collection
2003-12-10 10:13:36 -02:00
Roberto Ierusalimschy b114142799 new auxiliary function `luaH_setstr' 2003-08-26 09:04:13 -03:00
Roberto Ierusalimschy ab9e062928 name changes to avoid name collision between macros and variables 2003-03-18 09:50:04 -03:00
Roberto Ierusalimschy 81e142fc14 detail (`key' is always on stack) 2002-11-07 14:03:33 -02:00
Roberto Ierusalimschy 46c471d7e9 new `__newindex' eventfield 2002-05-27 17:35:40 -03:00
Roberto Ierusalimschy 71c716e5a8 avoid C identifiers beginning with '_' 2002-03-11 09:45:00 -03:00
Roberto Ierusalimschy 57fb51f975 `luaH_next' works like `next' 2002-02-14 19:46:13 -02:00
Roberto Ierusalimschy 592a309177 tag system replaced by event tables 2001-12-05 18:15:18 -02:00
Roberto Ierusalimschy fca0a12e23 avoid clashing names between macros and fields 2001-11-29 18:21:46 -02:00
Roberto Ierusalimschy 21aa7e55f2 optimization for array part of a Table 2001-10-25 17:14:14 -02:00
Roberto Ierusalimschy e1d072571e better syntax for type casts 2001-08-31 16:46:07 -03:00
Roberto Ierusalimschy 8c8ad5f3ff better locality of assignment of table values 2001-08-30 17:56:43 -03:00
Roberto Ierusalimschy 654b16e83a better performance for table operations (mainly for integer indices) 2001-07-05 17:31:14 -03:00
Roberto Ierusalimschy 37f3a1c045 too much optimization to "break" keys in tables; keep them as TObjects... 2001-06-26 10:20:45 -03:00
Roberto Ierusalimschy 1f9e3731d1 back to the basics (well-behaved variant record...) 2001-02-02 14:32:00 -02:00
Roberto Ierusalimschy 6b71a9cfe5 smaller tables for machines with 8-bit alignment 2001-01-29 15:17:26 -02:00
Roberto Ierusalimschy caf01b5bfa better implementation for list "for" 2001-01-29 11:14:49 -02:00
Roberto Ierusalimschy ac390020e9 optimizations based on all types but number and nil are pointers 2001-01-26 12:16:35 -02:00
Roberto Ierusalimschy 7959f3aebb easier way to erase 'dead' keys 2001-01-26 11:18:00 -02:00
Roberto Ierusalimschy dabb19fc17 specialized versions for luaH_set (numbers and strings) 2001-01-10 16:56:11 -02:00
Roberto Ierusalimschy 4894c27962 lua_Number defined in lua.h (1st version) 2000-12-04 16:33:40 -02:00
Roberto Ierusalimschy 96253ed8ce better support for 64-bit machines (avoid excessive use of longs) 2000-11-24 15:39:56 -02:00
Roberto Ierusalimschy 100bfec39a new implementation for `next' 2000-08-31 11:08:27 -03:00
Roberto Ierusalimschy 8bcf622876 new signature for `luaH_set' 2000-06-06 13:31:41 -03:00
Roberto Ierusalimschy 292c953018 new auxiliar function `luaH_setstr' 2000-06-05 17:15:33 -03:00
Roberto Ierusalimschy c542aac0b9 collect dead indices in tables 2000-06-05 17:07:53 -03:00
Roberto Ierusalimschy 11a7022067 global variables are stored in a Lua table 2000-05-08 16:32:53 -03:00
Roberto Ierusalimschy 534c3a64d3 small optimizations for table access 2000-04-25 13:55:09 -03:00
Roberto Ierusalimschy 544eeb1f9c details 1999-12-07 10:05:34 -02:00
Roberto Ierusalimschy e5743adb21 macros `key', `val', and `node' don't need the state 1999-11-23 11:58:02 -02:00
Roberto Ierusalimschy 29ede6aa13 first implementation of multiple states (reentrant code). 1999-11-22 11:12:07 -02:00
Roberto Ierusalimschy 5a48255c9f invariant tests over tables performed externally, through a built-in
function (when DEBUG is ion).
1999-10-26 08:53:40 -02:00
Roberto Ierusalimschy 4e9f2d13d5 new implementation of hash tables. 1999-10-14 17:13:31 -02:00
Roberto Ierusalimschy 4343420d4d simplified version of `gc' tag method (only for userdata now). 1999-10-04 15:51:04 -02:00
Roberto Ierusalimschy c787dccd9b "const" !!! 1999-08-16 17:52:00 -03:00