Roberto Ierusalimschy
934e77a286
Details
- Better comments about short strings in opcodes.
- luaH_newkey made static.
2 years ago
Roberto Ierusalimschy
b85816b9a8
Removed test function 'luaH_isdummy'
It was not being used anywhere.
2 years ago
Roberto Ierusalimschy
23051e830a
Changes in the API of 'luaH_set' and related functions
Functions to set values in a table (luaH_set, luaH_newkey, etc.) receive
the new value, instead of returning a slot where to put the value.
4 years ago
Roberto Ierusalimschy
7c3cb71fa4
Free bit 7 of GC 'marked' field
Tables were using this bit to indicate their array sizes were real
('isrealasize'), but this bit can be useful for tests. Instead, they
can use bit 7 of their 'flag' field for that purpose. (There are only
six fast-access metamethods.) This 'flag' field only exists in tables,
so this use does not affect other types.
4 years ago
Roberto Ierusalimschy
0ddc0f47bd
Several details about 5.4.0 rc1
Corrected several small details: added 'const', adjusts in tabs x
spaces, removed unused #includes and #defines, misspellings, etc.
5 years ago
Roberto Ierusalimschy
f99509581e
Removed extra information from RCS keyword strings
Version numbers and dates (mostly wrong) from RCS keyword strings
removed from all source files; only the file name are kept.
6 years ago
Roberto Ierusalimschy
6e600695f8
field 'sizearray' in struct 'Table' changed to 'alimit', which can
be used as a hint for '#t'
6 years ago
Roberto Ierusalimschy
fb8fa66136
no more 'luaH_emptyobject' and comparisons of addresses of global variables
(instead, use a different kind of nil to signal the fake entry returned
when a key is not found in a table)
7 years ago
Roberto Ierusalimschy
9243c414d9
first version of empty entries in tables
(so that, in the future, tables can contain regular nil entries)
7 years ago
Roberto Ierusalimschy
b6f87491af
in hash nodes, keys are stored in separate pieces to avoid wasting
space with alignments
8 years ago
Roberto Ierusalimschy
e39ee2cc58
'luaH_getn' must return 'lua_Unsigned' (or 'lua_Integer'), to
allow the boundary-search algorithm to use 'maxinteger' when
it cannot find a good upper bound.
8 years ago
Roberto Ierusalimschy
2a235312f0
detail (removing spaces at end of lines)
8 years ago
Roberto Ierusalimschy
7b1fba69b7
using 'lastfree == NULL' to signal that table is using the dummy
node for its hash part + new macro 'allocsizenode'
8 years ago
Roberto Ierusalimschy
46de77b219
bug: despite its name, 'luaH_getstr' did not work for strings in
general, but only for short strings
9 years ago
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
10 years ago
Roberto Ierusalimschy
07c7fdb9df
simpler definition for 'setobj' (trust the compiler for the assignment)
10 years ago
Roberto Ierusalimschy
8ef9e8460e
bug (GC can collect long identifier during parser) + change (using
a single constant table for all functions in a chunk)
11 years ago
Roberto Ierusalimschy
d4e6b75098
"integer" keys in tables are now lua_Integer, not 'int'.
12 years ago
Roberto Ierusalimschy
89b59eee73
bug: __newindex metamethod may not work if metatable is its own
metatable + luaV_settable does not create entry when there is a
metamethod (and therefore entry is useless)
13 years ago
Roberto Ierusalimschy
92afcf2823
no more 'luaH_setstr (used only once) + 'luaH_setint' receives value
to be set.
13 years ago
Roberto Ierusalimschy
d9ea6eca7c
macro 'key2tal' replaced by 'gkey' (as both were equal)
15 years ago
Roberto Ierusalimschy
fbf866a1a5
macro 'gkey' returns a "real" TValue*
15 years ago
Roberto Ierusalimschy
3135a6bbab
luaH_[gs]etnum renamed to luaH_[gs]etint (as they only accept integers,
not generic numbers)
15 years ago
Roberto Ierusalimschy
3ca9af51a4
emergency garbage collector (core forces a GC when allocation fails)
19 years ago
Roberto Ierusalimschy
f8b7a5581e
avoid unnecessary exports
19 years ago
Roberto Ierusalimschy
ffb798e1e2
avoids type punning for table keys
19 years ago
Roberto Ierusalimschy
d987cf1f81
new mark LUAI_DATA for extern data
20 years ago
Roberto Ierusalimschy
8718fda9b2
added LUAI_FUNC to functions not in the API
20 years ago
Roberto Ierusalimschy
9ffae705ee
new "primitive" getn
20 years ago
Roberto Ierusalimschy
e2498e079e
change in hash algorithm so that it does not need empty slot
(tables can be 100% full)
20 years ago
Roberto Ierusalimschy
65726f3e2e
cleaner interface to `ltable'
20 years ago
Roberto Ierusalimschy
bd38017ddf
small optimization for table size in machines with double allignment
20 years ago
Roberto Ierusalimschy
4c5d7b2ddd
small optimization for {f()}
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
b114142799
new auxiliary function `luaH_setstr'
22 years ago
Roberto Ierusalimschy
ab9e062928
name changes to avoid name collision between macros and variables
22 years ago
Roberto Ierusalimschy
81e142fc14
detail (`key' is always on stack)
22 years ago
Roberto Ierusalimschy
46c471d7e9
new `__newindex' eventfield
23 years ago
Roberto Ierusalimschy
71c716e5a8
avoid C identifiers beginning with '_'
23 years ago
Roberto Ierusalimschy
57fb51f975
`luaH_next' works like `next'
23 years ago
Roberto Ierusalimschy
592a309177
tag system replaced by event tables
23 years ago
Roberto Ierusalimschy
fca0a12e23
avoid clashing names between macros and fields
23 years ago
Roberto Ierusalimschy
21aa7e55f2
optimization for array part of a Table
23 years ago
Roberto Ierusalimschy
e1d072571e
better syntax for type casts
24 years ago
Roberto Ierusalimschy
8c8ad5f3ff
better locality of assignment of table values
24 years ago
Roberto Ierusalimschy
654b16e83a
better performance for table operations (mainly for integer indices)
24 years ago
Roberto Ierusalimschy
37f3a1c045
too much optimization to "break" keys in tables; keep them as TObjects...
24 years ago
Roberto Ierusalimschy
1f9e3731d1
back to the basics (well-behaved variant record...)
24 years ago
Roberto Ierusalimschy
6b71a9cfe5
smaller tables for machines with 8-bit alignment
24 years ago
Roberto Ierusalimschy
caf01b5bfa
better implementation for list "for"
24 years ago