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 |
Roberto Ierusalimschy
|
47fc57a252
|
`TObject' renamed to `TValue' + other name changes and better assertions
for incremental garbage collection
|
21 years ago |
Roberto Ierusalimschy
|
df429f163a
|
First version of incremental GC
|
21 years ago |
Roberto Ierusalimschy
|
c6eac44a94
|
two different white flags (to distinguish dead elements from new ones)
|
21 years ago |
Roberto Ierusalimschy
|
5ee63257f9
|
macros for closure sizes are global
|
21 years ago |