Roberto Ierusalimschy
|
c86b9da022
|
userdata can have any Lua value as uservalue
|
2014-02-19 10:52:42 -03:00 |
|
Roberto Ierusalimschy
|
3f78de256e
|
no need to keep threads in a different GC list, now that there is the
'twups' list
|
2014-02-18 10:46:26 -03:00 |
|
Roberto Ierusalimschy
|
ffa96d988d
|
field 'op' renamed to 'open'
|
2014-02-15 11:12:01 -02:00 |
|
Roberto Ierusalimschy
|
733c58595b
|
no more local collection
|
2014-02-13 10:11:34 -02:00 |
|
Roberto Ierusalimschy
|
ba3586cc90
|
keep a single list of objects to be finalized (with local and non-local
objects), to ensure finalization order
|
2014-02-11 10:18:12 -02:00 |
|
Roberto Ierusalimschy
|
1ea2d20f74
|
first implementation of '<<', '>>', and '~' (bitwise not)
|
2013-12-30 18:47:58 -02:00 |
|
Roberto Ierusalimschy
|
c0edab0f6d
|
first implementation of bitwise operators '&' (band), '|' (bor),
and '~' (bxor)
|
2013-12-18 12:12:03 -02:00 |
|
Roberto Ierusalimschy
|
a948054a19
|
new order for binary operations (grouping them by type of result)
|
2013-12-16 17:06:52 -02:00 |
|
Roberto Ierusalimschy
|
4eeb1831be
|
new names and better order for GC states (sweep first lists that
can have dead objects)
|
2013-09-11 11:47:08 -03:00 |
|
Roberto Ierusalimschy
|
dd373a8f66
|
threads are kept in a separated GC list, linked after the main thread
|
2013-09-11 11:09:55 -03:00 |
|
Roberto Ierusalimschy
|
d8aa8dd97e
|
objects in list 'tobefnz' have a GC life-cycle like all others
(specifically they are cleaned during sweep phase)
|
2013-09-11 09:47:48 -03:00 |
|
Roberto Ierusalimschy
|
79ab21be90
|
more invariants added to memory check
|
2013-09-11 09:26:14 -03:00 |
|
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)
|
2013-09-05 16:31:49 -03:00 |
|
Roberto Ierusalimschy
|
0ad15fc100
|
better (and correct!) control of 'maybedead'
|
2013-09-04 12:34:24 -03:00 |
|
Roberto Ierusalimschy
|
aeff4f79fa
|
local collection now calls finalizers
|
2013-09-03 12:37:10 -03:00 |
|
Roberto Ierusalimschy
|
1bf4faec64
|
new GC state to sweep 'localgc' list + small changes in sweep control
|
2013-08-30 16:14:26 -03:00 |
|
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
|
2013-08-27 17:04:00 -03:00 |
|
Roberto Ierusalimschy
|
af35c7f398
|
upvalues collected by reference count
|
2013-08-27 15:53:35 -03:00 |
|
Roberto Ierusalimschy
|
742b7377d3
|
Lua closures go to local, too
|
2013-08-26 09:41:10 -03:00 |
|
Roberto Ierusalimschy
|
33c49f7fa0
|
some details over new implementation of string table
|
2013-08-22 12:21:48 -03:00 |
|
Roberto Ierusalimschy
|
ae800656c9
|
change in string table: string table is now independent of GC lists; all
strings live in 'normal' GC lists
|
2013-08-21 16:21:16 -03:00 |
|
Roberto Ierusalimschy
|
8f6b80aa1d
|
GC bits SEPARATED and FINALIZEDBIT mixed in FINALIZEDBIT (with simpler
control)
|
2013-08-20 14:46:34 -03:00 |
|
Roberto Ierusalimschy
|
8e6b7ef9ab
|
new function 'isgclocal' + test for GC consistency of prototype's caches
|
2013-08-19 11:16:33 -03:00 |
|
Roberto Ierusalimschy
|
caceeab750
|
'next' field for tables changed from pointer to integer (for better
alignment on 64-bit machines)
|
2013-08-18 13:12:18 -03:00 |
|
Roberto Ierusalimschy
|
3991312b94
|
details
|
2013-08-16 16:02:31 -03:00 |
|
Roberto Ierusalimschy
|
439d74e29f
|
added 'local' bit (true => object is only refered by local variables)
|
2013-08-16 15:55:49 -03:00 |
|
Roberto Ierusalimschy
|
623e388bb4
|
double-linked list of all upvalues elliminated and changed to a
traversal of all non-marked threads
|
2013-08-07 09:18:11 -03:00 |
|
Roberto Ierusalimschy
|
677d90165f
|
no more generational collection !!!
|
2013-08-05 13:58:28 -03:00 |
|
Roberto Ierusalimschy
|
81102d3689
|
try to avoid warnings when converting int to pointer
|
2013-06-20 18:59:13 -03:00 |
|
Roberto Ierusalimschy
|
0ce3018109
|
'pushnum' pushes a "number" (float) + new C instruction 'pushint'
|
2013-05-07 16:01:16 -03:00 |
|
Roberto Ierusalimschy
|
a2f5c28a80
|
new operation '//' (integer division)
|
2013-04-26 10:08:29 -03:00 |
|
Roberto Ierusalimschy
|
52cb90ec75
|
detail
|
2013-04-24 16:41:48 -03:00 |
|
Roberto Ierusalimschy
|
75250a237c
|
typos in comments
|
2013-03-16 18:10:18 -03:00 |
|
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.
|
2012-10-03 09:36:46 -03:00 |
|
Roberto Ierusalimschy
|
a3e1c40d6d
|
remove of unecessary luaD_checkstack. (In some cases, C should
ensure stack space; in others, Lua can use the extra slots for
temporary values.)
|
2012-08-16 14:34:28 -03:00 |
|
Roberto Ierusalimschy
|
e4f609d0ee
|
collector in generational mode must be in 'propagate' state when
not running a collection
|
2012-07-04 12:52:38 -03:00 |
|
Roberto Ierusalimschy
|
5ac56a94dd
|
collector in generational mode should never be in 'pause' state
|
2012-07-02 12:38:36 -03:00 |
|
Roberto Ierusalimschy
|
43bfb60ac8
|
new auxiliary function 'luaI_printinst' (to print a single instruction)
|
2012-06-07 15:52:47 -03:00 |
|
Roberto Ierusalimschy
|
01e5f358bd
|
small improvement in lua_checkmemory (only allow dead objects in
part of the sweep list not yet sweeped)
|
2012-05-31 17:25:42 -03:00 |
|
Roberto Ierusalimschy
|
69c775de21
|
update of 'lua_checkmemory'
|
2012-05-30 13:40:29 -03:00 |
|
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.
|
2012-05-08 10:53:33 -03:00 |
|
Roberto Ierusalimschy
|
a4b96ce9a3
|
first implementation of long strings
|
2012-01-25 19:05:40 -02:00 |
|
Roberto Ierusalimschy
|
fd22ccd6d0
|
object tag keeps variant bits too -> no need for 'isC' field in
Closures + more strick typing for closure variants
|
2012-01-20 20:05:50 -02:00 |
|
Roberto Ierusalimschy
|
e0e406ead3
|
extra argument to instruction 'checkstack' (in 'testC')
|
2011-11-09 17:08:07 -02:00 |
|
Roberto Ierusalimschy
|
5645a84368
|
detail about 'trick' function (nil turn it off)
|
2011-09-24 18:11:29 -03:00 |
|
Roberto Ierusalimschy
|
3dc5475e23
|
'nCcalls' should be local to each thread, as each thread may have its
own C stack (with LuaThreads or something similar)
|
2011-08-23 14:24:34 -03:00 |
|
Roberto Ierusalimschy
|
88c29c0cd5
|
compilation warning about integer size x pointer size
|
2011-07-02 12:59:17 -03:00 |
|
Roberto Ierusalimschy
|
29644366fc
|
useless assignments removed (macros already do the assignment)
|
2011-06-24 11:36:21 -03:00 |
|
Roberto Ierusalimschy
|
3b44821334
|
stricter control (using tag variants) over closure kinds (Lua x C)
|
2011-06-02 16:31:40 -03:00 |
|
Roberto Ierusalimschy
|
aa13c591f5
|
avoid use of 'ifdef/ifndef'; use 'defined' instead (simpler and
more powerful)
|
2011-05-25 11:12:28 -03:00 |
|