Roberto Ierusalimschy
|
4aaf0ef75c
|
"to-be-finalized" objects marked and sweeped like all other objects
|
15 years ago |
Roberto Ierusalimschy
|
d20ff60615
|
new macro LUA_NUMTAGS
|
15 years ago |
Roberto Ierusalimschy
|
a09c8d7beb
|
cannot sweep main thread in sweepstring phase
|
15 years ago |
Roberto Ierusalimschy
|
e54668b696
|
added proper code to trace garbage collection
|
15 years ago |
Roberto Ierusalimschy
|
a8d3aa14fd
|
global table now is only kept in the registry
|
15 years ago |
Roberto Ierusalimschy
|
064e406f67
|
no more fenvs!
|
15 years ago |
Roberto Ierusalimschy
|
5c87f61e6b
|
major collections in generational mode
|
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
|
5cb128ea54
|
BUG: emergency collector might resize 'strt' (string table) when
creating a new string
+ atomic and markroot steps has some cost
+ full collection must leave collector in proper state when mode
is generational
|
15 years ago |
Roberto Ierusalimschy
|
74123e9686
|
draft version of a generational mode for garbage collection. (Not well
tested; no major collections; ...)
|
15 years ago |
Roberto Ierusalimschy
|
f84b575cfa
|
no more pseudoindex LUA_GLOBALSINDEX; global table now accessible
through registry
|
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
|
88eb901f81
|
registry and global table may be changed through the API without a
write barrier, so GC should visit them in the atomic phase.
|
15 years ago |
Roberto Ierusalimschy
|
a921d81033
|
avoid using 'ttype' when there is an explicit test + macro 'checkdeadkey'
to avoid repetitions
|
15 years ago |
Roberto Ierusalimschy
|
9756f56354
|
better control over accesses to TValue fields
|
15 years ago |
Roberto Ierusalimschy
|
5bc91c6405
|
no more one environment per thread: all threads share a single global
environment
|
15 years ago |
Roberto Ierusalimschy
|
5938212748
|
information about upvalues (where they come from) kept in Proto structure,
instead of sequence of pseudo-opcodes after OP_CLOSURE
|
15 years ago |
Roberto Ierusalimschy
|
1829911d7c
|
some operations may shrink g->totalbytes so g->estimate must be
more flexible
|
15 years ago |
Roberto Ierusalimschy
|
55dc7fb240
|
bug: stack must be cleared until its end (including extra size) +
control of stack size moved to 'ldo.c'
|
16 years ago |
Roberto Ierusalimschy
|
4a67e48611
|
new macro 'condmovestack' instead of 'condhardstacktests'
|
16 years ago |
Roberto Ierusalimschy
|
019ebcb85f
|
errors in finalizers are propagated with code LUA_ERRGCMM (ERRor in
__gc MetaMethod)
|
16 years ago |
Roberto Ierusalimschy
|
673c456cba
|
resize string hash table only when new size is smaller than current one
|
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
|
4f88418170
|
'CallInfo' stack implemented as double-linked list instead of an array
|
16 years ago |
Roberto Ierusalimschy
|
ba484b9eb1
|
yielding across lua_call (first version)
|
16 years ago |
Roberto Ierusalimschy
|
d07abcc6c7
|
finalizers always called protected
|
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
|
c3525610fe
|
bug: when closing the state, 'luaC_separateudata' might mark
userdata in the wrong phase of collection, therefore avoiding
their traversal
|
17 years ago |
Roberto Ierusalimschy
|
7ba62e2985
|
code reorganization (only changed comments and order of functions)
|
17 years ago |
Roberto Ierusalimschy
|
e2b366c760
|
userdata with finalizers are kept in a separated list
|
17 years ago |
Roberto Ierusalimschy
|
5f0a2f6248
|
more options for 'kinds' of Garbage Collection + more agressive
shrinking of stacks and string hash
|
17 years ago |
Roberto Ierusalimschy
|
5e8dd55574
|
first implementation of ephemerons
|
17 years ago |
Roberto Ierusalimschy
|
0e961ad47a
|
some changes toward ephemerons
|
17 years ago |
Roberto Ierusalimschy
|
a7c9e45c64
|
avoid trailing white spaces
|
18 years ago |
Roberto Ierusalimschy
|
3ca9af51a4
|
emergency garbage collector (core forces a GC when allocation fails)
|
19 years ago |
Roberto Ierusalimschy
|
0079efc479
|
bug: collector did not compensate enough for userdata with finalizers
|
19 years ago |
Roberto Ierusalimschy
|
c505f341d6
|
small changes in casts
|
19 years ago |
Roberto Ierusalimschy
|
4ff1e5b4e1
|
details
|
19 years ago |
Roberto Ierusalimschy
|
680fc88cc2
|
a small bug
|
20 years ago |
Roberto Ierusalimschy
|
746a1d612b
|
small bug (type error)
|
20 years ago |
Roberto Ierusalimschy
|
90de38bf1f
|
warnings in VS .Net
|
20 years ago |
Roberto Ierusalimschy
|
6cf85dcc90
|
metatables for all types
|
20 years ago |
Roberto Ierusalimschy
|
390256edf7
|
better name for GC pause
|
20 years ago |
Roberto Ierusalimschy
|
4494094031
|
detail
|
20 years ago |