Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | back to 'CallInfo' (no gains with its removal) | Roberto Ierusalimschy | 2017-11-07 | 1 | -3/+3 |
| | |||||
* | more fields moved out of 'CallInfo' | Roberto Ierusalimschy | 2017-11-03 | 1 | -3/+3 |
| | |||||
* | do not mess up the debt when the collector is not running | Roberto Ierusalimschy | 2017-10-31 | 1 | -7/+7 |
| | |||||
* | some cleaning in GC parameters | Roberto Ierusalimschy | 2017-10-11 | 1 | -14/+12 |
| | |||||
* | bug: dead keys with nil values can stay in weak tables | Roberto Ierusalimschy | 2017-08-31 | 1 | -10/+11 |
| | |||||
* | new type 'StackValue' for stack elements | Roberto Ierusalimschy | 2017-06-29 | 1 | -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 Ierusalimschy | 2017-06-12 | 1 | -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 wasting | Roberto Ierusalimschy | 2017-06-09 | 1 | -19/+23 |
| | | | | space with alignments | ||||
* | avoid overflows in computation of step size | Roberto Ierusalimschy | 2017-06-01 | 1 | -2/+4 |
| | |||||
* | revamping the incremental collector | Roberto Ierusalimschy | 2017-05-26 | 1 | -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 keep | Roberto Ierusalimschy | 2017-05-04 | 1 | -8/+67 |
| | | | | prototypes to have their caches visited again) + constant 'MAXMISS' | ||||
* | added 'cachemiss' field to prototype to avoid wasting time checking | Roberto Ierusalimschy | 2017-04-30 | 1 | -1/+2 |
| | | | | hits that fail too often | ||||
* | ensures that "collectgarbage'step'" in generational mode does a | Roberto Ierusalimschy | 2017-04-24 | 1 | -4/+9 |
| | | | | minor collection | ||||
* | 'KGC_NORMAL' -> 'KGC_INC' + emergency GC signalled by flag (instead | Roberto Ierusalimschy | 2017-04-24 | 1 | -12/+11 |
| | | | | of mode) | ||||
* | small bug in generational control | Roberto Ierusalimschy | 2017-04-20 | 1 | -5/+6 |
| | |||||
* | first version of control for the generational collector | Roberto Ierusalimschy | 2017-04-19 | 1 | -5/+13 |
| | |||||
* | small corrections + removal of debugging functions 'count' and | Roberto Ierusalimschy | 2017-04-12 | 1 | -48/+4 |
| | | | | 'printgray'. | ||||
* | 'mainthread' lives in 'allgc' list, like everybody else | Roberto Ierusalimschy | 2017-04-11 | 1 | -10/+6 |
| | |||||
* | Upvalues collected like everything else (with mark-sweep) instead | Roberto Ierusalimschy | 2017-04-11 | 1 | -57/+32 |
| | | | | of reference count (simpler and better for generational mode) | ||||
* | Comments for generational collector | Roberto Ierusalimschy | 2017-04-10 | 1 | -63/+128 |
| | |||||
* | small changes in 'luaC_upvalbarrier' | Roberto Ierusalimschy | 2017-04-06 | 1 | -5/+3 |
| | |||||
* | generational collector (still not complete) | Roberto Ierusalimschy | 2017-04-05 | 1 | -83/+276 |
| | |||||
* | generational collection: new attempt (still incomplete) | Roberto Ierusalimschy | 2017-02-23 | 1 | -24/+159 |
| | |||||
* | detail (removing spaces at end of lines) | Roberto Ierusalimschy | 2016-12-22 | 1 | -2/+2 |
| | |||||
* | using 'lastfree == NULL' to signal that table is using the dummy | Roberto Ierusalimschy | 2016-11-07 | 1 | -2/+2 |
| | | | | node for its hash part + new macro 'allocsizenode' | ||||
* | new flag in 'CallInfo.callstatus' to tell whether function is running | Roberto Ierusalimschy | 2016-10-19 | 1 | -1/+3 |
| | | | | as a finalizer | ||||
* | do not try to ensure that 'sweepgc' points to a live object | Roberto Ierusalimschy | 2016-03-31 | 1 | -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 Ierusalimschy | 2015-12-10 | 1 | -4/+4 |
| | |||||
* | added comment and assert about dead keys | Roberto Ierusalimschy | 2015-11-03 | 1 | -3/+8 |
| | |||||
* | in 'luaD_call', use two functions instead of one with fixed boolean | Roberto Ierusalimschy | 2015-11-02 | 1 | -2/+2 |
| | | | | argument | ||||
* | now that we have a counter for CallInfos, use it for a more | Roberto Ierusalimschy | 2015-11-02 | 1 | -2/+3 |
| | | | | accurate value for the memory used by a thread | ||||
* | long strings are created directly in final position when possible | Roberto Ierusalimschy | 2015-09-08 | 1 | -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 Ierusalimschy | 2015-07-13 | 1 | -4/+7 |
| | |||||
* | 'clearapihash' -> 'luaS_clearcache' and moved to 'lstring.c' (which | Roberto Ierusalimschy | 2015-03-25 | 1 | -15/+2 |
| | | | | keeps all code related to this cache) | ||||
* | avoid testing for NULL when marking objects that cannot be NULL | Roberto Ierusalimschy | 2015-03-04 | 1 | -11/+21 |
| | |||||
* | new cache for interning strings | Roberto Ierusalimschy | 2015-03-04 | 1 | -1/+15 |
| | |||||
* | size of short strings stored in a single byte, to reduce the size | Roberto Ierusalimschy | 2015-01-16 | 1 | -5/+10 |
| | | | | of struct 'TString' | ||||
* | comments were wrong (not updated about several changes) | Roberto Ierusalimschy | 2014-12-20 | 1 | -6/+6 |
| | |||||
* | added include for 'lprefix.h', for stuff that must be added before | Roberto Ierusalimschy | 2014-11-02 | 1 | -3/+6 |
| | | | | any other header file | ||||
* | comments (a few extra quotes around identifiers) | Roberto Ierusalimschy | 2014-10-30 | 1 | -4/+4 |
| | |||||
* | added comment and assert about an (impossible) division by zero | Roberto Ierusalimschy | 2014-10-29 | 1 | -3/+6 |
| | |||||
* | `name' in comments changed to 'name' | Roberto Ierusalimschy | 2014-10-25 | 1 | -4/+4 |
| | |||||
* | details (comments) | Roberto Ierusalimschy | 2014-10-03 | 1 | -4/+4 |
| | |||||
* | size for array part of a table ('sizearray') changed from 'int' to | Roberto Ierusalimschy | 2014-09-04 | 1 | -4/+4 |
| | | | | 'unsigned int', which allows twice as many elements in the array part | ||||
* | weak tables that must be retraversed are kept in 'grayagain' list | Roberto Ierusalimschy | 2014-09-03 | 1 | -42/+38 |
| | | | | | until atomic phase (instead of going to their special lists) + more comments | ||||
* | 'linktable' -> 'linkgclist' (and used for all links with 'gclist') | Roberto Ierusalimschy | 2014-09-01 | 1 | -22/+16 |
| | |||||
* | simpler definition for 'setobj' (trust the compiler for the assignment) | Roberto Ierusalimschy | 2014-07-29 | 1 | -2/+2 |
| | |||||
* | 'iswhite' and related macros now can work directly on any object | Roberto Ierusalimschy | 2014-07-19 | 1 | -8/+8 |
| | | | | (no need to convert to 'GCObject') | ||||
* | put the restriction that 'luaC_barrierback' works only on tables | Roberto Ierusalimschy | 2014-07-19 | 1 | -9/+7 |
| | | | | in its prototype | ||||
* | removed useless assertion (gcstate != GCSpause already implied by | Roberto Ierusalimschy | 2014-07-19 | 1 | -4/+4 |
| | | | | | other assertions) and wrong assertion (setmetatable uses this barrier for tables too) |