Roberto Ierusalimschy
|
21259a50e1
|
run GC tag methods in protected mod
|
2001-12-12 15:47:33 -02:00 |
|
Roberto Ierusalimschy
|
9aff171f3b
|
new type `boolean'
|
2001-12-11 20:48:44 -02:00 |
|
Roberto Ierusalimschy
|
ed9be5e1f0
|
reentrant implementation of garbage collection
|
2001-12-11 14:52:57 -02:00 |
|
Roberto Ierusalimschy
|
592a309177
|
tag system replaced by event tables
|
2001-12-05 18:15:18 -02:00 |
|
Roberto Ierusalimschy
|
413fc7334b
|
new implementation for lua upvalues (sugested by E.T.): simpler and solves
a bug for multi-stacks
|
2001-11-29 18:22:22 -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
|
26bf2adace
|
optimizations for space in LClosures and time cleanning weak tables
|
2001-11-06 19:41:53 -02:00 |
|
Roberto Ierusalimschy
|
af59848219
|
tables of globals accessible through pseudo-index in C API
|
2001-10-31 17:58:11 -02:00 |
|
Roberto Ierusalimschy
|
21aa7e55f2
|
optimization for array part of a Table
|
2001-10-25 17:14:14 -02:00 |
|
Roberto Ierusalimschy
|
1e81da51ba
|
new API for registry and C upvalues + new implementation for references
|
2001-10-17 19:12:57 -02:00 |
|
Roberto Ierusalimschy
|
15462edb0f
|
new definitions for closure structures
|
2001-10-02 13:45:03 -03:00 |
|
Roberto Ierusalimschy
|
abdbe883a8
|
first implementation of unrestricted static scoping
|
2001-09-07 14:39:10 -03:00 |
|
Roberto Ierusalimschy
|
e1d072571e
|
better syntax for type casts
|
2001-08-31 16:46:07 -03:00 |
|
Roberto Ierusalimschy
|
770954510f
|
rename of kproto' to p'
|
2001-06-28 11:57:17 -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
|
777061e441
|
resurect userdata before calling its GC tag method
|
2001-06-21 13:41:34 -03:00 |
|
Roberto Ierusalimschy
|
8e586c13fc
|
cleaner way to ensure alignment for strings and userdata
|
2001-06-15 17:36:57 -03:00 |
|
Roberto Ierusalimschy
|
eadf2aaaff
|
small optimizations
|
2001-06-15 16:17:33 -03:00 |
|
Roberto Ierusalimschy
|
a3fbf5f5fd
|
details
|
2001-06-13 15:51:20 -03:00 |
|
Roberto Ierusalimschy
|
89e8303f4e
|
more robust treatment of GC tag methods (now they can create new
objects while running...)
|
2001-06-12 15:43:13 -03:00 |
|
Roberto Ierusalimschy
|
cbc59592ff
|
new definition for luaD_call' and luaD_adjusttop'
|
2001-06-08 16:01:38 -03:00 |
|
Roberto Ierusalimschy
|
ba11831d35
|
smaller structs for udata and for strings
|
2001-06-07 12:01:21 -03:00 |
|
Roberto Ierusalimschy
|
d5b83ead90
|
new implementation for userdatas, without `keys'
|
2001-06-06 15:00:19 -03:00 |
|
Roberto Ierusalimschy
|
943b8f5b18
|
details
|
2001-06-05 16:41:24 -03:00 |
|
Roberto Ierusalimschy
|
762d059a13
|
new implementation for the Virtual Machine
|
2001-06-05 15:17:01 -03:00 |
|
Roberto Ierusalimschy
|
beee01b170
|
re-implementation of refs through weak tables
|
2001-04-17 14:35:54 -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
|
6048c4f74d
|
better way to link callinfo's and stack
|
2001-03-07 15:09:25 -03:00 |
|
Roberto Ierusalimschy
|
7b84f9e65c
|
lower-case for macros with arguments
|
2001-03-02 14:27:50 -03:00 |
|
Roberto Ierusalimschy
|
39b7978329
|
first (big) step to support wide chars
|
2001-02-23 14:17:25 -03:00 |
|
Roberto Ierusalimschy
|
5f37134e64
|
avoid '...' and "..." inside comments
|
2001-02-22 15:59:59 -03:00 |
|
Roberto Ierusalimschy
|
888f91fa24
|
code check for upvalues
|
2001-02-20 15:28:11 -03:00 |
|
Roberto Ierusalimschy
|
099442c41f
|
better separation between basic types
|
2001-02-20 15:15:33 -03:00 |
|
Roberto Ierusalimschy
|
7178a5e34a
|
new way to handle top x L->top
|
2001-02-07 16:13:49 -02:00 |
|
Roberto Ierusalimschy
|
1f9e3731d1
|
back to the basics (well-behaved variant record...)
|
2001-02-02 14:32:00 -02:00 |
|
Roberto Ierusalimschy
|
42224ca553
|
loop of 'dostring' may never reclaim memory
|
2001-02-02 14:23:20 -02:00 |
|
Roberto Ierusalimschy
|
426d3e43bd
|
lock/unlock may use L + better structure for internal debug stuff
|
2001-02-02 13:13:05 -02:00 |
|
Roberto Ierusalimschy
|
e506b864cd
|
no need for tags in boxed values :-(
|
2001-02-01 15:40:48 -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
|
9b45439860
|
details
|
2001-01-26 12:16:24 -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
|
6fda6a5302
|
support for multiple stacks sharing the same global environment
|
2001-01-22 16:01:38 -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
|
0183b8030c
|
`free' gets size of the block: complete control over memory use
|
2000-12-28 10:55:41 -02:00 |
|
Roberto Ierusalimschy
|
8c49e19865
|
explicit control of size for growing vectors
|
2000-12-26 16:46:09 -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
|
046a3d6173
|
tag methods are always functions, so don't need to store a whole object
|
2000-10-05 10:00:17 -03:00 |
|
Roberto Ierusalimschy
|
001f2bdd0e
|
new definition for types-tags
|
2000-10-05 09:14:08 -03:00 |
|
Roberto Ierusalimschy
|
78bc8e553d
|
new API for garbage collector
|
2000-10-02 11:47:43 -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
|
c9c6f9747c
|
GC may crash when checking C closures
|
2000-09-25 11:52:10 -03:00 |
|
Roberto Ierusalimschy
|
5ed3bcd4ea
|
warnings in Solaris
|
2000-09-19 05:42:35 -03:00 |
|
Roberto Ierusalimschy
|
787a78f83e
|
new scheme for buffers
|
2000-09-11 14:38:42 -03:00 |
|
Roberto Ierusalimschy
|
9fdf73bc9a
|
first version for new API
|
2000-08-28 14:57:04 -03:00 |
|
Roberto Ierusalimschy
|
c85162be27
|
new way to store local-variable information.
|
2000-08-22 14:44:17 -03:00 |
|
Roberto Ierusalimschy
|
e238efc536
|
default now is multi-state
|
2000-08-09 16:16:57 -03:00 |
|
Roberto Ierusalimschy
|
0802a9df9e
|
no more options for debug information: it is always on
|
2000-08-08 17:42:07 -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
|
cfba572076
|
remove dummy argument in LUA_ASSERT
|
2000-06-30 11:35:17 -03:00 |
|
Roberto Ierusalimschy
|
afef009fce
|
new version of debug system
|
2000-06-26 16:28:31 -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
|
c542aac0b9
|
collect dead indices in tables
|
2000-06-05 17:07:53 -03:00 |
|
Roberto Ierusalimschy
|
dbfb810267
|
cleansing of lparser.c
|
2000-06-05 11:56:18 -03:00 |
|
Roberto Ierusalimschy
|
7e30900def
|
better field name
|
2000-05-30 16:00:31 -03:00 |
|
Roberto Ierusalimschy
|
50a82ec1b9
|
gc tag methods for udata are called in (reverse) tag order
|
2000-05-30 15:54:49 -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
|
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
|
870f61d299
|
code redistribution
|
2000-04-14 15:12:35 -03:00 |
|
Roberto Ierusalimschy
|
8f0f54ec38
|
name change
|
2000-03-30 17:55:50 -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
|
102a1be615
|
no more support for gc TM for tables
|
2000-03-27 17:08:02 -03:00 |
|
Roberto Ierusalimschy
|
73aa465a8e
|
some name changes
|
2000-03-10 15:37:44 -03:00 |
|
Roberto Ierusalimschy
|
1f691a4fcd
|
renaming of some opcodes and fields
|
2000-01-28 14:53:00 -02:00 |
|
Roberto Ierusalimschy
|
d11e5adf55
|
`const' array in protos breaked in 3 arrays (for strings, numbers, and
prototypes).
|
2000-01-25 11:57:18 -02:00 |
|
Roberto Ierusalimschy
|
acdb0b741e
|
comments.
|
1999-12-27 15:33:22 -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
|
6c79a0a80d
|
new way to control hooks inside hooks (now the control is done inside Lua)
|
1999-12-21 16:04:41 -02:00 |
|
Roberto Ierusalimschy
|
1b15206cf9
|
many details + code redistribution
|
1999-12-14 16:33:29 -02:00 |
|
Roberto Ierusalimschy
|
fe237ad808
|
fixed stack; first version.
|
1999-12-01 17:50:08 -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
|
e5743adb21
|
macros key', val', and `node' don't need the state
|
1999-11-23 11:58:02 -02:00 |
|
Roberto Ierusalimschy
|
29ede6aa13
|
first implementation of multiple states (reentrant code).
|
1999-11-22 11:12:07 -02:00 |
|
Roberto Ierusalimschy
|
0c725b2492
|
buffer can shrink when too big
|
1999-11-10 13:40:46 -02:00 |
|
Roberto Ierusalimschy
|
cde179b369
|
new implementation for global variable values (separated from strings)
|
1999-11-04 15:23:12 -02:00 |
|
Roberto Ierusalimschy
|
4e9f2d13d5
|
new implementation of hash tables.
|
1999-10-14 17:13:31 -02:00 |
|
Roberto Ierusalimschy
|
c5fee7615e
|
new implementation for string hashing, with chaining.
|
1999-10-11 14:13:42 -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
|
d53e2d2386
|
details
|
1999-09-27 15:00:25 -03:00 |
|
Roberto Ierusalimschy
|
c787dccd9b
|
"const" !!!
|
1999-08-16 17:52:00 -03:00 |
|
Roberto Ierusalimschy
|
b44e35b773
|
new constants LUA_NOREF and LUA_REFNIL.
|
1999-08-11 14:00:59 -03:00 |
|
Roberto Ierusalimschy
|
5a8bb00df4
|
storing chunk "sources" instead of "filenames".
|
1999-03-04 18:23:39 -03:00 |
|
Roberto Ierusalimschy
|
72d675aba7
|
macros "growvector" and "reallocvector" more compact
|
1999-02-26 12:48:55 -03:00 |
|
Roberto Ierusalimschy
|
26d1e21c89
|
new way to handle "growing" vectors
|
1999-02-25 12:16:26 -03:00 |
|
Roberto Ierusalimschy
|
67b44c9493
|
local names are all in the constant pool, so they do not need to be
marked in GC.
|
1999-01-22 16:08:03 -02:00 |
|
Roberto Ierusalimschy
|
64ad009fb2
|
"fileName" cannot be NULL
|
1998-07-12 13:10:38 -03:00 |
|
Roberto Ierusalimschy
|
0969a971cd
|
better use of "ASSERT".
|
1998-03-09 18:49:52 -03:00 |
|
Roberto Ierusalimschy
|
88a2023c32
|
support for strings with '\0'
|
1998-03-06 13:54:42 -03:00 |
|
Roberto Ierusalimschy
|
d49e4dd752
|
MAX_WORD should not be bigger than MAX_INT
|
1998-01-19 17:49:22 -02:00 |
|
Roberto Ierusalimschy
|
0e1058cfdd
|
small optimizations in switch order
|
1998-01-09 12:44:55 -02:00 |
|
Roberto Ierusalimschy
|
502343b402
|
new scheme for buffers, centralized in auxlib.
|
1997-12-17 18:48:58 -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
|
034f16892e
|
better treatment of MARKs and DEBUG cases.
|
1997-12-11 12:48:46 -02:00 |
|
Roberto Ierusalimschy
|
80b3d28f4a
|
details (mainly error messages)
|
1997-12-09 11:50:08 -02:00 |
|
Roberto Ierusalimschy
|
3393fd7f25
|
first version of "lua_close"
|
1997-12-01 18:31:25 -02:00 |
|
Roberto Ierusalimschy
|
ef37c87e93
|
no more 'globalbag'
|
1997-11-27 13:59:25 -02:00 |
|
Roberto Ierusalimschy
|
592a3f289b
|
first implementation of centralized global state.
|
1997-11-19 15:29:23 -02:00 |
|
Roberto Ierusalimschy
|
7135803cc8
|
"global" version of a nil object.
|
1997-11-03 18:45: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
|
45ccb0e881
|
"nupvalues" is kept in Closure, not in prototype (as a preparation
for C closures...)
|
1997-10-16 08:59:34 -02:00 |
|
Roberto Ierusalimschy
|
eb617df2d8
|
better way to traverse GCnode lists.
|
1997-09-26 13:46:20 -03:00 |
|
Roberto Ierusalimschy
|
a580480b07
|
new implementation for globals: Global value is stored in TaggedString
|
1997-09-26 12:02:26 -03:00 |
|
Roberto Ierusalimschy
|
189d64409b
|
Garbage Collector
|
1997-09-16 16:25:59 -03:00 |
|