summaryrefslogtreecommitdiff
path: root/lgc.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* CallInfo lists shrinks together with their associated stacksRoberto Ierusalimschy2013-09-171-2/+1
|
* GC local pause configurableRoberto Ierusalimschy2013-09-131-27/+19
|
* check for shrinking string table done only at the end of a GC cycleRoberto Ierusalimschy2013-09-111-5/+10
|
* new names and better order for GC states (sweep first lists thatRoberto Ierusalimschy2013-09-111-15/+15
| | | | can have dead objects)
* threads are kept in a separated GC list, linked after the main threadRoberto Ierusalimschy2013-09-111-9/+12
|
* detail: 'sweepstep' checks end of phase after calling 'sweeplist', soRoberto Ierusalimschy2013-09-111-6/+7
| | | | that phases with small lists return 0 at the first call to 'sweepstep'
* objects in list 'tobefnz' have a GC life-cycle like all othersRoberto Ierusalimschy2013-09-111-9/+12
| | | | (specifically they are cleaned during sweep phase)
* 'luaC_newobj' does not handle special cases; only special caseRoberto Ierusalimschy2013-09-111-13/+6
| | | | now is threads, which do not use 'luaC_newobj' anymore.
* local collection now calls finalizersRoberto Ierusalimschy2013-09-031-33/+87
|
* new GC state to sweep 'localgc' list + small changes in sweep controlRoberto Ierusalimschy2013-08-301-34/+34
|
* bug: local collection must clear rest of stackRoberto Ierusalimschy2013-08-291-2/+5
|
* 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