Roberto Ierusalimschy
|
41964648ee
|
long strings are created directly in final position when possible
(instead of using an auxiliar buffer to first create the string
and then allocate the final string and copy result there)
|
9 years ago |
Roberto Ierusalimschy
|
2b61360d82
|
avoid overflows (detected with 'clang -ftrapv')
|
9 years ago |
Roberto Ierusalimschy
|
a80cada914
|
new cache for interning strings
|
10 years ago |
Roberto Ierusalimschy
|
e75c0148c3
|
comments (references to "ANSI C" changed to "ISO C", which is the
international name
|
10 years ago |
Roberto Ierusalimschy
|
28fdbcf393
|
added include for 'lprefix.h', for stuff that must be added before
any other header file
|
10 years ago |
Roberto Ierusalimschy
|
57d8424146
|
extra space for new threads is initialized with a copy of the main
thread, not of the creator thread.
|
10 years ago |
Roberto Ierusalimschy
|
baa0e23456
|
better support for extra user space associated with a Lua state
|
10 years ago |
Roberto Ierusalimschy
|
ca41b43f53
|
type 'TString' refers directly to the structure inside the union
(union used only for size purposes)
|
10 years ago |
Roberto Ierusalimschy
|
56137d58ff
|
added check for conversion 'obj2gco' (and corrections for small
problems detected by this check)
|
10 years ago |
Roberto Ierusalimschy
|
3f78de256e
|
no need to keep threads in a different GC list, now that there is the
'twups' list
|
11 years ago |
Roberto Ierusalimschy
|
d764cc5522
|
new list 'twups' to allow traversal of upvalues from dead threads
(+ fixed some problems with cycles involving those upvalues)
|
11 years ago |
Roberto Ierusalimschy
|
de3b1c9b53
|
better control for number of finalizers called at each GC cycle
(increases progressively)
|
11 years ago |
Roberto Ierusalimschy
|
733c58595b
|
no more local collection
|
11 years ago |
Roberto Ierusalimschy
|
ba3586cc90
|
keep a single list of objects to be finalized (with local and non-local
objects), to ensure finalization order
|
11 years ago |
Roberto Ierusalimschy
|
de7cf8e63a
|
bug: should call 'luai_userstateclose' only when 'luai_userstateopen'
has been called before
|
11 years ago |
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 |