Roberto Ierusalimschy
a80cada914
new cache for interning strings
10 years ago
Roberto Ierusalimschy
4542fb9f78
comments (a few extra quotes around identifiers)
10 years ago
Roberto Ierusalimschy
bdf566a8a3
`name' in comments changed to 'name'
10 years ago
Roberto Ierusalimschy
2a21f6c894
'lua_Kcontext' -> 'lua_KContext'
10 years ago
Roberto Ierusalimschy
3670db99b6
comments
10 years ago
Roberto Ierusalimschy
2be88d5084
'lua_Ctx' -> 'lua_Kcontext'
10 years ago
Roberto Ierusalimschy
753f2c1da4
better(?) alignment for some structures (pointers first)
10 years ago
Roberto Ierusalimschy
bb12903120
type 'Udata' refers directly to structure inside the union (union
used only for aligning purposes now)
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
9aec500a26
no need for field 'gch' anymore
10 years ago
Roberto Ierusalimschy
5a9cc57a5e
change in GCObject: instead of being a union, it is now a structure
with the common header of all collectable objects; union is used
only for conversions. (Goal is to be able to check that the cast
'obj2gco' can have a check to ensure that object being converted
is really a collectable object.). This is the first step in the
change.
10 years ago
Roberto Ierusalimschy
1aa4f69b51
new type 'lua_Ctx' for continuation-function contexts (to allow type
to be configurable)
10 years ago
Roberto Ierusalimschy
fa3113ffbf
cleaner way to handle bit CIST_OAH (with auxiliar macros)
11 years ago
Roberto Ierusalimschy
88a9e51f34
bit-field CIST_YIELDED removed (it was never consulted)
11 years ago
Roberto Ierusalimschy
542b6cfc02
no need for field 'status' in structure 'CallInfo' (after removal
of 'lua_getctx') + field 'old_allowhook' can be packed into a single
bit
11 years ago
Roberto Ierusalimschy
6f6fd96e3b
new type lua_KFunction + no more 'lua_getctx'
11 years ago
Roberto Ierusalimschy
0aa32fa0cb
small changes in field order in some structs to reduce padding
11 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
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
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
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
33c49f7fa0
some details over new implementation of string table
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
8f6b80aa1d
GC bits SEPARATED and FINALIZEDBIT mixed in FINALIZEDBIT (with simpler
control)
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
f7ec36ab16
comment
13 years ago
Roberto Ierusalimschy
cc2a60ecb7
bugs in yields inside debug hooks
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
2a66b34f72
revamp of the GC pace control; more like 5.1: any X Kbytes allocated
makes the GC handle f(X) Kbytes of objects
13 years ago
Roberto Ierusalimschy
678c1255c9
random seed used in the hash of all strings to avoid intentional
collisions
13 years ago
Roberto Ierusalimschy
a4b96ce9a3
first implementation of long strings
13 years ago
Roberto Ierusalimschy
fd22ccd6d0
object tag keeps variant bits too -> no need for 'isC' field in
Closures + more strick typing for closure variants
13 years ago
Roberto Ierusalimschy
9caf5b4f79
lint (unused definition)
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
3b44821334
stricter control (using tag variants) over closure kinds (Lua x C)
14 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