Roberto Ierusalimschy
|
ae1d318822
|
small bug: generational mode is always in 'propagate' mode only
outside the collector: during collection of course it must go to
other modes.
|
12 years ago |
Roberto Ierusalimschy
|
e4f609d0ee
|
collector in generational mode must be in 'propagate' state when
not running a collection
|
13 years ago |
Roberto Ierusalimschy
|
e29f3a5751
|
definition of 'GCSTEPSIZE' moved to header file + small changes
|
13 years ago |
Roberto Ierusalimschy
|
398811a313
|
simpler macro 'luaC_condGC' + better 'step' in 'lua_gc' +
micro bug in 'luaC_checkfinalizer' (current sweep object could be
removed from 'allgc' list)
|
13 years ago |
Roberto Ierusalimschy
|
31829ad177
|
test for whether collector is running moved from function to
macro 'luaC_condGC'.
|
13 years ago |
Roberto Ierusalimschy
|
0010ec68b1
|
documentation comment (small correction about strings being
gray)
|
13 years ago |
Roberto Ierusalimschy
|
788a0ecd27
|
'luaC_separateudata' renamed to 'separatetobefnz' and called only
from 'lgc.c'
|
13 years ago |
Roberto Ierusalimschy
|
f3b0eb3ecf
|
lint (unused macros)
|
13 years ago |
Roberto Ierusalimschy
|
c4ea0c3b29
|
detail (cleaning trailing spaces)
|
14 years ago |
Roberto Ierusalimschy
|
868ff40339
|
full collection does not restart collector + avoid changing GC
state if an error happens in a step
|
14 years ago |
Roberto Ierusalimschy
|
737f119187
|
better control for GC running or stopped
|
14 years ago |
Roberto Ierusalimschy
|
a40768e5ea
|
new macro 'luaC_condGC' to allow extra code to be run in case
of GC steps
|
14 years ago |
Roberto Ierusalimschy
|
35931bbed4
|
comments
|
14 years ago |
Roberto Ierusalimschy
|
9b7a12c46d
|
finalizers (__gc) for tables
|
14 years ago |
Roberto Ierusalimschy
|
a71c5f6f53
|
typo in comments
|
15 years ago |
Roberto Ierusalimschy
|
fabe4ec487
|
better barrier for prototypes
|
15 years ago |
Roberto Ierusalimschy
|
575074fd85
|
Lua closures are cached for reuse
|
15 years ago |
Roberto Ierusalimschy
|
1c1a98e872
|
corrected some places where an old object could end up in front
of a new one + minimal documentation about this problem
|
15 years ago |
Roberto Ierusalimschy
|
c006f085d9
|
new macro 'resetoldbit'
|
15 years ago |
Roberto Ierusalimschy
|
32c1764b5d
|
slightly better definition for 'isgray'
|
15 years ago |
Roberto Ierusalimschy
|
b373a40133
|
new macro 'isgenerational' + new macro 'isold' + better deffinition
for 'isdead', compatible with the code used by 'sweeplist'
|
15 years ago |
Roberto Ierusalimschy
|
a4f20e3c8b
|
comments
|
15 years ago |
Roberto Ierusalimschy
|
d77898597e
|
new function 'luaC_changemode'
|
15 years ago |
Roberto Ierusalimschy
|
0c27de2e7b
|
no more 'finalize' phase in GC; finalizers are called along the
entire cycle
|
15 years ago |
Roberto Ierusalimschy
|
85555646e3
|
invariant must be kept in atomic 'phase' too
|
15 years ago |
Roberto Ierusalimschy
|
b9e1dec2cb
|
added comment explaining a bit about the invariants of the collector
|
15 years ago |
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.
|
15 years ago |
Roberto Ierusalimschy
|
aaa5d7adab
|
'luaC_linkupval' moved into 'lfunc.c' code + new way to control GC speed
|
15 years ago |
Roberto Ierusalimschy
|
3aa9598177
|
'mainthread' is not inserted in the 'allgc' list anymore, but swept
separately.
|
15 years ago |
Roberto Ierusalimschy
|
64d39ed1b6
|
generational mode no longer sweep old objects
|
15 years ago |
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)
|
15 years ago |
Roberto Ierusalimschy
|
0bbdddc86b
|
allocator function receives the tag of object being allocated in 'osize'
when 'ptr' is NULL.
|
15 years ago |
Roberto Ierusalimschy
|
8da245bfd2
|
better to keep GC state numbers sequential, to optimize switch in
'singlestep'
|
15 years ago |
Roberto Ierusalimschy
|
a2a2abcba4
|
new function 'luaC_runtilstate' to advance GC until a "valid" state
|
15 years ago |
Roberto Ierusalimschy
|
3c4d970a7b
|
comment typos
|
15 years ago |
Roberto Ierusalimschy
|
ce444bff33
|
(huge) simplification of GC management
|
15 years ago |
Roberto Ierusalimschy
|
b51d76ce8d
|
when doing hard memory tests, perform a full GC at every possible step
|
15 years ago |
Roberto Ierusalimschy
|
4a67e48611
|
new macro 'condmovestack' instead of 'condhardstacktests'
|
16 years ago |
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.
|
16 years ago |
Roberto Ierusalimschy
|
0c8f5fc2fd
|
simplification in the handling of finalizers: no more 'tmudata' list +
no more GCSsweeptmu collector's state
|
17 years ago |
Roberto Ierusalimschy
|
e2b366c760
|
userdata with finalizers are kept in a separated list
|
17 years ago |
Roberto Ierusalimschy
|
0e961ad47a
|
some changes toward ephemerons
|
17 years ago |
Roberto Ierusalimschy
|
3ca9af51a4
|
emergency garbage collector (core forces a GC when allocation fails)
|
19 years ago |
Roberto Ierusalimschy
|
98296f6b45
|
some bugs related to stack reallocation
|
19 years ago |
Roberto Ierusalimschy
|
746a1d612b
|
small bug (type error)
|
20 years ago |
Roberto Ierusalimschy
|
8718fda9b2
|
added LUAI_FUNC to functions not in the API
|
20 years ago |
Roberto Ierusalimschy
|
d55bb795fa
|
details
|
20 years ago |
Roberto Ierusalimschy
|
4df8800a01
|
cleaner way to free all objects
|
20 years ago |
Roberto Ierusalimschy
|
621ef9f767
|
better control over GC collors of upvalues
|
20 years ago |
Roberto Ierusalimschy
|
0e54d2be36
|
bug: barrier was wrong for generational phase
|
20 years ago |