2af0d3b459
allocator function receives the tag of object being allocated in 'osize' when 'ptr' is NULL.
Roberto Ierusalimschy2009-12-16 14:42:58 -02:00
1375435e4a
several new features in testC to allow better testing of lua_resume at the C API level
Roberto Ierusalimschy2009-12-10 16:21:28 -02:00
2bb19ccf08
reordering of some functions + cleaner way to code lua_resume/resume + small bug in lua_resume (in case of calling errors lua_resume should remove only new arguments from the stack and push error message).
Roberto Ierusalimschy2009-12-10 16:20:07 -02:00
64d5df7772
detail (lua_resume should empty coroutine stack even if they do not fit into caller stack)
Roberto Ierusalimschy2009-12-10 16:17:37 -02:00
2643da67c6
error messages from 'lua_resume' must be generated in protected mode, to avoid raising memory errors
Roberto Ierusalimschy2009-12-08 16:59:24 -02:00
ed117bb42a
lua_checkstack does not raise memory errors (instead it signals them)
Roberto Ierusalimschy2009-12-08 14:15:43 -02:00
df1dc3f1f5
strings in C scripts may be delimited by quotes + new functionality to set C scripts as C hooks
Roberto Ierusalimschy2009-12-01 14:49:48 -02:00
b0f2b288a6
new scheme for debug info about tail calls: no more 'fake' stack entries, but stack entry knows whether it was tail called
Roberto Ierusalimschy2009-11-25 13:27:51 -02:00
2b25489b47
'notail' -> 'noextrachars' ('notail' may confuse with tail calls)
Roberto Ierusalimschy2009-11-24 16:05:12 -02:00
9a6d9ea57a
GC may get stuck during a parser and avoids proper resizing of the string table, making its lists grow too much and degrading performance.
Roberto Ierusalimschy2009-11-23 12:59:30 -02:00
062e809e54
new macros 'LUAI_DDEC'/'LUAI_DDEF' to better control declarations and definitions of non-static variables
Roberto Ierusalimschy2009-11-19 17:06:52 -02:00
b4c1824824
'luaV_arith' must be marked 'LUAI_FUNC' (as all non-static functions)
Roberto Ierusalimschy2009-11-19 17:04:58 -02:00
88eb901f81
registry and global table may be changed through the API without a write barrier, so GC should visit them in the atomic phase.
Roberto Ierusalimschy2009-11-09 16:29:21 -02:00
a921d81033
avoid using 'ttype' when there is an explicit test + macro 'checkdeadkey' to avoid repetitions
Roberto Ierusalimschy2009-11-06 15:06:19 -02:00
b7d5f18d71
api functions to manipulate upvalues do not need to check their arguments (the caller must check them before calling)
Roberto Ierusalimschy2009-11-05 15:26:00 -02:00
6e415e9387
local function definition does not need to correct debug information
Roberto Ierusalimschy2009-10-13 16:35:42 -03:00
b114c99a60
two small bugs: 'debug.getinfo' did not consider negative indices as out of range + 'debug.[gs]etlocal' crash on tail calls
Roberto Ierusalimschy2009-10-13 16:07:40 -03:00
916587508c
parser keeps list of active local variables in a single dynamic array, therefore saving C stack space
Roberto Ierusalimschy2009-10-11 17:02:19 -03:00
5938212748
information about upvalues (where they come from) kept in Proto structure, instead of sequence of pseudo-opcodes after OP_CLOSURE
Roberto Ierusalimschy2009-09-28 13:32:50 -03:00
1829911d7c
some operations may shrink g->totalbytes so g->estimate must be more flexible
Roberto Ierusalimschy2009-09-28 10:50:34 -03:00
fcc46467fa
limit of constants per function changed to 2^26 using extra arguments to opcodes LOADK, GETGLOBAL, and SETGLOBAL
Roberto Ierusalimschy2009-09-23 17:33:05 -03:00
071e54ae0b
extra facilities to testC: comments + commands print, callk and yield + Cfunc with extra upvalues
Roberto Ierusalimschy2009-09-09 17:44:10 -03:00
5b6be84106
ensures that argument 'mode' to 'io.open' matches "[rwa]%+?b?", to avoid passing invalid modes to 'fopen'.
Roberto Ierusalimschy2009-08-28 10:51:57 -03:00
4e1ffc482a
test for 'fs' being NULL at the end of 'close_func' is useless ('fs' cannot be NULl and the new ls->fs can only be NULL when the token is EOS, in which case anchor_token has no effect).
Roberto Ierusalimschy2009-08-10 17:41:04 -03:00
bc439e21cd
avoid an unprotected call to 'lua_tostring' which theoretically may cause a panicked exit
Roberto Ierusalimschy2009-08-10 13:23:19 -03:00
1b4480003b
"stange numbers" (-0 and NaN) also go to the constant table (as strings with their binary representation). Therefore, constant folding may produce these results.
Roberto Ierusalimschy2009-08-10 12:31:44 -03:00
42167804b8
luaH_[gs]etnum renamed to luaH_[gs]etint (as they only accept integers, not generic numbers).
Roberto Ierusalimschy2009-08-07 14:53:28 -03:00
3135a6bbab
luaH_[gs]etnum renamed to luaH_[gs]etint (as they only accept integers, not generic numbers)
Roberto Ierusalimschy2009-08-07 13:17:41 -03:00