Roberto Ierusalimschy
|
28fdbcf393
|
added include for 'lprefix.h', for stuff that must be added before
any other header file
|
10 years ago |
Roberto Ierusalimschy
|
17ee57f8e0
|
'iswhite' and related macros now can work directly on any object
(no need to convert to 'GCObject')
|
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
|
14929f5764
|
use appropriate macros to convert GCObject to specific types
|
11 years ago |
Roberto Ierusalimschy
|
f61ceee708
|
LUAI_FUNC is being used only in header files
|
11 years ago |
Roberto Ierusalimschy
|
2f5f77788f
|
removed function 'luaS_eqstr' (not used anywhere)
|
11 years ago |
Roberto Ierusalimschy
|
c86b9da022
|
userdata can have any Lua value as uservalue
|
11 years ago |
Roberto Ierusalimschy
|
6ca7b63bce
|
check for shrinking string table done only at the end of a GC cycle
|
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
|
d3bbb34c24
|
back to open hashing for the string table (but with a different
'hnext' field, to strings are still collected like all other
objects)
|
11 years ago |
Roberto Ierusalimschy
|
9a871dd3db
|
tables and userdata all go to local list, too
|
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
|
50955e27f5
|
C functions and strings now go to the local list; first version
of the local collector
|
11 years ago |
Roberto Ierusalimschy
|
33c49f7fa0
|
some details over new implementation of string table
|
11 years ago |
Roberto Ierusalimschy
|
ae800656c9
|
change in string table: string table is now independent of GC lists; all
strings live in 'normal' GC lists
|
11 years ago |
Roberto Ierusalimschy
|
677d90165f
|
no more generational collection !!!
|
11 years ago |
Roberto Ierusalimschy
|
130c0e40e0
|
new constant 'MAX_SIZE', distinct from 'MAX_SIZET', for sizes visible
from Lua; these must fit in a lua_Integer
|
12 years ago |
Roberto Ierusalimschy
|
0730a56d38
|
detail
|
12 years ago |
Roberto Ierusalimschy
|
84b6581287
|
cast to avoid warning in some compilers (size_t x unsigned int)
|
12 years ago |
Roberto Ierusalimschy
|
c2361e0b61
|
definition for 'LUAI_MAXSHORTLEN' moved to luaconf.h (too important)
|
13 years ago |
Roberto Ierusalimschy
|
cfbe2333a4
|
string hash may not use all bytes (but this is configurable now) +
small other changes
|
13 years ago |
Roberto Ierusalimschy
|
678c1255c9
|
random seed used in the hash of all strings to avoid intentional
collisions
|
13 years ago |
Roberto Ierusalimschy
|
a4b96ce9a3
|
first implementation of long strings
|
13 years ago |
Roberto Ierusalimschy
|
291f564485
|
field 'reserved' -> 'extra' (may be used for other purposes too)
|
13 years ago |
Roberto Ierusalimschy
|
ad2531a0ee
|
more complete (and hopefuly more correct) handling of 'sizeof(char)'
|
14 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
|
f80ff7a336
|
'luaS_new' changed from macro to function
|
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
|
8da245bfd2
|
better to keep GC state numbers sequential, to optimize switch in
'singlestep'
|
15 years ago |
Roberto Ierusalimschy
|
a2a2abcba4
|
new function 'luaC_runtilstate' to advance GC until a "valid" state
|
15 years ago |
Roberto Ierusalimschy
|
ea44570883
|
hash table for strings is rehashed in place
|
16 years ago |
Roberto Ierusalimschy
|
c6b442bd36
|
'luaM_freearray' does not need array type as argument
|
16 years ago |
Roberto Ierusalimschy
|
e2b366c760
|
userdata with finalizers are kept in a separated list
|
17 years ago |
Roberto Ierusalimschy
|
62790ab15d
|
detail
|
17 years ago |
Roberto Ierusalimschy
|
3ca9af51a4
|
emergency garbage collector (core forces a GC when allocation fails)
|
19 years ago |
Roberto Ierusalimschy
|
c505f341d6
|
small changes in casts
|
19 years ago |
Roberto Ierusalimschy
|
7d45a5f48f
|
C functions and userdata also have environments
|
20 years ago |
Roberto Ierusalimschy
|
334ba8132b
|
cleaner way to remark open upvalues
|
20 years ago |
Roberto Ierusalimschy
|
1d99a7360b
|
details
|
20 years ago |
Roberto Ierusalimschy
|
6f1ea817f5
|
better control over memory-size overflows
|
20 years ago |
Roberto Ierusalimschy
|
32d4f304db
|
first implementation of generational GC
|
20 years ago |
Roberto Ierusalimschy
|
b4cd38ba6c
|
new scheme for configuration through `luaconf.h'
|
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
|
9db1942bac
|
sweep of strings also incremental
|
21 years ago |
Roberto Ierusalimschy
|
c6eac44a94
|
two different white flags (to distinguish dead elements from new ones)
|
21 years ago |
Roberto Ierusalimschy
|
8878554b85
|
single list for all collectible objects, with udata separated at the
end of the list
|
21 years ago |
Roberto Ierusalimschy
|
af850484a9
|
default metatable can be NULL
|
21 years ago |