Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | avoid some warnings about converting 32-bit shifts into 64-bit results | Roberto Ierusalimschy | 2011-11-28 | 1 | -6/+12 | |
| | ||||||
* | 'luaC_separateudata' renamed to 'separatetobefnz' and called only | Roberto Ierusalimschy | 2011-10-03 | 1 | -10/+9 | |
| | | | | from 'lgc.c' | |||||
* | retraverse all gray lists together to avoid traversing some weak | Roberto Ierusalimschy | 2011-10-03 | 1 | -14/+34 | |
| | | | | tables twice (as they may change lists when traversed) | |||||
* | dead objects are not collectable. | Roberto Ierusalimschy | 2011-09-24 | 1 | -3/+4 | |
| | ||||||
* | better(?) scheme for cleaning weak tables; all ressurected objects | Roberto Ierusalimschy | 2011-09-24 | 1 | -18/+44 | |
| | | | | are removed from weak values before finalization | |||||
* | avoid clearing ephemeron tables that have nothing to be cleaned | Roberto Ierusalimschy | 2011-09-19 | 1 | -13/+17 | |
| | | | | (no white elements) | |||||
* | 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. |