Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | macro 'checkconsistency' moved to this file, as it is used only | Roberto Ierusalimschy | 2011-05-05 | 1 | -1/+5 |
| | | | | here | ||||
* | full collection does not restart collector + avoid changing GC | Roberto Ierusalimschy | 2010-12-29 | 1 | -12/+20 |
| | | | | state if an error happens in a step | ||||
* | change in the relationship between totalbytes and GCdebt - luaM_realloc_ | Roberto Ierusalimschy | 2010-12-20 | 1 | -10/+13 |
| | | | | is too critical to update two counters | ||||
* | better control for GC running or stopped | Roberto Ierusalimschy | 2010-12-20 | 1 | -9/+12 |
| | |||||
* | 'micro' bug: when closing state, old objects are finalized (breaking | Roberto Ierusalimschy | 2010-12-03 | 1 | -5/+8 |
| | | | | assertion) | ||||
* | finalizers (__gc) for tables | Roberto Ierusalimschy | 2010-11-26 | 1 | -36/+36 |
| | |||||
* | corrected warnings from different compilers (mostly casts and small | Roberto Ierusalimschy | 2010-10-25 | 1 | -2/+2 |
| | | | | details) | ||||
* | new parameter 'majorinc' to control frequency of major collections | Roberto Ierusalimschy | 2010-09-03 | 1 | -2/+2 |
| | | | | in generational mode | ||||
* | typo in comments | Roberto Ierusalimschy | 2010-06-30 | 1 | -2/+2 |
| | |||||
* | macro 'key2tal' replaced by 'gkey' (as both were equal) | Roberto Ierusalimschy | 2010-06-25 | 1 | -3/+3 |
| | |||||
* | better barrier for prototypes | Roberto Ierusalimschy | 2010-06-07 | 1 | -28/+20 |
| | |||||
* | Lua closures are cached for reuse | Roberto Ierusalimschy | 2010-06-04 | 1 | -8/+42 |
| | |||||
* | bug: generational collection was not running collector! (must write | Roberto Ierusalimschy | 2010-06-02 | 1 | -2/+3 |
| | | | | a test for this...) | ||||
* | really stop collection during finalizers | Roberto Ierusalimschy | 2010-05-17 | 1 | -2/+2 |
| | |||||
* | avoid "strong" cast | Roberto Ierusalimschy | 2010-05-11 | 1 | -2/+3 |
| | |||||
* | corrected some places where an old object could end up in front | Roberto Ierusalimschy | 2010-05-10 | 1 | -5/+4 |
| | | | | of a new one + minimal documentation about this problem | ||||
* | new macro 'resetoldbit' | Roberto Ierusalimschy | 2010-05-10 | 1 | -6/+6 |
| | |||||
* | avoid 'else assert' (which may result in an empty else) | Roberto Ierusalimschy | 2010-05-07 | 1 | -4/+4 |
| | |||||
* | bug: incremental sweep was not cleaning old bits (as it stopped in the | Roberto Ierusalimschy | 2010-05-07 | 1 | -28/+28 |
| | | | | | | 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') | ||||
* | some cleaning in 'sweeplist' (threads do not need to be traversed | Roberto Ierusalimschy | 2010-05-06 | 1 | -28/+29 |
| | | | | | if they are going to be collected + use of bit masks to unify differences in generational and incremental modes) | ||||
* | new function 'luaC_changemode' + | Roberto Ierusalimschy | 2010-05-05 | 1 | -13/+42 |
| | | | | | | | 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) | ||||
* | better documentation of GC costs | Roberto Ierusalimschy | 2010-05-05 | 1 | -12/+26 |
| | |||||
* | full GC must run finalizers only after finishing everything else | Roberto Ierusalimschy | 2010-05-04 | 1 | -5/+5 |
| | | | | (including a return to generational mode if needed) | ||||
* | no need of a KGC_FORCED collection kind; it has the same behavior of | Roberto Ierusalimschy | 2010-05-03 | 1 | -5/+4 |
| | | | | a normal collection | ||||
* | no more 'finalize' phase in GC; finalizers are called along the | Roberto Ierusalimschy | 2010-05-03 | 1 | -25/+28 |
| | | | | entire cycle | ||||
* | items in 'tobefnz' are kept black (as before recent change) and changed | Roberto Ierusalimschy | 2010-05-03 | 1 | -8/+11 |
| | | | | | to white only when needed (being moved to 'allgc' when not keeping invariant). | ||||
* | "gray lists" only need to be valid when 'keepinvariant' is true | Roberto Ierusalimschy | 2010-04-30 | 1 | -13/+8 |
| | |||||
* | nasty GC bug: upvalue must be turned white when not keeping invariant, | Roberto Ierusalimschy | 2010-04-29 | 1 | -1/+21 |
| | | | | but barrier was not being called when uv->v were already white. | ||||
* | 'luaC_linkupval' moved into 'lfunc.c' code + new way to control GC speed | Roberto Ierusalimschy | 2010-04-29 | 1 | -76/+60 |
| | |||||
* | lots of new comments + small changes in loop controls + other small | Roberto Ierusalimschy | 2010-04-26 | 1 | -117/+161 |
| | | | | "janitor work" | ||||
* | "to-be-finalized" objects marked and sweeped like all other objects | Roberto Ierusalimschy | 2010-04-20 | 1 | -13/+13 |
| | |||||
* | new macro LUA_NUMTAGS | Roberto Ierusalimschy | 2010-04-12 | 1 | -2/+2 |
| | |||||
* | cannot sweep main thread in sweepstring phase | Roberto Ierusalimschy | 2010-04-05 | 1 | -7/+16 |
| | |||||
* | added proper code to trace garbage collection | Roberto Ierusalimschy | 2010-04-02 | 1 | -7/+1 |
| | |||||
* | global table now is only kept in the registry | Roberto Ierusalimschy | 2010-03-29 | 1 | -3/+1 |
| | |||||
* | no more fenvs! | Roberto Ierusalimschy | 2010-03-26 | 1 | -5/+2 |
| | |||||
* | major collections in generational mode | Roberto Ierusalimschy | 2010-03-25 | 1 | -6/+14 |
| | |||||
* | 'mainthread' is not inserted in the 'allgc' list anymore, but swept | Roberto Ierusalimschy | 2010-03-25 | 1 | -9/+10 |
| | | | | separately. | ||||
* | generational mode no longer sweep old objects | Roberto Ierusalimschy | 2010-03-24 | 1 | -18/+38 |
| | |||||
* | userdata with finalizers are kept in a separated list ('udgc'), instead | Roberto Ierusalimschy | 2010-03-24 | 1 | -26/+30 |
| | | | | | of at the end of 'rootgc' (which was renamed to 'allgc', as it is not "root" in the usual meaning for collectors) | ||||
* | BUG: emergency collector might resize 'strt' (string table) when | Roberto Ierusalimschy | 2010-03-23 | 1 | -11/+27 |
| | | | | | | | creating a new string + atomic and markroot steps has some cost + full collection must leave collector in proper state when mode is generational | ||||
* | draft version of a generational mode for garbage collection. (Not well | Roberto Ierusalimschy | 2010-03-22 | 1 | -27/+54 |
| | | | | tested; no major collections; ...) | ||||
* | no more pseudoindex LUA_GLOBALSINDEX; global table now accessible | Roberto Ierusalimschy | 2009-12-22 | 1 | -4/+3 |
| | | | | through registry | ||||
* | allocator function receives the tag of object being allocated in 'osize' | Roberto Ierusalimschy | 2009-12-17 | 1 | -4/+12 |
| | | | | when 'ptr' is NULL. | ||||
* | better to keep GC state numbers sequential, to optimize switch in | Roberto Ierusalimschy | 2009-12-11 | 1 | -8/+8 |
| | | | | 'singlestep' | ||||
* | new function 'luaC_runtilstate' to advance GC until a "valid" state | Roberto Ierusalimschy | 2009-12-11 | 1 | -8/+20 |
| | |||||
* | comment typos | Roberto Ierusalimschy | 2009-11-26 | 1 | -2/+2 |
| | |||||
* | (huge) simplification of GC management | Roberto Ierusalimschy | 2009-11-18 | 1 | -91/+42 |
| | |||||
* | registry and global table may be changed through the API without a | Roberto Ierusalimschy | 2009-11-09 | 1 | -1/+4 |
| | | | | write barrier, so GC should visit them in the atomic phase. | ||||
* | avoid using 'ttype' when there is an explicit test + macro 'checkdeadkey' | Roberto Ierusalimschy | 2009-11-06 | 1 | -5/+7 |
| | | | | to avoid repetitions |