Commit Graph

287 Commits

Author SHA1 Message Date
Roberto Ierusalimschy 28fdbcf393 added include for 'lprefix.h', for stuff that must be added before
any other header file
2014-11-02 17:19:04 -02:00
Roberto Ierusalimschy bdf566a8a3 `name' in comments changed to 'name' 2014-10-25 09:50:46 -02:00
Roberto Ierusalimschy 463edee2fd 'lua_numtointeger' -> 'lua_numbertointeger' 2014-10-24 09:42:06 -02:00
Roberto Ierusalimschy f97c64d7bf macros 'LUA_QL'/'LUA_QL' deprecated 2014-10-17 13:28:21 -03:00
Roberto Ierusalimschy 3a15c7ce43 size for array part of a table ('sizearray') changed from 'int' to
'unsigned int', which allows twice as many elements in the array part
2014-09-04 15:15:29 -03:00
Roberto Ierusalimschy f5c690b684 details in comments 2014-08-01 14:24:02 -03:00
Roberto Ierusalimschy 07c7fdb9df simpler definition for 'setobj' (trust the compiler for the assignment) 2014-07-29 13:22:24 -03:00
Roberto Ierusalimschy ca41b43f53 type 'TString' refers directly to the structure inside the union
(union used only for size purposes)
2014-07-18 10:36:14 -03:00
Roberto Ierusalimschy c94f11d783 'IntPoint' -> 'point2int' + ensure that casted value fits in
destination type
2014-06-26 13:17:35 -03:00
Roberto Ierusalimschy 14929f5764 use appropriate macros to convert GCObject to specific types 2014-06-18 19:59:29 -03:00
Roberto Ierusalimschy c98f195eb9 function 'luaV_numtointeger' changed to a global macro
'lua_numtointeger' (tricky, small, and useful in several places)
2014-05-26 14:10:22 -03:00
Roberto Ierusalimschy 037a70dfea cast_u2s/cast_s2u renamed l_castS2U/l_castU2S to be configurable from
outside (mostly for testing)
2014-04-15 13:32:49 -03:00
Roberto Ierusalimschy 8f961da3db macros cast_integer/cast_unsigned replaced by cast_u2s/cast_s2u, that
should be used only between lua_Integer and lua_Unsigned
2014-04-15 11:29:30 -03:00
Roberto Ierusalimschy 675530c4d8 maximum size of array part of a table now is restricted not only by
the size of an 'int', but also by the size of a 'lua_Integer'
2014-04-13 18:11:19 -03:00
Roberto Ierusalimschy 607be77ec8 some details to avoid warnings 2014-04-01 11:39:55 -03:00
Roberto Ierusalimschy 86dd8bf3f5 no more 'L' in macros "luai_num*" (several places that use those macros
cannot throw errors anyway...)
2014-01-27 11:34:32 -02:00
Roberto Ierusalimschy 1150873447 'luaC_newobj' does not handle special cases; only special case
now is threads, which do not use 'luaC_newobj' anymore.
2013-09-11 09:26:14 -03:00
Roberto Ierusalimschy 26629d0af1 details (a few casts moved from macro invocation to macro definition) 2013-08-29 10:49:57 -03:00
Roberto Ierusalimschy 9a871dd3db tables and userdata all go to local list, too 2013-08-28 15:30:26 -03:00
Roberto Ierusalimschy 90972ff136 LOCALBLACK changed to LOCALMARK and used also to control whether object
is in 'localgc' list + luaC_newobj by default puts object in 'localgc'
list
2013-08-27 17:04:00 -03:00
Roberto Ierusalimschy caceeab750 'next' field for tables changed from pointer to integer (for better
alignment on 64-bit machines)
2013-08-18 13:12:18 -03:00
Roberto Ierusalimschy 453450d687 new macro 'l_floor' (allows 'floorf' even when other math operations
do not have an 'f' variant)
2013-06-20 12:02:49 -03:00
Roberto Ierusalimschy 188192ce9a 'luai_hashnum' "inlined" into 'hashfloat' 2013-05-29 11:05:03 -03:00
Roberto Ierusalimschy d630daca1a "legal" way to convert a float to an integer in C 2013-05-27 09:43:37 -03:00
Roberto Ierusalimschy 88bf2f83c0 new function 'tointeger' + 'luaV_arith' replaced by 'luaT_trybinTM' 2013-04-29 14:12:50 -03:00
Roberto Ierusalimschy d4e6b75098 "integer" keys in tables are now lua_Integer, not 'int'. 2013-04-26 12:39:25 -03:00
Roberto Ierusalimschy 07f861385e first steps in the support of integers: basic representation + table indexing + basic API ops (tointeger/pushinteger) + equality + a few extra stuff 2013-04-15 12:44:46 -03:00
Roberto Ierusalimschy 8287a0db55 detail 2012-09-11 16:37:16 -03:00
Roberto Ierusalimschy 054c20cd5b spaces -> tabs in #defines 2012-05-23 12:37:09 -03:00
Roberto Ierusalimschy 678c1255c9 random seed used in the hash of all strings to avoid intentional
collisions
2012-02-01 19:57:15 -02:00
Roberto Ierusalimschy a4b96ce9a3 first implementation of long strings 2012-01-25 19:05:40 -02:00
Roberto Ierusalimschy 9f1a8dbdd3 'eqstr' -> 'luaS_eqstr' 2012-01-23 21:05:18 -02:00
Roberto Ierusalimschy e21b26a964 avoid 'return' "to avoid warnings" 2011-11-30 10:42:49 -02:00
Roberto Ierusalimschy 217b65e6d9 avoid some warnings about converting 32-bit shifts into 64-bit results 2011-11-28 15:25:48 -02:00
Roberto Ierusalimschy 9caf5b4f79 lint (unused definition) 2011-09-30 09:46:06 -03:00
Roberto Ierusalimschy 87912786af dead objects are not collectable. 2011-09-24 18:12:01 -03:00
Roberto Ierusalimschy 68ce878292 cannot compute 'mainposition' before checking whether key is nil 2011-09-15 14:09:02 -03:00
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 817f8674af avoid warning about -unsigned value 2011-06-16 11:14:31 -03:00
Roberto Ierusalimschy f62565abea avoid warnings with -Wstrict-overflow 2011-06-09 15:24:22 -03:00
Roberto Ierusalimschy 3b44821334 stricter control (using tag variants) over closure kinds (Lua x C) 2011-06-02 16:31:40 -03:00
Roberto Ierusalimschy 821bd7025e more uniform names for 'equalobj'-related functions 2011-05-31 15:27:56 -03:00
Roberto Ierusalimschy 9b7dddad7d no need for two different implementations for equality (one raw and
one with metamethods)
2011-05-31 15:24:36 -03:00
Roberto Ierusalimschy c9ce754e38 comment 2011-05-02 14:33:01 -03:00
Roberto Ierusalimschy 1ffdd0bc7a detail (should use macro 'ttisdeadkey') 2011-04-05 15:32:28 -03:00
Roberto Ierusalimschy 23b9ceb0a4 allows larger array parts in tables (no need to restrict it to 2^26) 2010-11-11 13:38:43 -02:00
Roberto Ierusalimschy d9ea6eca7c macro 'key2tal' replaced by 'gkey' (as both were equal) 2010-06-25 09:18:10 -03:00
Roberto Ierusalimschy 3819c30e55 better names for barrier macros 2010-06-04 10:05:29 -03:00
Roberto Ierusalimschy 53f9499f7f "light C function" is a better name than "C-function pointer" 2010-04-18 10:22:48 -03:00
Roberto Ierusalimschy 7dfa4cd655 first implementation of light C functions 2010-04-14 12:13:48 -03:00
Roberto Ierusalimschy d394d5536a new macro 'eqstr' 2010-04-05 13:26:37 -03:00
Roberto Ierusalimschy 0bbdddc86b allocator function receives the tag of object being allocated in 'osize'
when 'ptr' is NULL.
2009-12-17 13:46:44 -02:00
Roberto Ierusalimschy 3c4d970a7b comment typos 2009-11-26 09:39:20 -02:00
Roberto Ierusalimschy 2e5ef6a9fb new macro 'isdummy' 2009-11-19 15:54:07 -02:00
Roberto Ierusalimschy 49a67c6d3f new macro 'NILCONSTANT' to initialize nil constants 2009-11-06 15:07:12 -02:00
Roberto Ierusalimschy 9756f56354 better control over accesses to TValue fields 2009-11-05 15:43:54 -02:00
Roberto Ierusalimschy f6ed285cf2 new hash for doubles based on frexp, to avoid low-level tricks 2009-10-23 10:31:12 -02:00
Roberto Ierusalimschy 42167804b8 luaH_[gs]etnum renamed to luaH_[gs]etint (as they only accept integers,
not generic numbers).
2009-08-07 14:53:28 -03:00
Roberto Ierusalimschy c6b442bd36 'luaM_freearray' does not need array type as argument 2009-04-17 11:40:13 -03:00
Roberto Ierusalimschy a274596ecc avoid making 'lastfree' an invalid pointer 2009-03-30 15:38:24 -03:00
Roberto Ierusalimschy a76fa25199 'ceillog2' now is exported (other modules may need it) 2008-01-30 16:05:23 -02:00
Roberto Ierusalimschy ae00b3a76f another way to normalize -0 that avoids problems with very small
numbers (adding 1 turns them all into 1)
2007-04-18 16:24:35 -03:00
Roberto Ierusalimschy 94d40f3980 luaO_log2 can be private to ltable.c 2007-04-10 09:18:17 -03:00
Roberto Ierusalimschy a7c9e45c64 avoid trailing white spaces 2006-09-11 11:07:24 -03:00
Roberto Ierusalimschy dfe2f1eeff macros luai_num* take a state L (when available) as argument, to allow
them to generate errors (and other facilities)
2006-08-07 16:14:30 -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 baffc37f5c detail 2006-01-18 09:49:12 -02: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 c505f341d6 small changes in casts 2005-12-22 14:19:56 -02:00
Roberto Ierusalimschy db724e14e0 new macro luai_numisnan 2005-11-25 11:29:32 -02:00
Roberto Ierusalimschy 8e48ebb638 no more L in numer-operator macros (some functions that use those macros
have no access to L)
2005-10-24 15:37:52 -02:00
Roberto Ierusalimschy 0f30d00c87 warnings from Visual C 2005-07-11 11:01:37 -03:00
Roberto Ierusalimschy 90de38bf1f warnings in VS .Net 2005-05-31 11:25:18 -03:00
Roberto Ierusalimschy f21e9c172f details 2005-05-20 12:53:42 -03:00
Roberto Ierusalimschy 67578ec51f several small details 2005-05-17 16:49:15 -03:00
Roberto Ierusalimschy c2bb9abcec better quotes for strings in error messages 2005-05-16 18:19:00 -03:00
Roberto Ierusalimschy d5fd44d747 corrected definition of lua_number2int for Windows 2005-05-03 16:30:17 -03:00
Roberto Ierusalimschy 409ee99900 detail 2005-04-01 10:51:37 -03:00
Roberto Ierusalimschy 9ffae705ee new "primitive" getn 2005-03-16 13:58:41 -03:00
Roberto Ierusalimschy 370d31a559 `luac´ -> `luai' (to avoid confusion with other luac stuff) 2005-03-09 13:28:07 -03:00
Roberto Ierusalimschy f8df21bd20 `luaconf.h´ exports all its definitions always (so all of them
must have a lua/LUA prefix).
2005-03-08 17:10:05 -03:00
Roberto Ierusalimschy b5b230d95c fewer #include's in luaconf.h 2005-03-08 15:09:16 -03:00
Roberto Ierusalimschy 8ddfe3df29 macros for all arithmetic operations over lua_Numbers 2005-01-10 16:17:39 -02: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 531874f6ce better (correct?) way to handle `next' over removed keys 2004-12-04 16:10:22 -02:00
Roberto Ierusalimschy c78940f21a static names do not need `luaX_' prefix 2004-12-03 18:50:25 -02:00
Roberto Ierusalimschy 0e002005b1 better names for `luaM_free...' macros 2004-11-24 17:20:21 -02:00
Roberto Ierusalimschy 1d99a7360b details 2004-11-24 17:16:03 -02:00
Roberto Ierusalimschy 087df82a61 detail 2004-11-24 16:55:42 -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 66845f415f small optimizations 2004-09-27 15:54:45 -03:00
Roberto Ierusalimschy 1dd8c9b6b6 detail 2004-08-31 14:57:33 -03:00
Roberto Ierusalimschy 26ae992129 less conservative write barrier for tables 2004-08-10 16:17:23 -03:00
Roberto Ierusalimschy b4cd38ba6c new scheme for configuration through `luaconf.h' 2004-04-30 17:13:38 -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 df429f163a First version of incremental GC 2003-12-09 14:56:11 -02:00