Commit Graph
100 Commits
Author SHA1 Message Date
Roberto Ierusalimschy bc84180d12 error message in 'os.rename' does not include file name, because error
may be caused both by 'fromname' or 'toname'
2012-10-19 12:54:02 -03:00
Roberto Ierusalimschy ad5da6ba14 API functions get acceptable indices except when not possible (when
they modify the value at that index) + new macro 'ispseudo' +
specific test 'api_checkstackindex'
2012-10-19 12:52:46 -03:00
Roberto Ierusalimschy 86b39206d9 open upvalues cannot be old if thread is not old; when thread is old,
their list is not traversed anymore, and therefore can contain dead
elements.
2012-10-03 09:36:46 -03:00
Roberto Ierusalimschy fdae4b9453 removed commented-out line (for debugging) 2012-10-03 09:36:17 -03:00
Roberto Ierusalimschy 84b6581287 cast to avoid warning in some compilers (size_t x unsigned int) 2012-10-02 14:41:50 -03:00
Roberto Ierusalimschy c6b6024a9d cast in 'luai_makeseed' now casts to needed type 2012-10-02 14:40:53 -03:00
Roberto Ierusalimschy d58ce8106e macro 'lua_number2unsigned' also needs proper definition if
lua_Number is float
2012-10-02 14:32:44 -03:00
Roberto Ierusalimschy 31f7d553e4 LUA_CORE condition removed from definition of some 'tricks' (as it
controlled only a few other defines) + MS_ASMTRICK renamed to
LUA_MSASMTRICK
2012-10-01 11:14:45 -03:00
Roberto Ierusalimschy adaba04059 'pcall' may not restore previous error function when
inside coroutines + Check for garbage collector in function calls
does not cover all paths
2012-10-01 11:05:31 -03:00
Roberto Ierusalimschy b157f3546e BUG: 'pcall' may not restore previous error function when
inside coroutines
2012-10-01 11:05:04 -03:00
Roberto Ierusalimschy ab7086e209 pops the string from 'get_prompt' only after using it 2012-09-29 17:07:06 -03:00
Roberto Ierusalimschy 7a3de1aba3 typo in comment 2012-09-24 19:57:26 -03:00
Roberto Ierusalimschy 8287a0db55 detail 2012-09-11 16:37:16 -03:00
Roberto Ierusalimschy cf160abcf9 no more macro 'changenvalue' 2012-09-11 15:21:44 -03:00
Roberto Ierusalimschy ae1d318822 small bug: generational mode is always in 'propagate' mode only
outside the collector: during collection of course it must go to
other modes.
2012-09-11 09:53:08 -03:00
Roberto Ierusalimschy 2038073975 more regularity for field 'fix' 2012-09-11 09:42:14 -03:00
Roberto Ierusalimschy 2dc91ca5ee checks garbage collector every time it calls a function (as the
stack can grow and so allocates more memory)
2012-08-28 15:30:45 -03:00
Roberto Ierusalimschy a3e1c40d6d remove of unecessary luaD_checkstack. (In some cases, C should
ensure stack space; in others, Lua can use the extra slots for
temporary values.)
2012-08-16 14:34:28 -03:00
Roberto Ierusalimschy c1a2a646c8 details (no need to use lua_pushfstring for plain strings) 2012-08-16 14:32:20 -03:00
Roberto Ierusalimschy 53480f1163 details (remove of some extra spaces) 2012-08-14 15:12:34 -03:00
Roberto Ierusalimschy 233eac4d3a detail (avoid being picky about conversion from 'unsigned char'
to 'int')
2012-08-06 10:36:34 -03:00
Roberto Ierusalimschy 6625cbecd1 Bug: Some patterns can overflow the C stack, due to recursion
(Took the opportunity to refactor function 'match')
2012-07-31 14:48:42 -03:00
Roberto Ierusalimschy 4ac55997ec typo 2012-07-13 11:54:14 -03:00
Roberto Ierusalimschy 763f84c84c Some patterns can overflow the C stack, due to recursion. 2012-07-13 11:53:38 -03:00
Roberto Ierusalimschy e4f609d0ee collector in generational mode must be in 'propagate' state when
not running a collection
2012-07-04 12:52:38 -03:00
Roberto Ierusalimschy 5ac56a94dd collector in generational mode should never be in 'pause' state 2012-07-02 12:38:36 -03:00
Roberto Ierusalimschy 4fc15bbfb7 major collections in generational mode are triggered by comparison with
the memory estimate from last major collection
2012-07-02 10:40:05 -03:00
Roberto Ierusalimschy f7ec36ab16 comment 2012-07-02 10:37:04 -03:00
Roberto Ierusalimschy b926472312 change in error message 2012-06-29 16:23:33 -03:00
Roberto Ierusalimschy 78d9865900 bugs: Internal Lua values may escape through the debug API +
Problems when yielding from debug hooks
2012-06-11 14:49:37 -03:00
Roberto Ierusalimschy cc2a60ecb7 bugs in yields inside debug hooks 2012-06-08 12:14:04 -03:00
Roberto Ierusalimschy 43bfb60ac8 new auxiliary function 'luaI_printinst' (to print a single instruction) 2012-06-07 15:52:47 -03:00
Roberto Ierusalimschy c510d94549 includes counts from 'sweeptolive' in cost of atomic step 2012-05-31 18:28:59 -03:00
Roberto Ierusalimschy 4dd0622d0c bug in luaL_getsubtable (calling lua_absindex not with original stack) 2012-05-31 17:28:45 -03:00
Roberto Ierusalimschy ab2c3d5cde small bug in error handling of finalizers (cannot call lua_tostring
inside the core) + small bug in luaC_checkfinalizer (when avoiding
remove object being sweeped from sweep list) + small changes in GC
pace control (for the atomic part)
2012-05-31 17:26:14 -03:00
Roberto Ierusalimschy 01e5f358bd small improvement in lua_checkmemory (only allow dead objects in
part of the sweep list not yet sweeped)
2012-05-31 17:25:42 -03:00
Roberto Ierusalimschy 69c775de21 update of 'lua_checkmemory' 2012-05-30 13:40:29 -03:00
Roberto Ierusalimschy 6fcdfc6d4f bug: object being moved to 'finobj' list might not be sweeped by
the collector
2012-05-30 13:01:10 -03:00
Roberto Ierusalimschy b77a90681e typos in comments 2012-05-30 09:33:44 -03:00
Roberto Ierusalimschy 6efffb9acd only count in 'atomic' objects marked for the first time 2012-05-29 14:52:17 -03:00
Roberto Ierusalimschy 51e8f08e60 more efficient way to apply 'stepmul' + some changes in GC parameters 2012-05-28 17:41:00 -03:00
Roberto Ierusalimschy 5adb5a4812 definition for 'MAX_LMEM' 2012-05-28 17:32:28 -03:00
Roberto Ierusalimschy e29f3a5751 definition of 'GCSTEPSIZE' moved to header file + small changes 2012-05-23 12:43:14 -03:00
Roberto Ierusalimschy 21ed264a38 compensate for 'GCSTEPSIZE' in GC steps 2012-05-23 12:42:27 -03:00
Roberto Ierusalimschy e131eb0d9a removed debug code 2012-05-23 12:41:53 -03:00
Roberto Ierusalimschy 054c20cd5b spaces -> tabs in #defines 2012-05-23 12:37:09 -03:00
Roberto Ierusalimschy 8e7149f496 detail ('char' should be 'const char') 2012-05-22 15:38:56 -03:00
Roberto Ierusalimschy 086da10dac merge of fields 'lastmajormem' (used in gen. mode) and 'estimate'
(used in inc. mode)
2012-05-22 14:50:39 -03:00
Roberto Ierusalimschy b36b4b521f try to avoid sweeping new objects created with new white (and
therefore not collectable in the current cycle)
2012-05-22 14:32:25 -03:00
Roberto Ierusalimschy 398811a313 simpler macro 'luaC_condGC' + better 'step' in 'lua_gc' +
micro bug in 'luaC_checkfinalizer' (current sweep object could be
removed from 'allgc' list)
2012-05-21 10:18:10 -03:00
Roberto Ierusalimschy 2a66b34f72 revamp of the GC pace control; more like 5.1: any X Kbytes allocated
makes the GC handle f(X) Kbytes of objects
2012-05-20 17:36:44 -03:00
Roberto Ierusalimschy 8d0e1ed52f extend optimization of 'if a then break end' for the case
'if a then break; end'
2012-05-20 11:51:23 -03:00
Roberto Ierusalimschy 3ac595da8a allow "long double" precision for PI constant if needed 2012-05-18 14:47:53 -03:00
Roberto Ierusalimschy ea980fdeef removed 'stringmark' trick 2012-05-14 14:52:56 -03:00
Roberto Ierusalimschy 5654763797 macro 'checkGC' takes care of setting 'top' to limit stack live values 2012-05-14 14:50:49 -03:00
Roberto Ierusalimschy edfa9e007d details (header comments) 2012-05-14 10:34:18 -03:00
Roberto Ierusalimschy 31829ad177 test for whether collector is running moved from function to
macro 'luaC_condGC'.
2012-05-11 16:22:33 -03:00
Roberto Ierusalimschy c2361e0b61 definition for 'LUAI_MAXSHORTLEN' moved to luaconf.h (too important) 2012-05-11 11:14:42 -03:00
Roberto Ierusalimschy 77cbd817d1 better(?) handling of '#define's for IEEE-related tricks + avoid using
IEEE trick for 64-bit integer types (lua_Integer on 64-bit machines)
2012-05-11 11:10:50 -03:00
Roberto Ierusalimschy 4ec7d6de95 bug: wrong handling of 'nCcalls' in coroutines 2012-05-11 11:10:28 -03:00
Roberto Ierusalimschy f6a12948ca useless parameter in macro 'luai_makeseed' 2012-05-11 11:06:07 -03:00
Roberto Ierusalimschy 3cadc37f47 no more 'Proto' objects on the stack. Protos are anchored on outer
Protos or on a Closure, which must be created before the Proto.
2012-05-08 10:53:33 -03:00
Roberto Ierusalimschy bb1146dc39 wrong error message when 'coroutine.create' or 'coroutine.wrap' are
called with no arguments (new thread is assumed to be the missing
argument).
2012-04-27 15:59:04 -03:00
Roberto Ierusalimschy fc24a3a6c4 small bug: a reader function should not modify the Lua stack 2012-04-27 11:13:19 -03:00
Roberto Ierusalimschy a94ce68e0a bug: wrong handling of 'nCcalls' in coroutines 2012-04-26 17:41:18 -03:00
Roberto Ierusalimschy ec22fc963a detail (separate code to create 'searchers' table into a new function) 2012-04-26 16:38:52 -03:00
Roberto Ierusalimschy c54f5f64c9 primaryexp -> suffixedexp; prefixexp -> primaryexp + more 'syntactical'
way to distinguish between function calls and assignments
2012-04-20 16:20:05 -03:00
Roberto Ierusalimschy 4cca1a436d details (using lua_setglobal/lua_getglobal instead of explicit
use of the global table)
2012-04-20 14:05:17 -03:00
Roberto Ierusalimschy 8df0198178 release 5.2.1 2012-04-20 10:18:26 -03:00
Roberto Ierusalimschy 048be9cf27 different scheme to check arguments to '%d', '%x', etc. Old scheme
did not work well when lua_Number is an integer.
2012-04-20 10:16:48 -03:00
Roberto Ierusalimschy 1485ea2ee7 Finalizers may call functions from a dynamic library after
the library has been unloaded
2012-04-12 13:25:25 -03:00
Roberto Ierusalimschy b10dbe5c72 bug: C libraries must be unloaded after all other finalizers have run,
because a finalizer may use a C function from a C library
2012-04-11 13:35:32 -03:00
Roberto Ierusalimschy 462375ba47 'if' to avoid empty 'memcpy' (may be expensive) 2012-04-03 16:06:19 -03:00
Roberto Ierusalimschy cfbe2333a4 string hash may not use all bytes (but this is configurable now) +
small other changes
2012-03-28 15:28:25 -03:00
Roberto Ierusalimschy afc3fcf952 definition for 'LUA_MAXSHORTLEN' moved to 'lstring.c' (used only there) 2012-03-28 15:27:25 -03:00
Roberto Ierusalimschy 99bd1a000f error function can be 'l_noret' 2012-03-19 19:58:09 -03:00
Roberto Ierusalimschy 3e66d3b4be cleaner code (avoids loop with empty body) 2012-03-19 19:57:14 -03:00
Roberto Ierusalimschy 29a28693e5 'luaL_checkversion' called by 'luaL_setfuncs' 2012-03-18 13:52:49 -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 291f564485 field 'reserved' -> 'extra' (may be used for other purposes too) 2012-01-23 21:05:51 -02:00
Roberto Ierusalimschy 9f1a8dbdd3 'eqstr' -> 'luaS_eqstr' 2012-01-23 21:05:18 -02:00
Roberto Ierusalimschy d19f1da6ef new macro 'isreserved' + 'eqstr' -> 'luaS_eqstr' (may be a function) 2012-01-23 21:04:07 -02:00
Roberto Ierusalimschy f88806a1fb "default: lua_assert(0)" in switches helps debugging + uses
non-variant types in binary files
2012-01-23 21:02:10 -02:00
Roberto Ierusalimschy fb6eee2805 Lua never uses Ã'assert' (it is always 'lua_assert') 2012-01-23 20:59:02 -02:00
Roberto Ierusalimschy 0010ec68b1 documentation comment (small correction about strings being
gray)
2012-01-23 18:29:12 -02:00
Roberto Ierusalimschy 28f8ed9113 new macro 'checktype' 2012-01-20 20:47:11 -02:00
Roberto Ierusalimschy fd22ccd6d0 object tag keeps variant bits too -> no need for 'isC' field in
Closures + more strick typing for closure variants
2012-01-20 20:05:50 -02:00
Roberto Ierusalimschy 76eab106df bug: Lexical gets confused with some combination of arithmetic
operators and hexadecimal numbers
2012-01-20 16:35:36 -02:00
Roberto Ierusalimschy 81ed85ecfb BUG: memory hoarding when creating Lua hooks for coroutines
BUG: Lexical gets confused with some combination of arithmetic
operators and hexadecimal numbers
2012-01-20 16:32:13 -02:00
Roberto Ierusalimschy 7dcc02b165 BUG: coroutine hooks were not collected together with coroutine 2012-01-19 18:14:44 -02:00
Roberto Ierusalimschy e2fc2ce8df new way to handle -E option (write a mark in the registry to avoid
reading environment variables)
2011-12-12 14:34:03 -02:00
Roberto Ierusalimschy a241b6cb3c removed redundant definition for FILEHANDLE 2011-12-08 10:11:37 -02:00
Roberto Ierusalimschy f0d143f30f avoid a few warnings (casts) 2011-12-07 16:03:47 -02:00
Roberto Ierusalimschy c82087b8dd cast from 'bool' to 'int' (for C++) 2011-12-07 12:43:55 -02:00
Roberto Ierusalimschy 138be5b843 no more explicit support for 'luaall_c': unifying file can do
the work
2011-12-06 14:58:36 -02:00
Roberto Ierusalimschy e320b5b672 small bug: format '%d' for lua_Number argument 2011-12-06 14:33:55 -02:00
Roberto Ierusalimschy ca9c405fef some compilers (e.g., gcc C++) do not accept NULL as a pointer in
that context
2011-12-02 11:26:54 -02:00
Roberto Ierusalimschy e2feb886d6 macro 'luaL_getmetatable' seems more appropriate when getting
metatables in registry
2011-12-02 11:25:57 -02:00
Roberto Ierusalimschy 5999e14ad9 old error messages may be misleading 2011-12-02 11:23:56 -02:00