Roberto Ierusalimschy
|
3f78de256e
|
no need to keep threads in a different GC list, now that there is the
'twups' list
|
2014-02-18 10:46:26 -03:00 |
|
Roberto Ierusalimschy
|
d764cc5522
|
new list 'twups' to allow traversal of upvalues from dead threads
(+ fixed some problems with cycles involving those upvalues)
|
2014-02-18 10:39:37 -03:00 |
|
Roberto Ierusalimschy
|
de3b1c9b53
|
better control for number of finalizers called at each GC cycle
(increases progressively)
|
2014-02-13 12:46:38 -02:00 |
|
Roberto Ierusalimschy
|
733c58595b
|
no more local collection
|
2014-02-13 10:11:34 -02:00 |
|
Roberto Ierusalimschy
|
ba3586cc90
|
keep a single list of objects to be finalized (with local and non-local
objects), to ensure finalization order
|
2014-02-11 10:18:12 -02:00 |
|
Roberto Ierusalimschy
|
4c6dfc342b
|
CallInfo lists shrinks together with their associated stacks
|
2013-09-17 12:40:06 -03:00 |
|
Roberto Ierusalimschy
|
686e57cf9c
|
GC local pause configurable
|
2013-09-13 13:21:52 -03:00 |
|
Roberto Ierusalimschy
|
dd373a8f66
|
threads are kept in a separated GC list, linked after the main thread
|
2013-09-11 11:09:55 -03:00 |
|
Roberto Ierusalimschy
|
d3bbb34c24
|
back to open hashing for the string table (but with a different
'hnext' field, to strings are still collected like all other
objects)
|
2013-09-05 16:31:49 -03:00 |
|
Roberto Ierusalimschy
|
aeff4f79fa
|
local collection now calls finalizers
|
2013-09-03 12:37:10 -03:00 |
|
Roberto Ierusalimschy
|
1bf4faec64
|
new GC state to sweep 'localgc' list + small changes in sweep control
|
2013-08-30 16:14:26 -03:00 |
|
Roberto Ierusalimschy
|
af35c7f398
|
upvalues collected by reference count
|
2013-08-27 15:53:35 -03:00 |
|
Roberto Ierusalimschy
|
742b7377d3
|
Lua closures go to local, too
|
2013-08-26 09:41:10 -03:00 |
|
Roberto Ierusalimschy
|
50955e27f5
|
C functions and strings now go to the local list; first version
of the local collector
|
2013-08-23 10:34:54 -03:00 |
|
Roberto Ierusalimschy
|
33c49f7fa0
|
some details over new implementation of string table
|
2013-08-22 12:21:48 -03:00 |
|
Roberto Ierusalimschy
|
0df6635711
|
"fixed" objects kept in a separated list (instead of being kept in
'allgc' list with a bit marking them)
|
2013-08-21 17:09:51 -03:00 |
|
Roberto Ierusalimschy
|
ae800656c9
|
change in string table: string table is now independent of GC lists; all
strings live in 'normal' GC lists
|
2013-08-21 16:21:16 -03:00 |
|
Roberto Ierusalimschy
|
8f6b80aa1d
|
GC bits SEPARATED and FINALIZEDBIT mixed in FINALIZEDBIT (with simpler
control)
|
2013-08-20 14:46:34 -03:00 |
|
Roberto Ierusalimschy
|
623e388bb4
|
double-linked list of all upvalues elliminated and changed to a
traversal of all non-marked threads
|
2013-08-07 09:18:11 -03:00 |
|
Roberto Ierusalimschy
|
677d90165f
|
no more generational collection !!!
|
2013-08-05 13:58:28 -03:00 |
|
Roberto Ierusalimschy
|
f7ec36ab16
|
comment
|
2012-07-02 10:37:04 -03:00 |
|
Roberto Ierusalimschy
|
cc2a60ecb7
|
bugs in yields inside debug hooks
|
2012-06-08 12:14:04 -03:00 |
|
Roberto Ierusalimschy
|
086da10dac
|
merge of fields 'lastmajormem' (used in gen. mode) and 'estimate'
(used in inc. mode)
|
2012-05-22 14:50:39 -03:00 |
|
Roberto Ierusalimschy
|
b36b4b521f
|
try to avoid sweeping new objects created with new white (and
therefore not collectable in the current cycle)
|
2012-05-22 14:32:25 -03:00 |
|
Roberto Ierusalimschy
|
2a66b34f72
|
revamp of the GC pace control; more like 5.1: any X Kbytes allocated
makes the GC handle f(X) Kbytes of objects
|
2012-05-20 17:36:44 -03:00 |
|
Roberto Ierusalimschy
|
678c1255c9
|
random seed used in the hash of all strings to avoid intentional
collisions
|
2012-02-01 19:57:15 -02:00 |
|
Roberto Ierusalimschy
|
a4b96ce9a3
|
first implementation of long strings
|
2012-01-25 19:05:40 -02:00 |
|
Roberto Ierusalimschy
|
fd22ccd6d0
|
object tag keeps variant bits too -> no need for 'isC' field in
Closures + more strick typing for closure variants
|
2012-01-20 20:05:50 -02:00 |
|
Roberto Ierusalimschy
|
9caf5b4f79
|
lint (unused definition)
|
2011-09-30 09:46:06 -03:00 |
|
Roberto Ierusalimschy
|
3dc5475e23
|
'nCcalls' should be local to each thread, as each thread may have its
own C stack (with LuaThreads or something similar)
|
2011-08-23 14:24:34 -03:00 |
|
Roberto Ierusalimschy
|
3b44821334
|
stricter control (using tag variants) over closure kinds (Lua x C)
|
2011-06-02 16:31:40 -03:00 |
|
Roberto Ierusalimschy
|
551b076f1c
|
change in the relationship between totalbytes and GCdebt - luaM_realloc_
is too critical to update two counters
|
2010-12-20 17:40:07 -02:00 |
|
Roberto Ierusalimschy
|
737f119187
|
better control for GC running or stopped
|
2010-12-20 16:17:46 -02:00 |
|
Roberto Ierusalimschy
|
9b7a12c46d
|
finalizers (__gc) for tables
|
2010-11-26 12:32:31 -02:00 |
|
Roberto Ierusalimschy
|
fdd5f2f7a3
|
comment typos
|
2010-10-29 15:52:46 -02:00 |
|
Roberto Ierusalimschy
|
ffff9a49da
|
'nresults' in CallInfo now refers to number of results that the current
function returns (and not what it expects from a call)
|
2010-09-30 14:21:31 -03:00 |
|
Roberto Ierusalimschy
|
6828f6d427
|
new parameter 'majorinc' to control frequency of major collections
in generational mode
|
2010-09-03 11:14:01 -03:00 |
|
Roberto Ierusalimschy
|
aa73403ba4
|
no need of a KGC_FORCED collection kind; it has the same behavior of
a normal collection
|
2010-05-03 14:39:48 -03:00 |
|
Roberto Ierusalimschy
|
3eb1788bb4
|
new way to control GC speed (keeping a 'debt' counter)
|
2010-04-29 14:31:31 -03:00 |
|
Roberto Ierusalimschy
|
7dfa4cd655
|
first implementation of light C functions
|
2010-04-14 12:13:48 -03:00 |
|
Roberto Ierusalimschy
|
d20ff60615
|
new macro LUA_NUMTAGS
|
2010-04-12 13:07:29 -03:00 |
|
Roberto Ierusalimschy
|
055104f5b6
|
keep memory-error message in the global state, so that its use
does not depend on Lua internalizing strings to avoid a string
creation on memory errors
|
2010-04-08 14:16:46 -03:00 |
|
Roberto Ierusalimschy
|
6abde1b05a
|
no need to keep "_ENV" name in global state (can be kept in lex state)
|
2010-04-05 13:35:37 -03:00 |
|
Roberto Ierusalimschy
|
a8d3aa14fd
|
global table now is only kept in the registry
|
2010-03-29 14:43:14 -03:00 |
|
Roberto Ierusalimschy
|
064e406f67
|
no more fenvs!
|
2010-03-26 17:58:11 -03:00 |
|
Roberto Ierusalimschy
|
5c87f61e6b
|
major collections in generational mode
|
2010-03-25 16:37:23 -03:00 |
|
Roberto Ierusalimschy
|
4433dbb5f5
|
userdata with finalizers are kept in a separated list ('udgc'), instead
of at the end of 'rootgc' (which was renamed to 'allgc', as it is not
"root" in the usual meaning for collectors)
|
2010-03-24 10:07:01 -03:00 |
|
Roberto Ierusalimschy
|
74123e9686
|
draft version of a generational mode for garbage collection. (Not well
tested; no major collections; ...)
|
2010-03-22 15:28:03 -03:00 |
|
Roberto Ierusalimschy
|
22ef84b6c8
|
'_ENV' name permanently stored in global state for easier access
|
2010-03-13 12:55:42 -03:00 |
|
Roberto Ierusalimschy
|
c8ff7de7f0
|
field 'oldtop' renamed to 'extra', as it can be used for other
purposes
|
2010-02-09 09:55:37 -02:00 |
|