Roberto Ierusalimschy
|
df45f7118b
|
detail (added assertion)
|
9 years ago |
Roberto Ierusalimschy
|
9fae7b6d3f
|
code for string cache generalized for "associative sets" (compiler
will optimize away or inline the extra loops)
|
9 years ago |
Roberto Ierusalimschy
|
ee5edb6b68
|
macros 'getaddrstr' and 'getstr' unified (they do the same thing)
|
9 years ago |
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)
|
9 years ago |
Roberto Ierusalimschy
|
a5cbb7c3a7
|
detail (i + 1 > exp is simply i >= exp)
|
10 years ago |
Roberto Ierusalimschy
|
6645bb2df4
|
'strcache' elements as arrays of 1 element hints that cache can
be n-way (instead of direct mapped)
|
10 years ago |
Roberto Ierusalimschy
|
b436ed58a3
|
'clearapihash' -> 'luaS_clearcache' and moved to 'lstring.c' (which
keeps all code related to this cache)
|
10 years ago |
Roberto Ierusalimschy
|
a80cada914
|
new cache for interning strings
|
10 years ago |
Roberto Ierusalimschy
|
7e2015a46d
|
size of short strings stored in a single byte, to reduce the size
of struct 'TString'
|
10 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
|
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 |