4433dbb5f5
userdata with finalizers are kept in a separated list ('udgc'), instead of at the end of 'rootgc' (which was renamed to 'allgc', as it is not "root" in the usual meaning for collectors)
Roberto Ierusalimschy2010-03-24 10:07:01 -03:00
5cb128ea54
BUG: emergency collector might resize 'strt' (string table) when creating a new string + atomic and markroot steps has some cost + full collection must leave collector in proper state when mode is generational
Roberto Ierusalimschy2010-03-23 17:16:06 -03:00
74123e9686
draft version of a generational mode for garbage collection. (Not well tested; no major collections; ...)
Roberto Ierusalimschy2010-03-22 15:28:03 -03:00
5ca7cdd709
for compatibility only: 'module' changes the first upvalue of calling function to affect its environment
Roberto Ierusalimschy2010-03-19 12:02:34 -03:00
1514e49d43
avoid using function environments in C libraries (as it probably will be deprecated)
Roberto Ierusalimschy2010-03-17 18:37:37 -03:00
f292760f12
small optimization in luaL_addlstring (avoid adding chars one by one) (suggested by Chuck Coffing)
Roberto Ierusalimschy2010-03-12 15:59:32 -03:00
1124cb1247
first step towards _ENV: all chunks have an puvalues _ENV with the global table
Roberto Ierusalimschy2010-03-08 13:55:52 -03:00
c295147874
when finding a 'name' for a function, handle the case when the function is a for iterator
Roberto Ierusalimschy2010-03-05 11:01:29 -03:00
e560ac4862
when searching for a variable name, look existing upvalues before goingg to upper levels
Roberto Ierusalimschy2010-03-04 15:12:57 -03:00
d08d237a49
detail: in loadfile read function, no need to return NULL on EOF; size ==0 is enough to signal EOF.
Roberto Ierusalimschy2010-02-18 17:37:57 -02:00
af512ad6da
use of 'conventional' names for shift and rotate operations + right/left versions for them
Roberto Ierusalimschy2010-02-11 13:55:29 -02:00
d27108ccd5
removed support for '#fist-line comment' on binary files (as binary files do not have lines...)
Roberto Ierusalimschy2010-02-11 13:52:50 -02:00
4c54cd3a10
when yielding, original 'func' value must be kept and restored so that 'poscall' puts results in the right slot.
Roberto Ierusalimschy2010-02-09 09:56:29 -02:00
c8ff7de7f0
field 'oldtop' renamed to 'extra', as it can be used for other purposes
Roberto Ierusalimschy2010-02-09 09:55:37 -02:00
b678f246a4
HINSTANCE -> HMODULE (they are the same thing, but the MS documentation uses the latter) + LoadLibrary -> LoadLibraryEx with optional arguments, to allow the option LOAD_WITH_ALTERED_SEARCH_PATH
Roberto Ierusalimschy2010-01-13 14:30:27 -02:00
f270e7f044
warnings that are not compatible with C++ separated from other warning options
Roberto Ierusalimschy2010-01-13 14:19:54 -02:00
070d3743a7
"no value" added to array luaT_typenames + occurrences of "userdata" in that array unified in a single address
Roberto Ierusalimschy2010-01-13 14:18:25 -02:00
900b7d4514
on 64-bit machines, an address may not fit into a 'long', so it is better to convert from pointer to void to pointer to function directly, even if ANSI C does not like it.
Roberto Ierusalimschy2010-01-13 14:09:05 -02:00
d320c908d0
conversion from pointer to void to pointer to function seems more "correct" if done through an integral type (because conversions between pointers and numbers are allowed, only "implementation defined").
Roberto Ierusalimschy2010-01-11 15:34:59 -02:00
692209fa8d
Dynamic C functions should be created with the global table as their initial environments
Roberto Ierusalimschy2010-01-11 15:06:31 -02:00
953d499ea2
changed macro lua_number2int for Windows (added brackets; some recent compilers complain about the old format) + added missing definition for 'lua_number2int' in Windows case.
Roberto Ierusalimschy2010-01-11 14:35:20 -02:00
1ebf109c53
'setobj' must assing fields one by one, to allow trick of using pad space in table keys
Roberto Ierusalimschy2010-01-08 18:00:20 -02:00
f75be1cb28
removed parentheses around some function names in their definitions
Roberto Ierusalimschy2010-01-08 13:16:56 -02:00
16d2ad88fe
some changes in compatibility macros: added LUA_COMPAT_ALL + compatibility macros from lua.h and lauxlib.h moved to luaconf.h
Roberto Ierusalimschy2010-01-06 13:15:04 -02:00
e3866afa97
macro 'luaY_checklimit' changed into a function (and renamed 'checklimit'). It makes no sense to trade space for time in the parser.
Roberto Ierusalimschy2010-01-05 16:46:58 -02:00
25189b420d
field 'nups' in struct 'lua_Debug' changed from 'int' to 'unsigned char' to save some space (even C functions cannot have more than maxchar upvalues).
Roberto Ierusalimschy2010-01-05 16:33:26 -02:00
0dc09cb42e
'unpack' moved to table library (and therefore "renamed" to 'table.unpack'.
Roberto Ierusalimschy2009-12-28 14:30:31 -02:00
cc1cbd19a0
'lua_cpcall' is deprecated + other small changes in 'pmain' (comments and reordering to check arguments before running any Lua code)
Roberto Ierusalimschy2009-12-22 14:47:12 -02:00
0bbdddc86b
allocator function receives the tag of object being allocated in 'osize' when 'ptr' is NULL.
Roberto Ierusalimschy2009-12-17 13:46:44 -02:00
de6fc75d63
several configuration options that do not change often moved out of luaconf.h and into more internal files
Roberto Ierusalimschy2009-12-17 10:26:09 -02:00