Roberto Ierusalimschy
cd6c276e41
use index 0 for header of list of free references
2010-08-03 17:21:16 -03:00
Roberto Ierusalimschy
fd4b4a2a68
detail: registry._PRELOAD must be a table, no need to check
2010-08-02 14:14:48 -03:00
Roberto Ierusalimschy
d447945685
'module'/'luaL_register' and associates are deprecated
2010-07-28 12:51:59 -03:00
Roberto Ierusalimschy
78f9635111
several new comments
2010-07-26 12:53:23 -03:00
Roberto Ierusalimschy
8b7cf8c62d
'lua_[gs]etenv' -> 'lua_[gs]etuservalue'
2010-07-25 12:18:19 -03:00
Roberto Ierusalimschy
73b0a3451d
environment variables consulted by Lua may be version-specific
2010-07-25 12:03:37 -03:00
Roberto Ierusalimschy
85c1461422
new macros LUA_VERSION_{MAJOR/MINOR/RELEASE}
2010-07-25 12:02:41 -03:00
Roberto Ierusalimschy
5ba556d27a
using curly brackets to mark blocks of '#if/#else/#endif's
2010-07-18 11:34:45 -03:00
Roberto Ierusalimschy
81dd13f4c6
new way to distinguish between indexing tables in registers and
...
tables in upvalues (+ fixed small bug when checking conflicts in
multiple assignments)
2010-07-07 13:27:29 -03:00
Roberto Ierusalimschy
6a02bbe1e2
better organization for fields in struct 'expdesc'
2010-07-02 17:42:40 -03:00
Roberto Ierusalimschy
7631c29b2f
comand-line option '-l' creates global with given name after
...
requiring module
2010-07-02 14:36:32 -03:00
Roberto Ierusalimschy
a9dc7c8828
functions lua_tonumber/lua_tointeger replaced by lua_tonumberx/lua_tointegerx
...
that have an extra out parameter with conversion status
2010-07-02 14:35:06 -03:00
Roberto Ierusalimschy
7192afafee
new module policy: C modules do not create globals and do not register
...
themselves with 'require' (let 'require' do its work); new auxiliary
functions luaL_newlib/luaL_newlibtable/luaL_setfuncs/luaL_requiref.
Old luaL_register will be deprecated.
2010-07-02 08:38:13 -03:00
Roberto Ierusalimschy
a139e2e003
old (and complex) luaL_findtable now used only in compatibility code
...
inside lauxlib.c
2010-06-30 14:40:27 -03:00
Roberto Ierusalimschy
a71c5f6f53
typo in comments
2010-06-30 11:11:17 -03:00
Roberto Ierusalimschy
d9ea6eca7c
macro 'key2tal' replaced by 'gkey' (as both were equal)
2010-06-25 09:18:10 -03:00
Roberto Ierusalimschy
ca3865cf1b
'getlocal' gets information about parameters of Lua functions
2010-06-21 13:30:12 -03:00
Roberto Ierusalimschy
bef5980744
no more support for old Mac OS systems
2010-06-18 14:23:02 -03:00
Roberto Ierusalimschy
409741e900
'what' may be NULL in 'kname'
2010-06-16 10:44:36 -03:00
Roberto Ierusalimschy
b98de30b8f
'ipair' is back
2010-06-13 16:41:34 -03:00
Roberto Ierusalimschy
9f48712c15
use ANSI versions of DLL functions in Windows
2010-06-13 16:36:17 -03:00
Roberto Ierusalimschy
bd262d591f
'coroutine' library separated from 'baselib'
2010-06-10 18:30:26 -03:00
Roberto Ierusalimschy
0d116c3ada
unused '#include' removed
2010-06-10 18:27:09 -03:00
Roberto Ierusalimschy
79f11fb2bb
back with #-comments for binary files
2010-06-09 14:53:59 -03:00
Roberto Ierusalimschy
fabe4ec487
better barrier for prototypes
2010-06-07 13:55:34 -03:00
Roberto Ierusalimschy
575074fd85
Lua closures are cached for reuse
2010-06-04 10:25:10 -03:00
Roberto Ierusalimschy
545f43065f
'luaF_newLclosure' gets prototype of new closure as argument
2010-06-04 10:06:15 -03:00
Roberto Ierusalimschy
3819c30e55
better names for barrier macros
2010-06-04 10:05:29 -03:00
Roberto Ierusalimschy
e94fac8956
bug: generational collection was not running collector! (must write
...
a test for this...)
2010-06-02 15:36:58 -03:00
Roberto Ierusalimschy
2c1a5d678d
factoring out common code in 'module' and 'luaL_openlib'
2010-05-31 13:34:19 -03:00
Roberto Ierusalimschy
bd619b9311
new macro MAXUPVAL (maximum number of upvalues per closure)
2010-05-31 13:08:55 -03:00
Roberto Ierusalimschy
aca84ee1a0
correct definition for 'lua_cpcall' (tested)
2010-05-28 11:27:07 -03:00
Roberto Ierusalimschy
5038e3c58c
corrected compatibility macro 'lua_cpcall' (untested)
2010-05-27 09:06:42 -03:00
Roberto Ierusalimschy
5a7dee0c5d
added class '%g' in patterns (for graphical characters)
2010-05-24 16:34:57 -03:00
Roberto Ierusalimschy
ddf1f2a053
GC should not run when stopped, even in hard tests
2010-05-24 16:29:46 -03:00
Roberto Ierusalimschy
e34d3c06b0
it is better to call open functions with lua_call to not mess
...
the caller stack
2010-05-20 09:57:59 -03:00
Roberto Ierusalimschy
e8a2c36909
more comments
2010-05-18 14:32:19 -03:00
Roberto Ierusalimschy
3c39a0e8cb
bug: loadfile of binary files read first character twice
2010-05-18 14:21:24 -03:00
Roberto Ierusalimschy
3d45a8eb1c
really stop collection during finalizers
2010-05-17 17:39:31 -03:00
Roberto Ierusalimschy
3d80aeab5a
lua_pushstring may reallocate the stack, making 'o' a dangling
...
pointer
2010-05-17 17:10:17 -03:00
Roberto Ierusalimschy
3811e23b32
detail (comment)
2010-05-17 15:30:27 -03:00
Roberto Ierusalimschy
12c764ed1e
semicolons now represent the empty statement
2010-05-15 10:32:02 -03:00
Roberto Ierusalimschy
e99e9a9473
patches for last two bugs (string.format and io.read)
2010-05-14 12:34:57 -03:00
Roberto Ierusalimschy
f35ac38e1d
updated depenency lists + eliminated duplication of definitions
...
for MYCFLAGS, MYLDFLAGS, and MYLIBS.
2010-05-14 12:08:10 -03:00
Roberto Ierusalimschy
058279d548
comments
2010-05-14 12:03:43 -03:00
Roberto Ierusalimschy
69ba1ac441
new "instruction" 'absindex'
2010-05-14 10:15:54 -03:00
Roberto Ierusalimschy
4a925c1552
in 'absindex', do not need to call gettop (can inline it)
2010-05-14 10:15:26 -03:00
Roberto Ierusalimschy
cf531912f2
one more macro (mvdispatch) to easy experiments with alternative
...
dispatch methods
2010-05-13 16:53:05 -03:00
Roberto Ierusalimschy
0d00729e31
detail (breaking a long line)
2010-05-13 09:03:26 -03:00
Roberto Ierusalimschy
b6e9fcbd70
use of macro ('vmcase') to format all cases in main switch of
...
'luaV_execute' (to facilitate experiences with direct threading)
2010-05-12 17:40:35 -03:00
Roberto Ierusalimschy
8554baeacf
small changes in 'luaV_execute' to make cases more regularly formatted
2010-05-12 17:31:33 -03:00
Roberto Ierusalimschy
f5b7f077ec
added comments to '#else' and '#endif' in long conditionals
2010-05-12 11:17:36 -03:00
Roberto Ierusalimschy
e924a7f9ea
new API function 'lua_absindex'
2010-05-12 11:09:20 -03:00
Roberto Ierusalimschy
4fd76b8148
avoid "strong" cast
2010-05-11 17:49:26 -03:00
Roberto Ierusalimschy
de0f51a02c
wrong type being assigned (not detected because of obj2gco macro)
2010-05-11 17:48:36 -03:00
Roberto Ierusalimschy
0567221848
udata in 'tobefnz' list be have old bit on (it will be cleared
...
when udata is moved to 'allgc' list)
2010-05-10 15:24:36 -03:00
Roberto Ierusalimschy
1c1a98e872
corrected some places where an old object could end up in front
...
of a new one + minimal documentation about this problem
2010-05-10 15:23:45 -03:00
Roberto Ierusalimschy
c006f085d9
new macro 'resetoldbit'
2010-05-10 13:46:49 -03:00
Roberto Ierusalimschy
a48e330f37
macros 'lua_number2int' and 'lua_number2uint' for Visual Studio
...
corrected and tested
2010-05-10 13:38:58 -03:00
Roberto Ierusalimschy
dcc070683c
avoid reserving LUA_RIDX_LAST slots in any table used by reference
...
system. Store free list in a field indexed by a unique name,
instead of using a numerical index.
2010-05-10 12:25:02 -03:00
Roberto Ierusalimschy
2d81cfa4e1
corrected definition of 'lua_register' (there is no LUA_ENVIRONINDEX
...
anymore)
2010-05-10 10:50:20 -03:00
Roberto Ierusalimschy
0bccf03d7e
slightly better definition for 'changenvalue'
2010-05-07 15:44:46 -03:00
Roberto Ierusalimschy
ad2b5decc8
'lua_assert' can be empty when assertions are off
2010-05-07 15:44:12 -03:00
Roberto Ierusalimschy
32c1764b5d
slightly better definition for 'isgray'
2010-05-07 15:43:51 -03:00
Roberto Ierusalimschy
de97177744
avoid 'else assert' (which may result in an empty else)
2010-05-07 15:43:24 -03:00
Roberto Ierusalimschy
fa2ddb070a
details (to avoid too long strings in assertions)
2010-05-07 15:23:17 -03:00
Roberto Ierusalimschy
0fac33da9e
bug: incremental sweep was not cleaning old bits (as it stopped in the
...
first old object) + bug: moving udata to 'udgc' list might put old
object in front a new one + some new macros + generational mode may
be in 'pause' state (it just skips 'markroot')
2010-05-07 15:19:36 -03:00
Roberto Ierusalimschy
8e1bdda66a
stupid bug when calling 'luaC_changemode' (in function lua_gc)
2010-05-07 15:10:01 -03:00
Roberto Ierusalimschy
9c1347e647
more tests in 'lua_checkmemory' + more information in function
...
'gccolor'
2010-05-07 15:09:23 -03:00
Roberto Ierusalimschy
b373a40133
new macro 'isgenerational' + new macro 'isold' + better deffinition
...
for 'isdead', compatible with the code used by 'sweeplist'
2010-05-07 15:08:05 -03:00
Roberto Ierusalimschy
25951e0ea5
some cleaning in 'sweeplist' (threads do not need to be traversed
...
if they are going to be collected + use of bit masks to unify
differences in generational and incremental modes)
2010-05-06 15:18:07 -03:00
Roberto Ierusalimschy
a4f20e3c8b
comments
2010-05-06 15:17:22 -03:00
Roberto Ierusalimschy
8c583c61a3
more tests in 'lua_checkmemory'
2010-05-06 15:16:57 -03:00
Roberto Ierusalimschy
d2ea5b00b7
new function 'luaC_changemode' +
...
bug: objects entering the 'allgc' list must have their OLDBIT cleared
(upvalues being cleared) + bug: in 'checkSizes', KGC_EMERGENCY is
stored in 'gckind' field, not in 'gcstate' + current white changes when
entering sweep phase (so there are dead objects only in that phase)
2010-05-05 15:58:36 -03:00
Roberto Ierusalimschy
d77898597e
new function 'luaC_changemode'
2010-05-05 15:53:41 -03:00
Roberto Ierusalimschy
237f755dca
typos in comments
2010-05-05 15:49:56 -03:00
Roberto Ierusalimschy
7444b5a1d5
better documentation of GC costs
2010-05-05 10:39:58 -03:00
Roberto Ierusalimschy
e7ce7e1850
changes in patch to monitor garbage collection
2010-05-04 15:10:02 -03:00
Roberto Ierusalimschy
3e662cec89
full GC must run finalizers only after finishing everything else
...
(including a return to generational mode if needed)
2010-05-04 15:09:06 -03:00
Roberto Ierusalimschy
fde866e303
details (comments)
2010-05-04 14:25:19 -03:00
Roberto Ierusalimschy
2d7a81a204
missing parentheses in declaration
2010-05-04 14:21:08 -03:00
Roberto Ierusalimschy
658ea8752b
no need to handle '\0' differently from other control chars in
...
format '%q'
2010-05-04 14:20:33 -03:00
Roberto Ierusalimschy
aa73403ba4
no need of a KGC_FORCED collection kind; it has the same behavior of
...
a normal collection
2010-05-03 14:39:48 -03:00
Roberto Ierusalimschy
0c27de2e7b
no more 'finalize' phase in GC; finalizers are called along the
...
entire cycle
2010-05-03 14:33:39 -03:00
Roberto Ierusalimschy
d25f7f9d78
items in 'tobefnz' are kept black (as before recent change) and changed
...
to white only when needed (being moved to 'allgc' when not keeping
invariant).
2010-05-03 08:55:40 -03:00
Roberto Ierusalimschy
85555646e3
invariant must be kept in atomic 'phase' too
2010-05-03 08:24:30 -03:00
Roberto Ierusalimschy
4d871ee973
"gray lists" only need to be valid when 'keepinvariant' is true
2010-04-30 15:37:14 -03:00
Roberto Ierusalimschy
b9e1dec2cb
added comment explaining a bit about the invariants of the collector
2010-04-30 15:36:45 -03:00
Roberto Ierusalimschy
dc2b8a0073
detail
2010-04-30 15:36:22 -03:00
Roberto Ierusalimschy
9a9fe42deb
wrong comment
2010-04-30 15:17:24 -03:00
Roberto Ierusalimschy
0062db1e06
default PAUSE should be 200 (differences may be corrected in
...
internal multiplers)
+ check for unbilt stack equal the one used by lgc.c
2010-04-30 11:22:23 -03:00
Roberto Ierusalimschy
23001d8607
nasty GC bug: upvalue must be turned white when not keeping invariant,
...
but barrier was not being called when uv->v were already white.
2010-04-29 18:43:36 -03:00
Roberto Ierusalimschy
5d79c6684b
removed commented-out debugging code
2010-04-29 18:42:33 -03:00
Roberto Ierusalimschy
3410dcd375
new way to control GC speed
2010-04-29 14:35:10 -03:00
Roberto Ierusalimschy
5a7a0c72d8
'luaC_linkupval' embedded into call site
2010-04-29 14:34:35 -03:00
Roberto Ierusalimschy
ee7478e884
improved 'lua_checkmemory', with better control over gray objects
2010-04-29 14:33:51 -03:00
Roberto Ierusalimschy
aaa5d7adab
'luaC_linkupval' moved into 'lfunc.c' code + new way to control GC speed
2010-04-29 14:32:40 -03:00
Roberto Ierusalimschy
3eb1788bb4
new way to control GC speed (keeping a 'debt' counter)
2010-04-29 14:31:31 -03:00
Roberto Ierusalimschy
00114a95b2
lots of new comments + small changes in loop controls + other small
...
"janitor work"
2010-04-26 14:58:00 -03:00
Roberto Ierusalimschy
4aaf0ef75c
"to-be-finalized" objects marked and sweeped like all other objects
2010-04-20 17:15:30 -03:00