Roberto Ierusalimschy
f96497397a
new type 'StackValue' for stack elements
(we may want to put extra info there in the future)
7 years ago
Roberto Ierusalimschy
b42430fd3a
'lineinfo' in prototypes saved as differences instead of absolute
values, so that the array can use bytes instead of ints, reducing
its size. (A new array 'abslineinfo' is used when line differences
do not fit in a byte.)
7 years ago
Roberto Ierusalimschy
be0d951be8
bug: cannot reuse a dying upvalue
8 years ago
Roberto Ierusalimschy
8634b2a011
added 'cachemiss' field to prototype to avoid wasting time checking
hits that fail too often
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
2331e1beec
small changes in 'luaC_upvalbarrier'
8 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
bdf566a8a3
`name' in comments changed to 'name'
10 years ago
Roberto Ierusalimschy
89b56e7d84
more precision between closure types ('LClosure' x 'CClosure')
11 years ago
Roberto Ierusalimschy
14929f5764
use appropriate macros to convert GCObject to specific types
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
ffa96d988d
field 'op' renamed to 'open'
11 years ago
Roberto Ierusalimschy
733c58595b
no more local collection
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
90972ff136
LOCALBLACK changed to LOCALMARK and used also to control whether object
is in 'localgc' list + luaC_newobj by default puts object in 'localgc'
list
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
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
86b39206d9
open upvalues cannot be old if thread is not old; when thread is old,
their list is not traversed anymore, and therefore can contain dead
elements.
12 years ago
Roberto Ierusalimschy
3cadc37f47
no more 'Proto' objects on the stack. Protos are anchored on outer
Protos or on a Closure, which must be created before the Proto.
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
a71c5f6f53
typo in comments
15 years ago
Roberto Ierusalimschy
0d116c3ada
unused '#include' removed
15 years ago
Roberto Ierusalimschy
575074fd85
Lua closures are cached for reuse
15 years ago
Roberto Ierusalimschy
1c1a98e872
corrected some places where an old object could end up in front
of a new one + minimal documentation about this problem
15 years ago
Roberto Ierusalimschy
23001d8607
nasty GC bug: upvalue must be turned white when not keeping invariant,
but barrier was not being called when uv->v were already white.
15 years ago
Roberto Ierusalimschy
5a7a0c72d8
'luaC_linkupval' embedded into call site
15 years ago
Roberto Ierusalimschy
064e406f67
no more fenvs!
15 years ago
Roberto Ierusalimschy
25c557ec63
first version of _ENV; no more global variables
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
3a9ae612a4
macro 'ngcotouv' is the same as 'gco2uv', so it was removed
15 years ago
Roberto Ierusalimschy
3c4d970a7b
comment typos
15 years ago
Roberto Ierusalimschy
0ac3d07ea6
first implementation of lexical environments
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
c6b442bd36
'luaM_freearray' does not need array type as argument
16 years ago
Roberto Ierusalimschy
593bfc9668
should not manipulate NULL pointers (even without accessing them)
18 years ago
Roberto Ierusalimschy
c505f341d6
small changes in casts
19 years ago
Roberto Ierusalimschy
1ab2b93462
debug information for last line of a function definition
20 years ago
Roberto Ierusalimschy
9832f6b186
small bug
20 years ago
Roberto Ierusalimschy
7d45a5f48f
C functions and userdata also have environments
20 years ago
Roberto Ierusalimschy
4df8800a01
cleaner way to free all objects
20 years ago
Roberto Ierusalimschy
621ef9f767
better control over GC collors of upvalues
20 years ago
Roberto Ierusalimschy
334ba8132b
cleaner way to remark open upvalues
20 years ago
Roberto Ierusalimschy
0e002005b1
better names for `luaM_free...' macros
20 years ago
Roberto Ierusalimschy
b4cd38ba6c
new scheme for configuration through `luaconf.h'
21 years ago
Roberto Ierusalimschy
a4e1230f95
better way to control open upvalues
21 years ago
Roberto Ierusalimschy
2aaf7394ad
more and better tools (assertions & inspectors) to check incremental GC
21 years ago