Roberto Ierusalimschy
|
a4d06736d4
|
correct implementation for arrays of size 1
|
2002-05-08 14:34:00 -03:00 |
|
Roberto Ierusalimschy
|
383e8b9e77
|
use of a common `dummynode' for all empty tables
|
2002-04-23 12:04:39 -03:00 |
|
Roberto Ierusalimschy
|
f388ee4a82
|
new way to handle errors
|
2002-04-22 11:40:23 -03:00 |
|
Roberto Ierusalimschy
|
237969724f
|
support for light' userdata + simpler support for boxed' udata
|
2002-04-05 15:54:31 -03:00 |
|
Roberto Ierusalimschy
|
0b00e7f1a2
|
new macro to convert double->int
|
2002-03-18 15:18:35 -03:00 |
|
Roberto Ierusalimschy
|
bee86e23be
|
luaH_next' works like next' + better hash for pointers
|
2002-02-14 19:41:08 -02:00 |
|
Roberto Ierusalimschy
|
d5ceb369b1
|
boolean type must be 0 or 1
|
2002-02-07 15:26:10 -02:00 |
|
Roberto Ierusalimschy
|
d6fd33e76f
|
eventtable' renamed to metatable'
|
2002-01-30 15:26:44 -02:00 |
|
Roberto Ierusalimschy
|
eb262bc617
|
2^15 does not fit in a 16-bit int
|
2002-01-25 19:51:33 -02:00 |
|
Roberto Ierusalimschy
|
566310fa04
|
small optimization
|
2002-01-16 20:02:46 -02:00 |
|
Roberto Ierusalimschy
|
b3bb0f132b
|
new interface for weak modes
|
2002-01-09 19:50:35 -02:00 |
|
Roberto Ierusalimschy
|
f42cc90d2d
|
some warnings
|
2001-12-21 15:31:35 -02:00 |
|
Roberto Ierusalimschy
|
22dd271cbb
|
another bug in next (when n is a power of 2)
|
2001-12-19 16:11:00 -02:00 |
|
Roberto Ierusalimschy
|
9aff171f3b
|
new type `boolean'
|
2001-12-11 20:48:44 -02:00 |
|
Roberto Ierusalimschy
|
9d801f43d4
|
details
|
2001-12-10 20:12:08 -02:00 |
|
Roberto Ierusalimschy
|
592a309177
|
tag system replaced by event tables
|
2001-12-05 18:15:18 -02:00 |
|
Roberto Ierusalimschy
|
fca0a12e23
|
avoid clashing names between macros and fields
|
2001-11-29 18:21:46 -02:00 |
|
Roberto Ierusalimschy
|
72659a0605
|
no more explicit support for wide-chars; too much troble...
|
2001-11-28 18:13:13 -02:00 |
|
Roberto Ierusalimschy
|
657f65211a
|
bug: `next' did not work for numeric indices
|
2001-11-16 14:29:51 -02:00 |
|
Roberto Ierusalimschy
|
21aa7e55f2
|
optimization for array part of a Table
|
2001-10-25 17:14:14 -02:00 |
|
Roberto Ierusalimschy
|
4d0935ec0f
|
better definition for `luaM_freelem'
|
2001-09-07 14:30:16 -03:00 |
|
Roberto Ierusalimschy
|
e1d072571e
|
better syntax for type casts
|
2001-08-31 16:46:07 -03:00 |
|
Roberto Ierusalimschy
|
8c8ad5f3ff
|
better locality of assignment of table values
|
2001-08-30 17:56:43 -03:00 |
|
Roberto Ierusalimschy
|
654b16e83a
|
better performance for table operations (mainly for integer indices)
|
2001-07-05 17:31:14 -03:00 |
|
Roberto Ierusalimschy
|
37f3a1c045
|
too much optimization to "break" keys in tables; keep them as TObjects...
|
2001-06-26 10:20:45 -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
|
0e0e4a480e
|
first implementation for weak tables
|
2001-04-11 11:42:41 -03:00 |
|
Roberto Ierusalimschy
|
dd3a63c205
|
new way to handle `profiles'
|
2001-03-26 11:31:49 -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
|
e506b864cd
|
no need for tags in boxed values :-(
|
2001-02-01 15:40:48 -02:00 |
|
Roberto Ierusalimschy
|
44a53df688
|
better to avoid dirty tricks
|
2001-01-30 17:48:37 -02:00 |
|
Roberto Ierusalimschy
|
63a822c8e1
|
all boxed types start with their tags
|
2001-01-29 17:34:02 -02:00 |
|
Roberto Ierusalimschy
|
6b71a9cfe5
|
smaller tables for machines with 8-bit alignment
|
2001-01-29 15:17:26 -02:00 |
|
Roberto Ierusalimschy
|
caf01b5bfa
|
better implementation for list "for"
|
2001-01-29 11:14:49 -02:00 |
|
Roberto Ierusalimschy
|
b82242d4c4
|
detail
|
2001-01-26 13:58:50 -02:00 |
|
Roberto Ierusalimschy
|
ac390020e9
|
optimizations based on all types but number and nil are pointers
|
2001-01-26 12:16:35 -02:00 |
|
Roberto Ierusalimschy
|
7959f3aebb
|
easier way to erase 'dead' keys
|
2001-01-26 11:18:00 -02:00 |
|
Roberto Ierusalimschy
|
a53d9b66ca
|
first implementation for type names
|
2001-01-25 14:45:36 -02:00 |
|
Roberto Ierusalimschy
|
71ae4801d6
|
macros LUA_ENTRY/LUA_EXIT to control exclusive access to Lua core
|
2001-01-24 13:45:33 -02:00 |
|
Roberto Ierusalimschy
|
4ac58853dc
|
thead-specific state separated from "global" state
|
2001-01-19 11:20:30 -02:00 |
|
Roberto Ierusalimschy
|
f2c451d745
|
all accesses to TObjects done through macros
|
2001-01-18 13:59:09 -02:00 |
|
Roberto Ierusalimschy
|
dabb19fc17
|
specialized versions for luaH_set (numbers and strings)
|
2001-01-10 16:56:11 -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
|
0066bbbb0b
|
details
|
2000-12-22 14:57:46 -02:00 |
|
Roberto Ierusalimschy
|
4894c27962
|
lua_Number defined in lua.h (1st version)
|
2000-12-04 16:33:40 -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
|
b892f0a877
|
new API function `createuserdata'
|
2000-10-26 10:47:05 -02:00 |
|
Roberto Ierusalimschy
|
001f2bdd0e
|
new definition for types-tags
|
2000-10-05 09:14:08 -03: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
|
8060193702
|
`lauxlib' is now part of the libraries (not used by core Lua)
|
2000-09-11 17:29:27 -03:00 |
|
Roberto Ierusalimschy
|
100bfec39a
|
new implementation for `next'
|
2000-08-31 11:08:27 -03:00 |
|
Roberto Ierusalimschy
|
e238efc536
|
default now is multi-state
|
2000-08-09 16:16:57 -03:00 |
|
Roberto Ierusalimschy
|
d9e61e8cea
|
new algorithm for traversing in GC to avoid deep recursion calls
|
2000-08-07 17:21:34 -03:00 |
|
Roberto Ierusalimschy
|
435f587ed0
|
(much) better handling of memory alloction errors
|
2000-08-04 16:38:35 -03:00 |
|
Roberto Ierusalimschy
|
cfba572076
|
remove dummy argument in LUA_ASSERT
|
2000-06-30 11:35:17 -03:00 |
|
Roberto Ierusalimschy
|
5362426ffa
|
error message
|
2000-06-28 14:03:56 -03:00 |
|
Roberto Ierusalimschy
|
1de5587184
|
`lua.h' is included before any other Lua header file
|
2000-06-12 10:52:05 -03:00 |
|
Roberto Ierusalimschy
|
8ca9534d04
|
access to `values' in TObject always through macros
|
2000-06-08 15:27:13 -03:00 |
|
Roberto Ierusalimschy
|
8bcf622876
|
new signature for `luaH_set'
|
2000-06-06 13:31:41 -03:00 |
|
Roberto Ierusalimschy
|
292c953018
|
new auxiliar function `luaH_setstr'
|
2000-06-05 17:15:33 -03:00 |
|
Roberto Ierusalimschy
|
c542aac0b9
|
collect dead indices in tables
|
2000-06-05 17:07:53 -03:00 |
|
Roberto Ierusalimschy
|
ef62b340e0
|
code cleaner for 16 bits.
|
2000-05-24 10:54:49 -03:00 |
|
Roberto Ierusalimschy
|
b803c0600e
|
details
|
2000-05-11 15:57:19 -03:00 |
|
Roberto Ierusalimschy
|
11a7022067
|
global variables are stored in a Lua table
|
2000-05-08 16:32:53 -03:00 |
|
Roberto Ierusalimschy
|
534c3a64d3
|
small optimizations for table access
|
2000-04-25 13:55:09 -03:00 |
|
Roberto Ierusalimschy
|
36e1390631
|
details.
|
2000-03-31 13:28:45 -03:00 |
|
Roberto Ierusalimschy
|
a69356e9e0
|
no more special cases for closures with 0 upvalues (performance is the same,
memory use a little higher, code much simpler).
|
2000-03-29 17:19:20 -03:00 |
|
Roberto Ierusalimschy
|
b53dc0c485
|
TAG_ARRAY -> TAG_TABLE
|
2000-03-27 17:10:21 -03:00 |
|
Roberto Ierusalimschy
|
73aa465a8e
|
some name changes
|
2000-03-10 15:37:44 -03:00 |
|
Roberto Ierusalimschy
|
3c9d999424
|
many details (most by lhf).
|
2000-03-03 11:58:26 -03:00 |
|
Roberto Ierusalimschy
|
74f1c3d025
|
small changes for "clean C"
|
2000-02-08 14:39:42 -02:00 |
|
Roberto Ierusalimschy
|
b1b0c219f5
|
new ttypes to distinguish between C closures and Lua closures.
|
1999-12-23 16:19:57 -02:00 |
|
Roberto Ierusalimschy
|
b3fe203c36
|
keep it simple
|
1999-12-07 10:05:34 -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 |
|
Roberto Ierusalimschy
|
d915cf4f9d
|
ways to measure number of `blocks' for GC + details
|
1999-11-10 13:39:35 -02:00 |
|
Roberto Ierusalimschy
|
5a48255c9f
|
invariant tests over tables performed externally, through a built-in
function (when DEBUG is ion).
|
1999-10-26 08:53:40 -02:00 |
|
Roberto Ierusalimschy
|
910836fb53
|
warnings from Visual C++
|
1999-10-19 11:33:22 -02:00 |
|
Roberto Ierusalimschy
|
4e9f2d13d5
|
new implementation of hash tables.
|
1999-10-14 17:13:31 -02:00 |
|
Roberto Ierusalimschy
|
4343420d4d
|
simplified version of `gc' tag method (only for userdata now).
|
1999-10-04 15:51:04 -02:00 |
|
Roberto Ierusalimschy
|
cf9a22396c
|
"luaH_set" only needs to check size when key is new
|
1999-09-22 11:38:45 -03:00 |
|
Roberto Ierusalimschy
|
c787dccd9b
|
"const" !!!
|
1999-08-16 17:52:00 -03:00 |
|
Roberto Ierusalimschy
|
cdd0fe9946
|
some C compilers cannot initialize a local struct
|
1999-05-21 16:41:49 -03:00 |
|
Roberto Ierusalimschy
|
f04c83e075
|
new function "lua_next" (+ new implementation for "next")
|
1999-02-23 11:57:28 -03:00 |
|
Roberto Ierusalimschy
|
fd7d0774e5
|
luaH_set does the set and protect its value; luaH_move can then be a
macro.
New algorithm for double hashing (does not use "%").
|
1999-01-25 15:41:19 -02:00 |
|
Roberto Ierusalimschy
|
1b45e967b4
|
table entries with ref=null always have val=null too.
|
1999-01-25 10:30:11 -02:00 |
|
Roberto Ierusalimschy
|
933bead92e
|
small optimizations(?)
|
1999-01-22 16:47:23 -02:00 |
|
Roberto Ierusalimschy
|
b9c9ccfbb4
|
function "move" for tables is better implemented with some "inside
information".
|
1999-01-04 10:54:33 -02:00 |
|
Roberto Ierusalimschy
|
9a45543841
|
tables are better manipulated via "Hash *" instead of "TObject" or
"lua_Object".
|
1998-12-30 11:14:46 -02:00 |
|
Roberto Ierusalimschy
|
8e226e6a09
|
small bug: nuse may change when table is rehashed;
3/2 is a good fraction for hash limit (instead of 0.7, using floats)
|
1998-08-11 13:38:34 -03:00 |
|
Roberto Ierusalimschy
|
5378331f2d
|
hash tables may shrink if use rate is too small.
|
1998-08-10 18:36:32 -03:00 |
|
Roberto Ierusalimschy
|
41d9ea948c
|
auxiliar functions "luaH_setint" & "luaH_getint".
|
1998-07-12 13:15:19 -03:00 |
|
Roberto Ierusalimschy
|
6cdf0d8768
|
tables can become full of "emptys" slots, and keep growing without limits.
|
1998-01-28 14:50:33 -02:00 |
|
Roberto Ierusalimschy
|
5981161360
|
small optimizations (?)
|
1998-01-13 16:06:27 -02:00 |
|
Roberto Ierusalimschy
|
0e1058cfdd
|
small optimizations in switch order
|
1998-01-09 12:44:55 -02:00 |
|
Roberto Ierusalimschy
|
45e533599f
|
optimization: closures without upvalues don't need to be closures
|
1997-12-15 14:17:20 -02:00 |
|
Roberto Ierusalimschy
|
80b3d28f4a
|
details (mainly error messages)
|
1997-12-09 11:50:08 -02:00 |
|
Roberto Ierusalimschy
|
accd7bc253
|
small modifications (format, small optimizations, etc)
|
1997-11-21 17:00:46 -02:00 |
|
Roberto Ierusalimschy
|
592a3f289b
|
first implementation of centralized global state.
|
1997-11-19 15:29:23 -02:00 |
|
Roberto Ierusalimschy
|
e78cf96c97
|
first version of Cclosures.
|
1997-10-24 15:17:24 -02:00 |
|
Roberto Ierusalimschy
|
907368ead5
|
GC now considers an "estimate" of object size, instead of just the number
of objects.
|
1997-10-23 14:26:37 -02:00 |
|
Roberto Ierusalimschy
|
2c89651fc6
|
macro "val" should live together with macro "ref".
|
1997-10-18 14:29:15 -02:00 |
|
Roberto Ierusalimschy
|
eb617df2d8
|
better way to traverse GCnode lists.
|
1997-09-26 13:46:20 -03:00 |
|
Roberto Ierusalimschy
|
a404f6e0e6
|
Lua tables (hash)
|
1997-09-16 16:25:59 -03:00 |
|