summaryrefslogtreecommitdiff
path: root/lgc.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* tables and userdata all go to local list, tooRoberto Ierusalimschy2013-08-281-2/+4
|
* LOCALBLACK changed to LOCALMARK and used also to control whether objectRoberto Ierusalimschy2013-08-271-6/+10
| | | | | is in 'localgc' list + luaC_newobj by default puts object in 'localgc' list
* upvalues collected by reference countRoberto Ierusalimschy2013-08-271-84/+58
|
* Lua closures go to local, tooRoberto Ierusalimschy2013-08-261-6/+35
|
* C functions and strings now go to the local list; first versionRoberto Ierusalimschy2013-08-231-8/+94
| | | | of the local collector
* "fixed" objects kept in a separated list (instead of being kept inRoberto Ierusalimschy2013-08-211-1/+12
| | | | 'allgc' list with a bit marking them)
* change in string table: string table is now independent of GC lists; allRoberto Ierusalimschy2013-08-211-32/+14
| | | | strings live in 'normal' GC lists
* GC bits SEPARATED and FINALIZEDBIT mixed in FINALIZEDBIT (with simplerRoberto Ierusalimschy2013-08-201-12/+7
| | | | control)
* "barrier" for link prototype->cache changed to be consistent withRoberto Ierusalimschy2013-08-191-23/+1
| | | | GC behavior (link is cleared to preserve invariant)
* added 'local' bit (true => object is only refered by local variables)Roberto Ierusalimschy2013-08-161-9/+17
|
* barrier conditions rewritten to test first 'isblack' and then 'iswhite'Roberto Ierusalimschy2013-08-131-1/+3
| | | | | (during a pause all objects are white, so 'isblack' fails much more often than 'iswhite')
* change to allow collector to stop when it goes to the atomic phaseRoberto Ierusalimschy2013-08-071-16/+17
| | | | (just for debugging)
* double-linked list of all upvalues elliminated and changed to aRoberto Ierusalimschy2013-08-071-9/+16
| | | | traversal of all non-marked threads
* no more generational collection !!!Roberto Ierusalimschy2013-08-051-96/+19
|
* bug: garbage collector can trigger too many times in recursive loops,Roberto Ierusalimschy2013-04-261-3/+10
| | | | because it was not computing the size of CallInfo structures in threads
* typos in commentsRoberto Ierusalimschy2013-03-161-2/+2
|
* cast to avoid warningsRoberto Ierusalimschy2013-03-151-2/+2
|
* more precise control for GC pause (based on threshold)Roberto Ierusalimschy2012-10-191-19/+27
|
* removed commented-out line (for debugging)Roberto Ierusalimschy2012-10-031-2/+1
|
* small bug: generational mode is always in 'propagate' mode onlyRoberto Ierusalimschy2012-09-111-5/+7
| | | | | outside the collector: during collection of course it must go to other modes.
* collector in generational mode must be in 'propagate' state whenRoberto Ierusalimschy2012-07-041-17/+13
| | | | not running a collection
* major collections in generational mode are triggered by comparison withRoberto Ierusalimschy2012-07-021-3/+6
| | | | the memory estimate from last major collection
* includes counts from 'sweeptolive' in cost of atomic stepRoberto Ierusalimschy2012-05-311-8/+15
|
* small bug in error handling of finalizers (cannot call lua_tostringRoberto Ierusalimschy2012-05-311-27/+45
| | | | | | inside the core) + small bug in luaC_checkfinalizer (when avoiding remove object being sweeped from sweep list) + small changes in GC pace control (for the atomic part)
* bug: object being moved to 'finobj' list might not be sweeped byRoberto Ierusalimschy2012-05-301-4/+7
| | | | the collector
* only count in 'atomic' objects marked for the first timeRoberto Ierusalimschy2012-05-291-5/+8
|
* more efficient way to apply 'stepmul' + some changes in GC parametersRoberto Ierusalimschy2012-05-281-18/+29
|
* definition of 'GCSTEPSIZE' moved to header file + small changesRoberto Ierusalimschy2012-05-231-5/+2
|
* detail ('char' should be 'const char')Roberto Ierusalimschy2012-05-221-2/+2
|
* merge of fields 'lastmajormem' (used in gen. mode) and 'estimate'Roberto Ierusalimschy2012-05-221-8/+9
| | | | (used in inc. mode)
* try to avoid sweeping new objects created with new white (andRoberto Ierusalimschy2012-05-221-24/+38
| | | | therefore not collectable in the current cycle)
* simpler macro 'luaC_condGC' + better 'step' in 'lua_gc' +Roberto Ierusalimschy2012-05-211-6/+24
| | | | | micro bug in 'luaC_checkfinalizer' (current sweep object could be removed from 'allgc' list)
* revamp of the GC pace control; more like 5.1: any X Kbytes allocatedRoberto Ierusalimschy2012-05-201-96/+117
| | | | makes the GC handle f(X) Kbytes of objects
* removed 'stringmark' trickRoberto Ierusalimschy2012-05-141-25/+19
|
* test for whether collector is running moved from function toRoberto Ierusalimschy2012-05-111-11/+3
| | | | macro 'luaC_condGC'.
* no more 'Proto' objects on the stack. Protos are anchored on outerRoberto Ierusalimschy2012-05-081-2/+1
| | | | Protos or on a Closure, which must be created before the Proto.
* first implementation of long stringsRoberto Ierusalimschy2012-01-251-10/+16
|
* Lua never uses Ã'assert' (it is always 'lua_assert')Roberto Ierusalimschy2012-01-231-2/+2
|
* object tag keeps variant bits too -> no need for 'isC' field inRoberto Ierusalimschy2012-01-201-23/+41
| | | | Closures + more strick typing for closure variants
* error message: "tag method" -> "metamethod"Roberto Ierusalimschy2011-12-021-4/+4
|
* avoid some warnings about converting 32-bit shifts into 64-bit resultsRoberto Ierusalimschy2011-11-281-6/+12
|
* 'luaC_separateudata' renamed to 'separatetobefnz' and called onlyRoberto Ierusalimschy2011-10-031-10/+9
| | | | from 'lgc.c'
* retraverse all gray lists together to avoid traversing some weakRoberto Ierusalimschy2011-10-031-14/+34
| | | | tables twice (as they may change lists when traversed)
* dead objects are not collectable.Roberto Ierusalimschy2011-09-241-3/+4
|
* better(?) scheme for cleaning weak tables; all ressurected objectsRoberto Ierusalimschy2011-09-241-18/+44
| | | | are removed from weak values before finalization
* avoid clearing ephemeron tables that have nothing to be cleanedRoberto Ierusalimschy2011-09-191-13/+17
| | | | (no white elements)
* 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
|