Roberto Ierusalimschy
93fd67b793
no more 'CallInfo' structure
7 years ago
Roberto Ierusalimschy
472c560705
no more useful fields in CallInfo
7 years ago
Roberto Ierusalimschy
54eb35a8aa
more fields moved out of 'CallInfo'
7 years ago
Roberto Ierusalimschy
ba36180fd7
new API for 'lua_resume' + cleaning the uses of the 'extra' field in
'CallInfo'
7 years ago
Roberto Ierusalimschy
c5482468fd
baby steps to remove 'CallInfo': keeping 'L->func' correct
7 years ago
Roberto Ierusalimschy
6d998055c8
no more reference 'memerrmsg' + new reference to "n"
(both can be retrieved by 'luaS_newliteral' without creating anything,
because they are fixed, but "n" deserves fast access while 'memerrmsg'
does not)
7 years ago
Roberto Ierusalimschy
73ec04fcf3
no more 'DEADKEY'. Table traversals do not need to consider dead keys;
if the key is dead, it cannot be given to 'next'. Instead, we now
use a 'table' tag without the collectable bit, which makes it
a unique tag good enough to reserve space.
8 years ago
Roberto Ierusalimschy
72d82a296c
revamping the incremental collector
Some simplifications (not counting bytes, couting only slots visited;
no more 'gcfinnum'); more GC parameters; using vararg in 'lua_gc' to
set parameters in different GC modes
8 years ago
Roberto Ierusalimschy
6d95de83c6
no more field 'base' in CallInfo (base is always equal to 'func + 1',
with old/new vararg implementation)
8 years ago
Roberto Ierusalimschy
2376eb6347
barrier for prototype's cache (with new gray list 'protogray' to keep
prototypes to have their caches visited again) + constant 'MAXMISS'
8 years ago
Roberto Ierusalimschy
69371c4b84
'KGC_NORMAL' -> 'KGC_INC' + emergency GC signalled by flag (instead
of mode)
8 years ago
Roberto Ierusalimschy
c7bdc0e0e8
first version of control for the generational collector
8 years ago
Roberto Ierusalimschy
a3d36fe283
Upvalues collected like everything else (with mark-sweep) instead
of reference count (simpler and better for generational mode)
8 years ago
Roberto Ierusalimschy
e4287da3a6
generational collector (still not complete)
8 years ago
Roberto Ierusalimschy
f5f3df3bd1
generational collection: new attempt (still incomplete)
8 years ago
Roberto Ierusalimschy
e6c1e6005a
comments about gray lists
8 years ago
Roberto Ierusalimschy
2a235312f0
detail (removing spaces at end of lines)
8 years ago
Roberto Ierusalimschy
138d00176c
new flag in 'CallInfo.callstatus' to tell whether function is running
as a finalizer
8 years ago
Roberto Ierusalimschy
644799537f
allow more bits in 'callstatus' (use no extra space due to alignments)
9 years ago
Roberto Ierusalimschy
c4e01c568a
make 'hook' volatile (as it may be changed in signal handling)
9 years ago
Roberto Ierusalimschy
656b3cea1b
using 'sig_atomic_t' for 'hookmask' (as it can be changed inside
a signal)
9 years ago
Roberto Ierusalimschy
89e3a84344
removed field 'n' from 'CallInfo' (not being used right now)
9 years ago
Roberto Ierusalimschy
33b366ec32
added counters for total and individual CallInfo entries (to allow
better syncronization between CallInfo size and stack size)
9 years ago
Roberto Ierusalimschy
07a2dcacbf
flag CIST_REENTRY changed to CIST_FRESH (its negation); fresh invocations
seem to be less frequent than reentries. (So, avoid setting flag on
the frequent case.)
9 years ago
Roberto Ierusalimschy
9fae7b6d3f
code for string cache generalized for "associative sets" (compiler
will optimize away or inline the extra loops)
9 years ago
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
bde17a419d
because of debt, 'totalbytes' can be negative (and therefore its
type must be signed)
9 years ago
Roberto Ierusalimschy
6645bb2df4
'strcache' elements as arrays of 1 element hints that cache can
be n-way (instead of direct mapped)
10 years ago
Roberto Ierusalimschy
ae76c39712
Bug: suspended '__le' metamethod can give wrong result
10 years ago
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