Roberto Ierusalimschy
|
3ca9af51a4
|
emergency garbage collector (core forces a GC when allocation fails)
|
2006-07-11 12:53:29 -03:00 |
|
Roberto Ierusalimschy
|
baffc37f5c
|
detail
|
2006-01-18 09:49:12 -02:00 |
|
Roberto Ierusalimschy
|
f8b7a5581e
|
avoid unnecessary exports
|
2006-01-10 11:13:06 -02:00 |
|
Roberto Ierusalimschy
|
ffb798e1e2
|
avoids type punning for table keys
|
2006-01-10 10:51:53 -02:00 |
|
Roberto Ierusalimschy
|
c505f341d6
|
small changes in casts
|
2005-12-22 14:19:56 -02:00 |
|
Roberto Ierusalimschy
|
db724e14e0
|
new macro luai_numisnan
|
2005-11-25 11:29:32 -02:00 |
|
Roberto Ierusalimschy
|
8e48ebb638
|
no more L in numer-operator macros (some functions that use those macros
have no access to L)
|
2005-10-24 15:37:52 -02:00 |
|
Roberto Ierusalimschy
|
0f30d00c87
|
warnings from Visual C
|
2005-07-11 11:01:37 -03:00 |
|
Roberto Ierusalimschy
|
90de38bf1f
|
warnings in VS .Net
|
2005-05-31 11:25:18 -03:00 |
|
Roberto Ierusalimschy
|
f21e9c172f
|
details
|
2005-05-20 12:53:42 -03:00 |
|
Roberto Ierusalimschy
|
67578ec51f
|
several small details
|
2005-05-17 16:49:15 -03:00 |
|
Roberto Ierusalimschy
|
c2bb9abcec
|
better quotes for strings in error messages
|
2005-05-16 18:19:00 -03:00 |
|
Roberto Ierusalimschy
|
d5fd44d747
|
corrected definition of lua_number2int for Windows
|
2005-05-03 16:30:17 -03:00 |
|
Roberto Ierusalimschy
|
409ee99900
|
detail
|
2005-04-01 10:51:37 -03:00 |
|
Roberto Ierusalimschy
|
9ffae705ee
|
new "primitive" getn
|
2005-03-16 13:58:41 -03:00 |
|
Roberto Ierusalimschy
|
370d31a559
|
luac´ -> luai' (to avoid confusion with other luac stuff)
|
2005-03-09 13:28:07 -03:00 |
|
Roberto Ierusalimschy
|
f8df21bd20
|
`luaconf.h´ exports all its definitions always (so all of them
must have a lua/LUA prefix).
|
2005-03-08 17:10:05 -03:00 |
|
Roberto Ierusalimschy
|
b5b230d95c
|
fewer #include's in luaconf.h
|
2005-03-08 15:09:16 -03:00 |
|
Roberto Ierusalimschy
|
8ddfe3df29
|
macros for all arithmetic operations over lua_Numbers
|
2005-01-10 16:17:39 -02:00 |
|
Roberto Ierusalimschy
|
e2498e079e
|
change in hash algorithm so that it does not need empty slot
(tables can be 100% full)
|
2005-01-05 16:20:51 -02:00 |
|
Roberto Ierusalimschy
|
65726f3e2e
|
cleaner interface to `ltable'
|
2005-01-04 13:55:12 -02:00 |
|
Roberto Ierusalimschy
|
531874f6ce
|
better (correct?) way to handle `next' over removed keys
|
2004-12-04 16:10:22 -02:00 |
|
Roberto Ierusalimschy
|
c78940f21a
|
static names do not need `luaX_' prefix
|
2004-12-03 18:50:25 -02:00 |
|
Roberto Ierusalimschy
|
0e002005b1
|
better names for `luaM_free...' macros
|
2004-11-24 17:20:21 -02:00 |
|
Roberto Ierusalimschy
|
1d99a7360b
|
details
|
2004-11-24 17:16:03 -02:00 |
|
Roberto Ierusalimschy
|
087df82a61
|
detail
|
2004-11-24 16:55:42 -02:00 |
|
Roberto Ierusalimschy
|
bd38017ddf
|
small optimization for table size in machines with double allignment
|
2004-10-06 15:34:16 -03:00 |
|
Roberto Ierusalimschy
|
66845f415f
|
small optimizations
|
2004-09-27 15:54:45 -03:00 |
|
Roberto Ierusalimschy
|
1dd8c9b6b6
|
detail
|
2004-08-31 14:57:33 -03:00 |
|
Roberto Ierusalimschy
|
26ae992129
|
less conservative write barrier for tables
|
2004-08-10 16:17:23 -03:00 |
|
Roberto Ierusalimschy
|
b4cd38ba6c
|
new scheme for configuration through `luaconf.h'
|
2004-04-30 17:13:38 -03:00 |
|
Roberto Ierusalimschy
|
4c5d7b2ddd
|
small optimization for {f()}
|
2004-03-26 11:02:41 -03:00 |
|
Roberto Ierusalimschy
|
47fc57a252
|
TObject' renamed to TValue' + other name changes and better assertions
for incremental garbage collection
|
2003-12-10 10:13:36 -02:00 |
|
Roberto Ierusalimschy
|
df429f163a
|
First version of incremental GC
|
2003-12-09 14:56:11 -02:00 |
|
Roberto Ierusalimschy
|
af850484a9
|
default metatable can be NULL
|
2003-12-01 16:22:56 -02:00 |
|
Roberto Ierusalimschy
|
8b97b072cd
|
details
|
2003-11-27 16:05:14 -02:00 |
|
Roberto Ierusalimschy
|
b114142799
|
new auxiliary function `luaH_setstr'
|
2003-08-26 09:04:13 -03:00 |
|
Roberto Ierusalimschy
|
572a69df78
|
Lua does not need all those different types...
|
2003-04-28 16:26:16 -03:00 |
|
Roberto Ierusalimschy
|
943c82b376
|
avoid unnecessary call to log2 on too large indices
|
2003-04-28 10:31:46 -03:00 |
|
Roberto Ierusalimschy
|
0d88545b82
|
warnings from several compilers (mainly typecasts when lua_Number is float)
|
2003-04-03 10:35:34 -03:00 |
|
Roberto Ierusalimschy
|
b858161fbc
|
new hash method for lua_Number (double) (due to a performance problem)
|
2003-03-24 11:18:42 -03:00 |
|
Roberto Ierusalimschy
|
5bb5a1831d
|
details
|
2003-03-20 17:26:33 -03:00 |
|
Roberto Ierusalimschy
|
ab9e062928
|
name changes to avoid name collision between macros and variables
|
2003-03-18 09:50:04 -03:00 |
|
Roberto Ierusalimschy
|
67f9a2a98f
|
details
|
2003-02-20 17:12:39 -03:00 |
|
Roberto Ierusalimschy
|
d6826dbc80
|
simpler way to count uses
|
2003-02-13 14:08:32 -02:00 |
|
Roberto Ierusalimschy
|
27c6b4d422
|
each .c file defines its own name
|
2002-12-04 15:38:31 -02:00 |
|
Roberto Ierusalimschy
|
24471525d7
|
details
|
2002-12-02 10:06:10 -02:00 |
|
Roberto Ierusalimschy
|
e47baca75a
|
warnings from Visual C++
|
2002-11-25 10:38:47 -02:00 |
|
Roberto Ierusalimschy
|
41fd639cab
|
documentation for write barriers
|
2002-11-14 14:15:53 -02:00 |
|
Roberto Ierusalimschy
|
5c5d9b2703
|
back to `__mode' metafield to specify weakness
|
2002-11-14 10:01:35 -02:00 |
|
Roberto Ierusalimschy
|
2f91f95d94
|
better control over GCObjects
|
2002-11-13 09:32:26 -02:00 |
|
Roberto Ierusalimschy
|
dff9be4224
|
new macros to distinguish different types of object moves (for future GC
evolution).
|
2002-11-07 13:37:10 -02:00 |
|
Roberto Ierusalimschy
|
4964e7c8a0
|
details
|
2002-09-02 16:54:49 -03:00 |
|
Roberto Ierusalimschy
|
fdafd4f4a8
|
new structure for collectable objects, sharing a common header
|
2002-08-30 16:09:21 -03:00 |
|
Roberto Ierusalimschy
|
da19c436cc
|
cleaning the stage for generational collection
|
2002-08-16 11:45:55 -03:00 |
|
Roberto Ierusalimschy
|
634344d61f
|
new API for weak mode
|
2002-08-06 14:06:56 -03:00 |
|
Roberto Ierusalimschy
|
5037196f6f
|
new macros `ttis*'
|
2002-08-05 11:50:39 -03:00 |
|
Roberto Ierusalimschy
|
79c8edb6c4
|
new names for light userdata operations
|
2002-07-17 13:25:13 -03:00 |
|
Roberto Ierusalimschy
|
84ad1eea81
|
use of NaN as key breaks some invariants
|
2002-07-02 14:54:23 -03:00 |
|
Roberto Ierusalimschy
|
68ee518e81
|
only tables need `lua_number2int'
|
2002-07-01 16:31:10 -03:00 |
|
Roberto Ierusalimschy
|
fdfd5b44ee
|
TM_GETTABLE/TM_SETTABLE don't need fast access anymore
|
2002-06-24 17:18:38 -03:00 |
|
Roberto Ierusalimschy
|
864c96f36c
|
new fallback for equality `__eq'
|
2002-06-13 10:39:55 -03:00 |
|
Roberto Ierusalimschy
|
46c471d7e9
|
new `__newindex' eventfield
|
2002-05-27 17:35:40 -03:00 |
|
Roberto Ierusalimschy
|
b7a0503c1d
|
new format for error messages
|
2002-05-15 15:57:44 -03:00 |
|
Roberto Ierusalimschy
|
58bf77bc7f
|
no more extra space when growing hash
|
2002-05-13 10:38:59 -03:00 |
|
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 |
|