Roberto Ierusalimschy
|
a4f20e3c8b
|
comments
|
2010-05-06 15:17:22 -03:00 |
|
Roberto Ierusalimschy
|
d77898597e
|
new function 'luaC_changemode'
|
2010-05-05 15:53:41 -03:00 |
|
Roberto Ierusalimschy
|
0c27de2e7b
|
no more 'finalize' phase in GC; finalizers are called along the
entire cycle
|
2010-05-03 14:33:39 -03:00 |
|
Roberto Ierusalimschy
|
85555646e3
|
invariant must be kept in atomic 'phase' too
|
2010-05-03 08:24:30 -03:00 |
|
Roberto Ierusalimschy
|
b9e1dec2cb
|
added comment explaining a bit about the invariants of the collector
|
2010-04-30 15:36:45 -03:00 |
|
Roberto Ierusalimschy
|
23001d8607
|
nasty GC bug: upvalue must be turned white when not keeping invariant,
but barrier was not being called when uv->v were already white.
|
2010-04-29 18:43:36 -03:00 |
|
Roberto Ierusalimschy
|
aaa5d7adab
|
'luaC_linkupval' moved into 'lfunc.c' code + new way to control GC speed
|
2010-04-29 14:32:40 -03:00 |
|
Roberto Ierusalimschy
|
3aa9598177
|
'mainthread' is not inserted in the 'allgc' list anymore, but swept
separately.
|
2010-03-25 10:06:36 -03:00 |
|
Roberto Ierusalimschy
|
64d39ed1b6
|
generational mode no longer sweep old objects
|
2010-03-24 12:51:10 -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
|
0bbdddc86b
|
allocator function receives the tag of object being allocated in 'osize'
when 'ptr' is NULL.
|
2009-12-17 13:46:44 -02:00 |
|
Roberto Ierusalimschy
|
8da245bfd2
|
better to keep GC state numbers sequential, to optimize switch in
'singlestep'
|
2009-12-11 19:31:14 -02:00 |
|
Roberto Ierusalimschy
|
a2a2abcba4
|
new function 'luaC_runtilstate' to advance GC until a "valid" state
|
2009-12-11 17:14:59 -02:00 |
|
Roberto Ierusalimschy
|
3c4d970a7b
|
comment typos
|
2009-11-26 09:39:20 -02:00 |
|
Roberto Ierusalimschy
|
ce444bff33
|
(huge) simplification of GC management
|
2009-11-18 11:13:47 -02:00 |
|
Roberto Ierusalimschy
|
b51d76ce8d
|
when doing hard memory tests, perform a full GC at every possible step
|
2009-11-17 09:56:03 -02:00 |
|
Roberto Ierusalimschy
|
4a67e48611
|
new macro 'condmovestack' instead of 'condhardstacktests'
|
2009-06-08 16:35:59 -03:00 |
|
Roberto Ierusalimschy
|
e091a254df
|
new way to GC stacks: the entire stack must be correct all the times;
the 'dead' part of a stack (after the top) must have only nil's, so
that 'top' may go up without cleaning the stack.
|
2009-04-28 16:04:36 -03:00 |
|
Roberto Ierusalimschy
|
0c8f5fc2fd
|
simplification in the handling of finalizers: no more 'tmudata' list +
no more GCSsweeptmu collector's state
|
2008-06-26 16:42:45 -03:00 |
|
Roberto Ierusalimschy
|
e2b366c760
|
userdata with finalizers are kept in a separated list
|
2008-02-19 15:55:09 -03:00 |
|
Roberto Ierusalimschy
|
0e961ad47a
|
some changes toward ephemerons
|
2007-10-29 14:51:20 -02:00 |
|
Roberto Ierusalimschy
|
3ca9af51a4
|
emergency garbage collector (core forces a GC when allocation fails)
|
2006-07-11 12:53:29 -03:00 |
|
Roberto Ierusalimschy
|
98296f6b45
|
some bugs related to stack reallocation
|
2005-08-24 13:15:49 -03:00 |
|
Roberto Ierusalimschy
|
746a1d612b
|
small bug (type error)
|
2005-06-07 15:53:45 -03:00 |
|
Roberto Ierusalimschy
|
8718fda9b2
|
added LUAI_FUNC to functions not in the API
|
2005-04-25 16:24:10 -03:00 |
|
Roberto Ierusalimschy
|
d55bb795fa
|
details
|
2005-02-23 14:30:22 -03:00 |
|
Roberto Ierusalimschy
|
4df8800a01
|
cleaner way to free all objects
|
2005-02-10 11:25:02 -02:00 |
|
Roberto Ierusalimschy
|
621ef9f767
|
better control over GC collors of upvalues
|
2005-01-19 13:54:26 -02:00 |
|
Roberto Ierusalimschy
|
0e54d2be36
|
bug: barrier was wrong for generational phase
|
2004-09-15 17:38:15 -03:00 |
|
Roberto Ierusalimschy
|
0b06241483
|
better control for GC cycles
|
2004-08-30 10:44:44 -03:00 |
|
Roberto Ierusalimschy
|
32d4f304db
|
first implementation of generational GC
|
2004-08-24 17:12:06 -03:00 |
|
Roberto Ierusalimschy
|
26ae992129
|
less conservative write barrier for tables
|
2004-08-10 16:17:23 -03:00 |
|
Roberto Ierusalimschy
|
a4e1230f95
|
better way to control open upvalues
|
2004-03-15 18:04:33 -03:00 |
|
Roberto Ierusalimschy
|
b876ec61c0
|
new (temporary?) API for garbage collector
|
2004-03-09 14:34:35 -03:00 |
|
Roberto Ierusalimschy
|
2aaf7394ad
|
more and better tools (assertions & inspectors) to check incremental GC
|
2004-02-16 16:09:52 -03:00 |
|
Roberto Ierusalimschy
|
beb2aa5a46
|
atomic operations are not GC "states"
|
2003-12-12 16:29:34 -02:00 |
|
Roberto Ierusalimschy
|
47fc57a252
|
TObject' renamed to TValue' + other name changes and better assertions
for incremental garbage collection
|
2003-12-10 10:13:36 -02:00 |
|
Roberto Ierusalimschy
|
df429f163a
|
First version of incremental GC
|
2003-12-09 14:56:11 -02:00 |
|
Roberto Ierusalimschy
|
9db1942bac
|
sweep of strings also incremental
|
2003-12-04 15:22:42 -02:00 |
|
Roberto Ierusalimschy
|
c6eac44a94
|
two different white flags (to distinguish dead elements from new ones)
|
2003-12-03 18:03:07 -02:00 |
|
Roberto Ierusalimschy
|
1d10acb355
|
incremental GC phases
|
2003-12-01 14:33:30 -02:00 |
|
Roberto Ierusalimschy
|
57b6ed6815
|
initial implementation of white/gray/black coloring
|
2003-11-19 17:41:57 -02:00 |
|
Roberto Ierusalimschy
|
366e4af3c9
|
towards incremental GC
|
2003-11-18 12:55:11 -02:00 |
|
Roberto Ierusalimschy
|
ab7d9bfd0c
|
cleaner code for manipulation of `marked' field
|
2003-11-17 17:50:05 -02:00 |
|
Roberto Ierusalimschy
|
a0a384a6b1
|
bug: userdata to be collected still counts into new GC threshold,
increasing memory consumption
|
2003-07-29 16:25:37 -03:00 |
|
Roberto Ierusalimschy
|
fa26d294ae
|
new way to control `pc' of running functions
|
2003-07-16 17:49:02 -03:00 |
|
Roberto Ierusalimschy
|
69dd9461e5
|
bug: GC metamethod calls could mess C/Lua stack syncronization
|
2003-02-28 16:45:15 -03:00 |
|
Roberto Ierusalimschy
|
6f207b15fb
|
resist errors in finalizers during lua_close
|
2003-02-10 15:32:50 -02:00 |
|
Roberto Ierusalimschy
|
e47baca75a
|
warnings from Visual C++
|
2002-11-25 10:38:47 -02:00 |
|
Roberto Ierusalimschy
|
fdafd4f4a8
|
new structure for collectable objects, sharing a common header
|
2002-08-30 16:09:21 -03:00 |
|
Roberto Ierusalimschy
|
ecc7769de2
|
names...
|
2002-08-16 17:00:28 -03:00 |
|
Roberto Ierusalimschy
|
e043b72a55
|
simpler way to collect userdata
|
2001-12-10 20:11:23 -02:00 |
|
Roberto Ierusalimschy
|
592a309177
|
tag system replaced by event tables
|
2001-12-05 18:15:18 -02:00 |
|
Roberto Ierusalimschy
|
777061e441
|
resurect userdata before calling its GC tag method
|
2001-06-21 13:41:34 -03:00 |
|
Roberto Ierusalimschy
|
89e8303f4e
|
more robust treatment of GC tag methods (now they can create new
objects while running...)
|
2001-06-12 15:43:13 -03:00 |
|
Roberto Ierusalimschy
|
943b8f5b18
|
details
|
2001-06-05 16:41:24 -03:00 |
|
Roberto Ierusalimschy
|
42224ca553
|
loop of 'dostring' may never reclaim memory
|
2001-02-02 14:23:20 -02:00 |
|
Roberto Ierusalimschy
|
78bc8e553d
|
new API for garbage collector
|
2000-10-02 11:47:43 -03:00 |
|
Roberto Ierusalimschy
|
29ede6aa13
|
first implementation of multiple states (reentrant code).
|
1999-11-22 11:12:07 -02:00 |
|
Roberto Ierusalimschy
|
4343420d4d
|
simplified version of `gc' tag method (only for userdata now).
|
1999-10-04 15:51:04 -02:00 |
|
Roberto Ierusalimschy
|
c787dccd9b
|
"const" !!!
|
1999-08-16 17:52:00 -03:00 |
|
Roberto Ierusalimschy
|
3393fd7f25
|
first version of "lua_close"
|
1997-12-01 18:31:25 -02:00 |
|
Roberto Ierusalimschy
|
592a3f289b
|
first implementation of centralized global state.
|
1997-11-19 15:29:23 -02:00 |
|
Roberto Ierusalimschy
|
907368ead5
|
GC now considers an "estimate" of object size, instead of just the number
of objects.
|
1997-10-23 14:26:37 -02:00 |
|
Roberto Ierusalimschy
|
189d64409b
|
Garbage Collector
|
1997-09-16 16:25:59 -03:00 |
|