Roberto Ierusalimschy
|
ff1289a361
|
in 'luaD_call', use two functions instead of one with fixed boolean
argument
|
2015-11-02 16:48:07 -02:00 |
Roberto Ierusalimschy
|
cd73f3ccc5
|
now that we have a counter for CallInfos, use it for a more
accurate value for the memory used by a thread
|
2015-11-02 14:19:29 -02:00 |
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)
|
2015-09-08 12:41:05 -03:00 |
Roberto Ierusalimschy
|
2b61360d82
|
avoid overflows (detected with 'clang -ftrapv')
|
2015-07-13 10:30:03 -03:00 |
Roberto Ierusalimschy
|
b436ed58a3
|
'clearapihash' -> 'luaS_clearcache' and moved to 'lstring.c' (which
keeps all code related to this cache)
|
2015-03-25 10:42:19 -03:00 |
Roberto Ierusalimschy
|
2ae2e6408e
|
avoid testing for NULL when marking objects that cannot be NULL
|
2015-03-04 10:51:55 -03:00 |
Roberto Ierusalimschy
|
a80cada914
|
new cache for interning strings
|
2015-03-04 10:31:21 -03:00 |
Roberto Ierusalimschy
|
7e2015a46d
|
size of short strings stored in a single byte, to reduce the size
of struct 'TString'
|
2015-01-16 14:54:37 -02:00 |
Roberto Ierusalimschy
|
88ef06f4f3
|
comments were wrong (not updated about several changes)
|
2014-12-20 11:58:15 -02:00 |
Roberto Ierusalimschy
|
28fdbcf393
|
added include for 'lprefix.h', for stuff that must be added before
any other header file
|
2014-11-02 17:19:04 -02:00 |
Roberto Ierusalimschy
|
4542fb9f78
|
comments (a few extra quotes around identifiers)
|
2014-10-30 16:53:28 -02:00 |
Roberto Ierusalimschy
|
e9885efc7c
|
added comment and assert about an (impossible) division by zero
|
2014-10-29 13:02:53 -02:00 |
Roberto Ierusalimschy
|
bdf566a8a3
|
`name' in comments changed to 'name'
|
2014-10-25 09:50:46 -02:00 |
Roberto Ierusalimschy
|
2f4d429071
|
details (comments)
|
2014-10-03 09:54:57 -03:00 |
Roberto Ierusalimschy
|
3a15c7ce43
|
size for array part of a table ('sizearray') changed from 'int' to
'unsigned int', which allows twice as many elements in the array part
|
2014-09-04 15:15:29 -03:00 |
Roberto Ierusalimschy
|
0a6b58c3aa
|
weak tables that must be retraversed are kept in 'grayagain' list
until atomic phase (instead of going to their special lists) +
more comments
|
2014-09-03 13:54:41 -03:00 |
Roberto Ierusalimschy
|
df608f842a
|
'linktable' -> 'linkgclist' (and used for all links with 'gclist')
|
2014-09-01 14:37:11 -03:00 |
Roberto Ierusalimschy
|
07c7fdb9df
|
simpler definition for 'setobj' (trust the compiler for the assignment)
|
2014-07-29 13:22:24 -03:00 |
Roberto Ierusalimschy
|
3c6d0aaa7d
|
'iswhite' and related macros now can work directly on any object
(no need to convert to 'GCObject')
|
2014-07-19 12:14:46 -03:00 |
Roberto Ierusalimschy
|
e43612aaf6
|
put the restriction that 'luaC_barrierback' works only on tables
in its prototype
|
2014-07-19 12:09:37 -03:00 |
Roberto Ierusalimschy
|
2898e2fd12
|
removed useless assertion (gcstate != GCSpause already implied by
other assertions) and wrong assertion (setmetatable uses this barrier
for tables too)
|
2014-07-19 11:44:19 -03:00 |
Roberto Ierusalimschy
|
bb12903120
|
type 'Udata' refers directly to structure inside the union (union
used only for aligning purposes now)
|
2014-07-18 11:46:47 -03:00 |
Roberto Ierusalimschy
|
ca41b43f53
|
type 'TString' refers directly to the structure inside the union
(union used only for size purposes)
|
2014-07-18 10:36:14 -03:00 |
Roberto Ierusalimschy
|
56137d58ff
|
added check for conversion 'obj2gco' (and corrections for small
problems detected by this check)
|
2014-07-18 09:17:54 -03:00 |
Roberto Ierusalimschy
|
9aec500a26
|
no need for field 'gch' anymore
|
2014-07-17 14:27:49 -03:00 |
Roberto Ierusalimschy
|
b9dcf9974d
|
detail (typos in comments)
|
2014-06-30 16:48:08 -03:00 |
Roberto Ierusalimschy
|
4d696c45b9
|
simpler handling of 'GCScallfin' state + more comments
|
2014-05-25 16:08:32 -03:00 |
Roberto Ierusalimschy
|
4a24883674
|
'GCmemtrav' does not need to track the entire collection, only each
single step individually
|
2014-04-04 14:01:04 -03:00 |
Roberto Ierusalimschy
|
f61ceee708
|
LUAI_FUNC is being used only in header files
|
2014-04-02 13:44:42 -03:00 |
Roberto Ierusalimschy
|
0d745ed04c
|
more precise estimation (GCestimate) for total bytes in use after
a GC cycle
|
2014-04-01 11:06:59 -03:00 |
Roberto Ierusalimschy
|
da4811238a
|
details (typos in comments)
|
2014-03-21 10:52:33 -03:00 |
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
|
d764cc5522
|
new list 'twups' to allow traversal of upvalues from dead threads
(+ fixed some problems with cycles involving those upvalues)
|
2014-02-18 10:39:37 -03:00 |
Roberto Ierusalimschy
|
ffa96d988d
|
field 'op' renamed to 'open'
|
2014-02-15 11:12:01 -02:00 |
Roberto Ierusalimschy
|
1cce3e6842
|
change in the way 'collectgarbage("step", size)' interprets 'size'
(mimicking the way the GC itself behaves when Lua allocates 'size'
Kbytes)
|
2014-02-14 14:43:14 -02:00 |
Roberto Ierusalimschy
|
90b0ac6495
|
limit to 'gcstepmul' imposed by 'lua_gc' (+ some details in 'lgc.c')
|
2014-02-13 15:25:20 -02:00 |
Roberto Ierusalimschy
|
de3b1c9b53
|
better control for number of finalizers called at each GC cycle
(increases progressively)
|
2014-02-13 12:46:38 -02:00 |
Roberto Ierusalimschy
|
733c58595b
|
no more local collection
|
2014-02-13 10:11:34 -02:00 |
Roberto Ierusalimschy
|
6b30774469
|
detail (better presentation for 'luaC_step')
|
2014-02-11 10:28:47 -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
|
88e23f508c
|
details
|
2013-12-13 13:42:08 -02:00 |
Roberto Ierusalimschy
|
c8585efc78
|
use goto to implement a tail call in 'reallymarkobject'
|
2013-12-13 13:17:00 -02:00 |
Roberto Ierusalimschy
|
4c6dfc342b
|
CallInfo lists shrinks together with their associated stacks
|
2013-09-17 12:40:06 -03:00 |
Roberto Ierusalimschy
|
686e57cf9c
|
GC local pause configurable
|
2013-09-13 13:21:52 -03:00 |
Roberto Ierusalimschy
|
6ca7b63bce
|
check for shrinking string table done only at the end of a GC cycle
|
2013-09-11 11:56:15 -03: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
|
7061fe1d56
|
detail: 'sweepstep' checks end of phase after calling 'sweeplist', so
that phases with small lists return 0 at the first call to 'sweepstep'
|
2013-09-11 10:24: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 |