Roberto Ierusalimschy
6d998055c8
no more reference 'memerrmsg' + new reference to "n"
...
(both can be retrieved by 'luaS_newliteral' without creating anything,
because they are fixed, but "n" deserves fast access while 'memerrmsg'
does not)
2017-07-27 10:50:16 -03:00
Roberto Ierusalimschy
d356183402
new function 'luaS_hashlongstr'
2015-11-03 13:36:01 -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
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
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
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
2f5f77788f
removed function 'luaS_eqstr' (not used anywhere)
2014-03-19 15:51:42 -03:00
Roberto Ierusalimschy
c86b9da022
userdata can have any Lua value as uservalue
2014-02-19 10:52:42 -03:00
Roberto Ierusalimschy
0df6635711
"fixed" objects kept in a separated list (instead of being kept in
...
'allgc' list with a bit marking them)
2013-08-21 17:09:51 -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
439d74e29f
added 'local' bit (true => object is only refered by local variables)
2013-08-16 15:55:49 -03:00
Roberto Ierusalimschy
678c1255c9
random seed used in the hash of all strings to avoid intentional
...
collisions
2012-02-01 19:57:15 -02:00
Roberto Ierusalimschy
a4b96ce9a3
first implementation of long strings
2012-01-25 19:05:40 -02:00
Roberto Ierusalimschy
d19f1da6ef
new macro 'isreserved' + 'eqstr' -> 'luaS_eqstr' (may be a function)
2012-01-23 21:04:07 -02:00
Roberto Ierusalimschy
d394d5536a
new macro 'eqstr'
2010-04-05 13:26:37 -03:00
Roberto Ierusalimschy
f80ff7a336
'luaS_new' changed from macro to function
2010-04-03 17:24:18 -03:00
Roberto Ierusalimschy
63a2b62468
must include 'string.h' because a macro uses 'strlen'
2010-03-13 12:55:01 -03:00
Roberto Ierusalimschy
8718fda9b2
added LUAI_FUNC to functions not in the API
2005-04-25 16:24:10 -03:00
Roberto Ierusalimschy
d55bb795fa
details
2005-02-23 14:30:22 -03:00
Roberto Ierusalimschy
7d45a5f48f
C functions and userdata also have environments
2005-02-18 10:40:02 -02:00
Roberto Ierusalimschy
6f1ea817f5
better control over memory-size overflows
2004-11-19 13:52:40 -02:00
Roberto Ierusalimschy
32d4f304db
first implementation of generational GC
2004-08-24 17:12:06 -03:00
Roberto Ierusalimschy
ab7d9bfd0c
cleaner code for manipulation of `marked' field
2003-11-17 17:50:05 -02:00
Roberto Ierusalimschy
da19c436cc
cleaning the stage for generational collection
2002-08-16 11:45:55 -03:00
Roberto Ierusalimschy
ab52fc6097
new macro to `fix' strings
2002-04-30 10:01:48 -03:00
Roberto Ierusalimschy
72659a0605
no more explicit support for wide-chars; too much troble...
2001-11-28 18:13:13 -02:00
Roberto Ierusalimschy
e1d072571e
better syntax for type casts
2001-08-31 16:46:07 -03:00
Roberto Ierusalimschy
8e586c13fc
cleaner way to ensure alignment for strings and userdata
2001-06-15 17:36:57 -03:00
Roberto Ierusalimschy
d5b83ead90
new implementation for userdatas, without `keys'
2001-06-06 15:00:19 -03:00
Roberto Ierusalimschy
39b7978329
first (big) step to support wide chars
2001-02-23 14:17:25 -03:00
Roberto Ierusalimschy
099442c41f
better separation between basic types
2001-02-20 15:15:33 -03:00
Roberto Ierusalimschy
d2e340f467
string pointers are always fully aligned
2001-02-09 18:22:29 -02:00
Roberto Ierusalimschy
6875fdc8be
new semantics for pushuserdata (no more different userdatas with same value)
2001-02-09 17:53:16 -02:00
Roberto Ierusalimschy
08496eea8b
small changes in lstring
2001-01-10 15:41:50 -02:00
Roberto Ierusalimschy
0183b8030c
`free' gets size of the block: complete control over memory use
2000-12-28 10:55:41 -02:00
Roberto Ierusalimschy
96253ed8ce
better support for 64-bit machines (avoid excessive use of longs)
2000-11-24 15:39:56 -02:00
Roberto Ierusalimschy
d1c689af40
subtelties in layout of TString
2000-10-30 15:49:19 -02:00
Roberto Ierusalimschy
b892f0a877
new API function `createuserdata'
2000-10-26 10:47:05 -02:00
Roberto Ierusalimschy
dad808a73a
new way to count `nblocks' for GC (try to count bytes).
2000-09-29 09:42:13 -03:00
Roberto Ierusalimschy
ef62b340e0
code cleaner for 16 bits.
2000-05-24 10:54:49 -03:00
Roberto Ierusalimschy
330e51bed3
string hash uses one single hash table
2000-05-10 13:33:20 -03:00
Roberto Ierusalimschy
11a7022067
global variables are stored in a Lua table
2000-05-08 16:32:53 -03:00
Roberto Ierusalimschy
73aa465a8e
some name changes
2000-03-10 15:37:44 -03:00
Roberto Ierusalimschy
3d0577f4b9
small optimizations.
2000-03-10 11:38:10 -03:00
Roberto Ierusalimschy
3c9d999424
many details (most by lhf).
2000-03-03 11:58:26 -03:00
Roberto Ierusalimschy
12b45c2df2
luaS_newfixedstring renamed to luaS_newfixed
1999-12-14 16:42:57 -02:00
Roberto Ierusalimschy
d015f1fc02
table sizes don't need to be primes; power of 2 gives the same performance.
1999-11-26 16:59:20 -02:00
Roberto Ierusalimschy
29ede6aa13
first implementation of multiple states (reentrant code).
1999-11-22 11:12:07 -02:00