aboutsummaryrefslogtreecommitdiff
path: root/lgc.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* in 'clearbykeys', clear keys of just-removed entries tooRoberto Ierusalimschy2018-02-231-3/+3
|
* first version of empty entries in tablesRoberto Ierusalimschy2018-02-231-28/+30
| | | | (so that, in the future, tables can contain regular nil entries)
* some reorganization in 'lobject.h'Roberto Ierusalimschy2018-02-221-1/+6
| | | | (just moving stuff around)
* userdata can have multiple user valuesRoberto Ierusalimschy2018-02-201-16/+17
|
* more generic way to handle 'gclist'Roberto Ierusalimschy2018-02-191-62/+50
|
* small corrections in generational modeRoberto Ierusalimschy2018-02-051-7/+9
| | | | | (cannot call finalizers in emergency collections + should set everything before calling finalizers)
* janitor work on castsRoberto Ierusalimschy2018-01-281-2/+2
|
* keep control of stack top in Lua functions concentrated in 'luaV_execute'Roberto Ierusalimschy2017-12-281-8/+3
|
* when running Lua code, there is no need to keep 'L->top' "correct";Roberto Ierusalimschy2017-12-201-2/+12
| | | | set it only when needed.
* more freedom in handling memory-allocation errors (not all allocationsRoberto Ierusalimschy2017-12-081-8/+3
| | | | | automatically raise an error), which allows fixing a bug when resizing a table.
* 'luaS_resize' can raise memory errorsRoberto Ierusalimschy2017-12-011-4/+9
|
* warnings from Visual Studio /W3Roberto Ierusalimschy2017-11-301-2/+2
|
* detail (typo in comments)Roberto Ierusalimschy2017-11-231-3/+3
|
* back to 'CallInfo' (no gains with its removal)Roberto Ierusalimschy2017-11-071-3/+3
|
* more fields moved out of 'CallInfo'Roberto Ierusalimschy2017-11-031-3/+3
|
* do not mess up the debt when the collector is not runningRoberto Ierusalimschy2017-10-311-7/+7
|
* some cleaning in GC parametersRoberto Ierusalimschy2017-10-111-14/+12
|
* bug: dead keys with nil values can stay in weak tablesRoberto Ierusalimschy2017-08-311-10/+11
|
* new type 'StackValue' for stack elementsRoberto Ierusalimschy2017-06-291-5/+5
| | | | (we may want to put extra info there in the future)
* no more 'DEADKEY'. Table traversals do not need to consider dead keys;Roberto Ierusalimschy2017-06-121-14/+7
| | | | | | if the key is dead, it cannot be given to 'next'. Instead, we now use a 'table' tag without the collectable bit, which makes it a unique tag good enough to reserve space.
* in hash nodes, keys are stored in separate pieces to avoid wastingRoberto Ierusalimschy2017-06-091-19/+23
| | | | space with alignments
* avoid overflows in computation of step sizeRoberto Ierusalimschy2017-06-011-2/+4
|
* revamping the incremental collectorRoberto Ierusalimschy2017-05-261-146/+132
| | | | | | Some simplifications (not counting bytes, couting only slots visited; no more 'gcfinnum'); more GC parameters; using vararg in 'lua_gc' to set parameters in different GC modes
* barrier for prototype's cache (with new gray list 'protogray' to keepRoberto Ierusalimschy2017-05-041-8/+67
| | | | prototypes to have their caches visited again) + constant 'MAXMISS'
* added 'cachemiss' field to prototype to avoid wasting time checkingRoberto Ierusalimschy2017-04-301-1/+2
| | | | hits that fail too often
* ensures that "collectgarbage'step'" in generational mode does aRoberto Ierusalimschy2017-04-241-4/+9
| | | | minor collection
* 'KGC_NORMAL' -> 'KGC_INC' + emergency GC signalled by flag (insteadRoberto Ierusalimschy2017-04-241-12/+11
| | | | of mode)
* small bug in generational controlRoberto Ierusalimschy2017-04-201-5/+6
|
* first version of control for the generational collectorRoberto Ierusalimschy2017-04-191-5/+13
|
* small corrections + removal of debugging functions 'count' andRoberto Ierusalimschy2017-04-121-48/+4
| | | | 'printgray'.
* 'mainthread' lives in 'allgc' list, like everybody elseRoberto Ierusalimschy2017-04-111-10/+6
|
* Upvalues collected like everything else (with mark-sweep) insteadRoberto Ierusalimschy2017-04-111-57/+32
| | | | of reference count (simpler and better for generational mode)
* Comments for generational collectorRoberto Ierusalimschy2017-04-101-63/+128
|
* small changes in 'luaC_upvalbarrier'Roberto Ierusalimschy2017-04-061-5/+3
|
* generational collector (still not complete)Roberto Ierusalimschy2017-04-051-83/+276
|
* generational collection: new attempt (still incomplete)Roberto Ierusalimschy2017-02-231-24/+159
|
* detail (removing spaces at end of lines)Roberto Ierusalimschy2016-12-221-2/+2
|
* using 'lastfree == NULL' to signal that table is using the dummyRoberto Ierusalimschy2016-11-071-2/+2
| | | | node for its hash part + new macro 'allocsizenode'
* new flag in 'CallInfo.callstatus' to tell whether function is runningRoberto Ierusalimschy2016-10-191-1/+3
| | | | as a finalizer
* do not try to ensure that 'sweepgc' points to a live objectRoberto Ierusalimschy2016-03-311-18/+11
| | | | | | when entering sweep phase ('entersweep'); that may be too expensive to be done still inside the atomic step. Walking one single object more often than not will work.
* detail (removed fixed argument to function 'callallpendingfinalizers')Roberto Ierusalimschy2015-12-101-4/+4
|
* added comment and assert about dead keysRoberto Ierusalimschy2015-11-031-3/+8
|
* in 'luaD_call', use two functions instead of one with fixed booleanRoberto Ierusalimschy2015-11-021-2/+2
| | | | argument
* now that we have a counter for CallInfos, use it for a moreRoberto Ierusalimschy2015-11-021-2/+3
| | | | accurate value for the memory used by a thread
* long strings are created directly in final position when possibleRoberto Ierusalimschy2015-09-081-3/+2
| | | | | (instead of using an auxiliar buffer to first create the string and then allocate the final string and copy result there)
* avoid overflows (detected with 'clang -ftrapv')Roberto Ierusalimschy2015-07-131-4/+7
|
* 'clearapihash' -> 'luaS_clearcache' and moved to 'lstring.c' (whichRoberto Ierusalimschy2015-03-251-15/+2
| | | | keeps all code related to this cache)
* avoid testing for NULL when marking objects that cannot be NULLRoberto Ierusalimschy2015-03-041-11/+21
|
* new cache for interning stringsRoberto Ierusalimschy2015-03-041-1/+15
|
* size of short strings stored in a single byte, to reduce the sizeRoberto Ierusalimschy2015-01-161-5/+10
| | | | of struct 'TString'