summaryrefslogtreecommitdiff
path: root/lgc.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* macro 'checkconsistency' moved to this file, as it is used onlyRoberto Ierusalimschy2011-05-051-1/+5
| | | | here
* full collection does not restart collector + avoid changing GCRoberto Ierusalimschy2010-12-291-12/+20
| | | | state if an error happens in a step
* change in the relationship between totalbytes and GCdebt - luaM_realloc_Roberto Ierusalimschy2010-12-201-10/+13
| | | | is too critical to update two counters
* better control for GC running or stoppedRoberto Ierusalimschy2010-12-201-9/+12
|
* 'micro' bug: when closing state, old objects are finalized (breakingRoberto Ierusalimschy2010-12-031-5/+8
| | | | assertion)
* finalizers (__gc) for tablesRoberto Ierusalimschy2010-11-261-36/+36
|
* corrected warnings from different compilers (mostly casts and smallRoberto Ierusalimschy2010-10-251-2/+2
| | | | details)
* new parameter 'majorinc' to control frequency of major collectionsRoberto Ierusalimschy2010-09-031-2/+2
| | | | in generational mode
* typo in commentsRoberto Ierusalimschy2010-06-301-2/+2
|
* macro 'key2tal' replaced by 'gkey' (as both were equal)Roberto Ierusalimschy2010-06-251-3/+3
|
* better barrier for prototypesRoberto Ierusalimschy2010-06-071-28/+20
|
* Lua closures are cached for reuseRoberto Ierusalimschy2010-06-041-8/+42
|
* bug: generational collection was not running collector! (must writeRoberto Ierusalimschy2010-06-021-2/+3
| | | | a test for this...)
* really stop collection during finalizersRoberto Ierusalimschy2010-05-171-2/+2
|
* avoid "strong" castRoberto Ierusalimschy2010-05-111-2/+3
|
* corrected some places where an old object could end up in frontRoberto Ierusalimschy2010-05-101-5/+4
| | | | of a new one + minimal documentation about this problem
* new macro 'resetoldbit'Roberto Ierusalimschy2010-05-101-6/+6
|
* avoid 'else assert' (which may result in an empty else)Roberto Ierusalimschy2010-05-071-4/+4
|
* bug: incremental sweep was not cleaning old bits (as it stopped in theRoberto Ierusalimschy2010-05-071-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 traversedRoberto Ierusalimschy2010-05-061-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 Ierusalimschy2010-05-051-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 costsRoberto Ierusalimschy2010-05-051-12/+26
|
* full GC must run finalizers only after finishing everything elseRoberto Ierusalimschy2010-05-041-5/+5
| | | | (including a return to generational mode if needed)
* no need of a KGC_FORCED collection kind; it has the same behavior ofRoberto Ierusalimschy2010-05-031-5/+4
| | | | a normal collection
* no more 'finalize' phase in GC; finalizers are called along theRoberto Ierusalimschy2010-05-031-25/+28
| | | | entire cycle
* items in 'tobefnz' are kept black (as before recent change) and changedRoberto Ierusalimschy2010-05-031-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 trueRoberto Ierusalimschy2010-04-301-13/+8
|
* nasty GC bug: upvalue must be turned white when not keeping invariant,Roberto Ierusalimschy2010-04-291-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 speedRoberto Ierusalimschy2010-04-291-76/+60
|
* lots of new comments + small changes in loop controls + other smallRoberto Ierusalimschy2010-04-261-117/+161
| | | | "janitor work"
* "to-be-finalized" objects marked and sweeped like all other objectsRoberto Ierusalimschy2010-04-201-13/+13
|
* new macro LUA_NUMTAGSRoberto Ierusalimschy2010-04-121-2/+2
|
* cannot sweep main thread in sweepstring phaseRoberto Ierusalimschy2010-04-051-7/+16
|
* added proper code to trace garbage collectionRoberto Ierusalimschy2010-04-021-7/+1
|
* global table now is only kept in the registryRoberto Ierusalimschy2010-03-291-3/+1
|
* no more fenvs!Roberto Ierusalimschy2010-03-261-5/+2
|
* major collections in generational modeRoberto Ierusalimschy2010-03-251-6/+14
|
* 'mainthread' is not inserted in the 'allgc' list anymore, but sweptRoberto Ierusalimschy2010-03-251-9/+10
| | | | separately.
* generational mode no longer sweep old objectsRoberto Ierusalimschy2010-03-241-18/+38
|
* userdata with finalizers are kept in a separated list ('udgc'), insteadRoberto Ierusalimschy2010-03-241-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) whenRoberto Ierusalimschy2010-03-231-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 wellRoberto Ierusalimschy2010-03-221-27/+54
| | | | tested; no major collections; ...)
* no more pseudoindex LUA_GLOBALSINDEX; global table now accessibleRoberto Ierusalimschy2009-12-221-4/+3
| | | | through registry
* allocator function receives the tag of object being allocated in 'osize'Roberto Ierusalimschy2009-12-171-4/+12
| | | | when 'ptr' is NULL.
* better to keep GC state numbers sequential, to optimize switch inRoberto Ierusalimschy2009-12-111-8/+8
| | | | 'singlestep'
* new function 'luaC_runtilstate' to advance GC until a "valid" stateRoberto Ierusalimschy2009-12-111-8/+20
|
* comment typosRoberto Ierusalimschy2009-11-261-2/+2
|
* (huge) simplification of GC managementRoberto Ierusalimschy2009-11-181-91/+42
|
* registry and global table may be changed through the API without aRoberto Ierusalimschy2009-11-091-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 Ierusalimschy2009-11-061-5/+7
| | | | to avoid repetitions