Roberto Ierusalimschy
|
4c6dfc342b
|
CallInfo lists shrinks together with their associated stacks
|
11 years ago |
Roberto Ierusalimschy
|
686e57cf9c
|
GC local pause configurable
|
11 years ago |
Roberto Ierusalimschy
|
dd373a8f66
|
threads are kept in a separated GC list, linked after the main thread
|
11 years ago |
Roberto Ierusalimschy
|
1150873447
|
'luaC_newobj' does not handle special cases; only special case
now is threads, which do not use 'luaC_newobj' anymore.
|
11 years ago |
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)
|
11 years ago |
Roberto Ierusalimschy
|
aeff4f79fa
|
local collection now calls finalizers
|
11 years ago |
Roberto Ierusalimschy
|
1bf4faec64
|
new GC state to sweep 'localgc' list + small changes in sweep control
|
11 years ago |
Roberto Ierusalimschy
|
9a871dd3db
|
tables and userdata all go to local list, too
|
11 years ago |
Roberto Ierusalimschy
|
af35c7f398
|
upvalues collected by reference count
|
11 years ago |
Roberto Ierusalimschy
|
742b7377d3
|
Lua closures go to local, too
|
11 years ago |
Roberto Ierusalimschy
|
50955e27f5
|
C functions and strings now go to the local list; first version
of the local collector
|
11 years ago |
Roberto Ierusalimschy
|
0df6635711
|
"fixed" objects kept in a separated list (instead of being kept in
'allgc' list with a bit marking them)
|
11 years ago |
Roberto Ierusalimschy
|
ae800656c9
|
change in string table: string table is now independent of GC lists; all
strings live in 'normal' GC lists
|
11 years ago |
Roberto Ierusalimschy
|
439d74e29f
|
added 'local' bit (true => object is only refered by local variables)
|
11 years ago |
Roberto Ierusalimschy
|
623e388bb4
|
double-linked list of all upvalues elliminated and changed to a
traversal of all non-marked threads
|
11 years ago |
Roberto Ierusalimschy
|
677d90165f
|
no more generational collection !!!
|
11 years ago |
Roberto Ierusalimschy
|
c6b6024a9d
|
cast in 'luai_makeseed' now casts to needed type
|
12 years ago |
Roberto Ierusalimschy
|
b77a90681e
|
typos in comments
|
13 years ago |
Roberto Ierusalimschy
|
054c20cd5b
|
spaces -> tabs in #defines
|
13 years ago |
Roberto Ierusalimschy
|
086da10dac
|
merge of fields 'lastmajormem' (used in gen. mode) and 'estimate'
(used in inc. mode)
|
13 years ago |
Roberto Ierusalimschy
|
b36b4b521f
|
try to avoid sweeping new objects created with new white (and
therefore not collectable in the current cycle)
|
13 years ago |
Roberto Ierusalimschy
|
f6a12948ca
|
useless parameter in macro 'luai_makeseed'
|
13 years ago |
Roberto Ierusalimschy
|
678c1255c9
|
random seed used in the hash of all strings to avoid intentional
collisions
|
13 years ago |
Roberto Ierusalimschy
|
6d86b937e4
|
'luaC_separateudata' called from 'luaC_freeallobjects' + removed
extra 'luaF_close' (already being called by 'close_state')
|
13 years ago |
Roberto Ierusalimschy
|
3dc5475e23
|
'nCcalls' should be local to each thread, as each thread may have its
own C stack (with LuaThreads or something similar)
|
13 years ago |
Roberto Ierusalimschy
|
92afcf2823
|
no more 'luaH_setstr (used only once) + 'luaH_setint' receives value
to be set.
|
13 years ago |
Roberto Ierusalimschy
|
551b076f1c
|
change in the relationship between totalbytes and GCdebt - luaM_realloc_
is too critical to update two counters
|
14 years ago |
Roberto Ierusalimschy
|
737f119187
|
better control for GC running or stopped
|
14 years ago |
Roberto Ierusalimschy
|
9b7a12c46d
|
finalizers (__gc) for tables
|
14 years ago |
Roberto Ierusalimschy
|
6828f6d427
|
new parameter 'majorinc' to control frequency of major collections
in generational mode
|
14 years ago |
Roberto Ierusalimschy
|
dc2b8a0073
|
detail
|
15 years ago |
Roberto Ierusalimschy
|
0062db1e06
|
default PAUSE should be 200 (differences may be corrected in
internal multiplers)
+ check for unbilt stack equal the one used by lgc.c
|
15 years ago |
Roberto Ierusalimschy
|
3410dcd375
|
new way to control GC speed
|
15 years ago |
Roberto Ierusalimschy
|
4db6f20770
|
ensure that 'luai_userstatethread' is always called (even if
'stack_init' throws a memory error)
|
15 years ago |
Roberto Ierusalimschy
|
99a39f6f4a
|
tells the allocation function that the first block is a thread
|
15 years ago |
Roberto Ierusalimschy
|
afdb19ac82
|
no more 'ccall' nor 'cpcall' functions. (With light C functions they
are obsolete.)
|
15 years ago |
Roberto Ierusalimschy
|
d20ff60615
|
new macro LUA_NUMTAGS
|
15 years ago |
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
|
15 years ago |
Roberto Ierusalimschy
|
6abde1b05a
|
no need to keep "_ENV" name in global state (can be kept in lex state)
|
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
|
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
|
9c196bebad
|
detail (wrong comment about LUAI_GCPAUSE)
|
15 years ago |
Roberto Ierusalimschy
|
caf74dd731
|
'cpcall' renamed to 'ccall' as it does not do a protected call
|
15 years ago |
Roberto Ierusalimschy
|
22ef84b6c8
|
'_ENV' name permanently stored in global state for easier access
|
15 years ago |
Roberto Ierusalimschy
|
f84b575cfa
|
no more pseudoindex LUA_GLOBALSINDEX; global table now accessible
through registry
|
15 years ago |
Roberto Ierusalimschy
|
de6fc75d63
|
several configuration options that do not change often moved out of
luaconf.h and into more internal files
|
15 years ago |
Roberto Ierusalimschy
|
2af0d3b459
|
allocator function receives the tag of object being allocated in 'osize'
when 'ptr' is NULL.
|
15 years ago |