Roberto Ierusalimschy
|
c6254dceff
|
a different option for the GC
|
2004-12-13 10:15:11 -02:00 |
|
Roberto Ierusalimschy
|
39a8082f50
|
more options for controling the GC
|
2004-12-06 15:53:42 -02:00 |
|
Roberto Ierusalimschy
|
0e002005b1
|
better names for `luaM_free...' macros
|
2004-11-24 17:20:21 -02:00 |
|
Roberto Ierusalimschy
|
6f1ea817f5
|
better control over memory-size overflows
|
2004-11-19 13:52:40 -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
|
2419f2bf02
|
cleaner API for coroutines
|
2004-09-15 17:39:42 -03:00 |
|
Roberto Ierusalimschy
|
0de2065f4e
|
tighter tests for stack overflow
|
2004-09-08 11:23:09 -03:00 |
|
Roberto Ierusalimschy
|
0b06241483
|
better control for GC cycles
|
2004-08-30 10:44:44 -03:00 |
|
Roberto Ierusalimschy
|
32d4f304db
|
first implementation of generational GC
|
2004-08-24 17:12:06 -03:00 |
|
Roberto Ierusalimschy
|
359840c2f8
|
new coroutines inherit hook from creator
|
2004-06-17 11:25:31 -03:00 |
|
Roberto Ierusalimschy
|
dba17070ac
|
optional error for accesss to undefined variables/fields
|
2004-06-17 11:06:52 -03:00 |
|
Roberto Ierusalimschy
|
118e471fa0
|
details
|
2004-06-02 16:09:36 -03:00 |
|
Roberto Ierusalimschy
|
616438fe9a
|
new way to use vararg' parameters (with ...')
|
2004-05-31 15:51:50 -03:00 |
|
Roberto Ierusalimschy
|
b4cd38ba6c
|
new scheme for configuration through `luaconf.h'
|
2004-04-30 17:13:38 -03:00 |
|
Roberto Ierusalimschy
|
29a13b4128
|
detail
|
2004-03-23 13:38:43 -03:00 |
|
Roberto Ierusalimschy
|
a4e1230f95
|
better way to control open upvalues
|
2004-03-15 18:04:33 -03:00 |
|
Roberto Ierusalimschy
|
2aaf7394ad
|
more and better tools (assertions & inspectors) to check incremental GC
|
2004-02-16 16:09:52 -03:00 |
|
Roberto Ierusalimschy
|
beb2aa5a46
|
atomic operations are not GC "states"
|
2003-12-12 16:29:34 -02: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
|
fe595a45c2
|
`grayagain' list
|
2003-12-04 16:52:23 -02:00 |
|
Roberto Ierusalimschy
|
9db1942bac
|
sweep of strings also incremental
|
2003-12-04 15:22:42 -02:00 |
|
Roberto Ierusalimschy
|
c6eac44a94
|
two different white flags (to distinguish dead elements from new ones)
|
2003-12-03 18:03:07 -02:00 |
|
Roberto Ierusalimschy
|
8878554b85
|
single list for all collectible objects, with udata separated at the
end of the list
|
2003-12-03 10:30:41 -02:00 |
|
Roberto Ierusalimschy
|
af850484a9
|
default metatable can be NULL
|
2003-12-01 16:22:56 -02:00 |
|
Roberto Ierusalimschy
|
1d10acb355
|
incremental GC phases
|
2003-12-01 14:33:30 -02:00 |
|
Roberto Ierusalimschy
|
366e4af3c9
|
towards incremental GC
|
2003-11-18 12:55:11 -02:00 |
|
Roberto Ierusalimschy
|
b97fb932ec
|
Lua kernel does not use malloc/free functions.
|
2003-10-02 17:31:17 -03:00 |
|
Roberto Ierusalimschy
|
7dae7899b1
|
main thread and global state are allocated in a single block
|
2003-09-04 17:19:07 -03:00 |
|
Roberto Ierusalimschy
|
522407e23a
|
we do not need a default panic (that does nothing anyway...)
|
2003-07-16 17:51:47 -03:00 |
|
Roberto Ierusalimschy
|
fa26d294ae
|
new way to control `pc' of running functions
|
2003-07-16 17:49:02 -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
|
ab9e062928
|
name changes to avoid name collision between macros and variables
|
2003-03-18 09:50:04 -03:00 |
|
Roberto Ierusalimschy
|
69dd9461e5
|
bug: GC metamethod calls could mess C/Lua stack syncronization
|
2003-02-28 16:45:15 -03:00 |
|
Roberto Ierusalimschy
|
e75a6ae9ee
|
`defaultmeta' is always empty, but registry needs some space for
names and numbers (references)
|
2003-02-13 14:07:57 -02:00 |
|
Roberto Ierusalimschy
|
6f207b15fb
|
resist errors in finalizers during lua_close
|
2003-02-10 15:32:50 -02:00 |
|
Roberto Ierusalimschy
|
754c630754
|
details
|
2002-12-19 11:21:08 -02:00 |
|
Roberto Ierusalimschy
|
27c6b4d422
|
each .c file defines its own name
|
2002-12-04 15:38:31 -02:00 |
|
Roberto Ierusalimschy
|
2d2d45976c
|
separated control over C recursion level
|
2002-11-22 15:16:52 -02:00 |
|
Roberto Ierusalimschy
|
ddc144e4d2
|
keep L->ci->base in L->base for faster access
|
2002-11-21 13:16:04 -02:00 |
|
Roberto Ierusalimschy
|
d404f0c276
|
global_State must be deallocated (and so allocated) with NULL also
(otherwise it trys to decrement inside itself after its own free)
|
2002-11-21 12:14:42 -02:00 |
|
Roberto Ierusalimschy
|
be762f38bd
|
better organization of "malloc responsabilities"
|
2002-11-19 12:12:13 -02:00 |
|
Roberto Ierusalimschy
|
43013b39cc
|
new representation for hooks (to allow asynchronous calls to sethook)
|
2002-11-18 09:01:55 -02:00 |
|
Roberto Ierusalimschy
|
41fd639cab
|
documentation for write barriers
|
2002-11-14 14:15:53 -02:00 |
|
Roberto Ierusalimschy
|
2f91f95d94
|
better control over GCObjects
|
2002-11-13 09:32:26 -02:00 |
|
Roberto Ierusalimschy
|
e356a43dc0
|
C needs "union" (unlike C++)
|
2002-10-25 18:30:00 -03:00 |
|
Roberto Ierusalimschy
|
96e15b8501
|
threads now are real Lua objects, subject to garbage collection
|
2002-10-25 17:05:28 -03:00 |
|
Roberto Ierusalimschy
|
81bc5711a8
|
only one instance of registry and default metatable per global state
|
2002-10-22 14:58:14 -03:00 |
|
Roberto Ierusalimschy
|
b3d0682fb9
|
use of different buffers for scanner and concatenation
|
2002-10-08 15:46:08 -03:00 |
|
Roberto Ierusalimschy
|
fdafd4f4a8
|
new structure for collectable objects, sharing a common header
|
2002-08-30 16:09:21 -03:00 |
|
Roberto Ierusalimschy
|
ecc7769de2
|
names...
|
2002-08-16 17:00:28 -03:00 |
|
Roberto Ierusalimschy
|
5016f43aa4
|
(much) cleaner way to control function states
|
2002-08-07 16:22:39 -03:00 |
|
Roberto Ierusalimschy
|
a2fa48a570
|
new (old?) error handling scheme
|
2002-08-06 12:32:22 -03:00 |
|
Roberto Ierusalimschy
|
8b2b8790b5
|
small bug: basic `ci' must have a valid func (base - 1)
|
2002-08-05 15:45:45 -03:00 |
|
Roberto Ierusalimschy
|
4e23699aa6
|
new implementation for error handling
|
2002-08-05 14:36:24 -03:00 |
|
Roberto Ierusalimschy
|
e5146fb01f
|
CallInfo has different fields for C functions and Lua functions
|
2002-07-16 11:26:56 -03:00 |
|
Roberto Ierusalimschy
|
39b2d58c39
|
new interface for debug hooks
|
2002-07-08 15:21:33 -03:00 |
|
Roberto Ierusalimschy
|
1dbe708aa8
|
new protocol for error handling
|
2002-06-18 12:19:27 -03:00 |
|
Roberto Ierusalimschy
|
000d081fd0
|
warnings from other compilers
|
2002-06-06 15:17:33 -03:00 |
|
Roberto Ierusalimschy
|
ff91b355f4
|
no more use of stdio inside the core (except for `tostring'...)
|
2002-06-03 11:09:57 -03:00 |
|
Roberto Ierusalimschy
|
01f1ac36b1
|
`global' tables (registry, etc.) stored in proper place, not in the stack
|
2002-05-08 14:34:23 -03:00 |
|
Roberto Ierusalimschy
|
dea6b6da94
|
new function lua_vpushstr' to replace uses of sprintf'
|
2002-05-07 14:36:56 -03:00 |
|
Roberto Ierusalimschy
|
751cd867d3
|
new way to handle errors
|
2002-05-01 17:48:12 -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
|
c11d374c59
|
`panic' function configurable via API
|
2002-04-16 14:08:28 -03:00 |
|
Roberto Ierusalimschy
|
63a614e145
|
some improvements in stack control
|
2002-03-20 09:52:32 -03:00 |
|
Roberto Ierusalimschy
|
71c716e5a8
|
avoid C identifiers beginning with '_'
|
2002-03-11 09:45:00 -03:00 |
|
Roberto Ierusalimschy
|
8f837e83b2
|
using `ci->top' to control acceptable indices in C calls
|
2002-03-07 15:14:29 -03:00 |
|
Roberto Ierusalimschy
|
457d88eaaa
|
configurable minimum size for the string table
|
2002-03-05 13:22:54 -03:00 |
|
Roberto Ierusalimschy
|
b0a5e156b8
|
no more maximum stack size
|
2002-02-14 19:47:29 -02:00 |
|
Roberto Ierusalimschy
|
e01f5e6809
|
better order of record fields for 64-bit machines
|
2002-02-08 20:42:41 -02:00 |
|
Roberto Ierusalimschy
|
d6fd33e76f
|
eventtable' renamed to metatable'
|
2002-01-30 15:26:44 -02:00 |
|
Roberto Ierusalimschy
|
50e2952593
|
first version of dynamic stack
|
2002-01-25 20:14:54 -02:00 |
|
Roberto Ierusalimschy
|
d56d4cf776
|
distinct functions to create/destroy states and threads
|
2002-01-11 18:26:52 -02:00 |
|
Roberto Ierusalimschy
|
f083812c02
|
first implementation of coroutines
|
2002-01-09 20:02:47 -02:00 |
|
Roberto Ierusalimschy
|
e04f7ed450
|
first version of Lua "stackless"
|
2001-12-18 18:52:30 -02:00 |
|
Roberto Ierusalimschy
|
ed9be5e1f0
|
reentrant implementation of garbage collection
|
2001-12-11 14:52:57 -02:00 |
|
Roberto Ierusalimschy
|
e043b72a55
|
simpler way to collect userdata
|
2001-12-10 20:11:23 -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
|
617008f552
|
field G renamed to _G to avoid problemas with bugged macro-systems
(there is a macro named G too)
|
2001-11-06 19:40:51 -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
|
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
|
d8f37bf42a
|
weakregistry has its keys weak, too
|
2001-07-17 14:54:46 -03:00 |
|
Roberto Ierusalimschy
|
777061e441
|
resurect userdata before calling its GC tag method
|
2001-06-21 13:41:34 -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
|
d5b83ead90
|
new implementation for userdatas, without `keys'
|
2001-06-06 15:00:19 -03:00 |
|
Roberto Ierusalimschy
|
beee01b170
|
re-implementation of refs through weak tables
|
2001-04-17 14:35:54 -03:00 |
|
Roberto Ierusalimschy
|
dd3a63c205
|
new way to handle `profiles'
|
2001-03-26 11:31:49 -03:00 |
|
Roberto Ierusalimschy
|
cb49b088b6
|
old signature for lua_open
|
2001-03-09 15:05:05 -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
|
426d3e43bd
|
lock/unlock may use L + better structure for internal debug stuff
|
2001-02-02 13:13:05 -02:00 |
|
Roberto Ierusalimschy
|
bce6572579
|
new macros + new names to facilitate compilation of threaded version
|
2001-01-26 09:45:51 -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
|
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
|
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
|
37e9c2e744
|
macro DEBUG renamed to LUA_DEBUG
|
2000-10-30 14:29:59 -02:00 |
|
Roberto Ierusalimschy
|
b892f0a877
|
new API function `createuserdata'
|
2000-10-26 10:47:05 -02:00 |
|
Roberto Ierusalimschy
|
cdc8139e29
|
registry mechanism
|
2000-10-24 17:12:06 -02:00 |
|
Roberto Ierusalimschy
|
64eecc0b82
|
new macro LUA_API
|
2000-10-20 14:39:03 -02:00 |
|
Roberto Ierusalimschy
|
cd3d446957
|
detail
|
2000-10-06 16:28:47 -03: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
|
dad808a73a
|
new way to count `nblocks' for GC (try to count bytes).
|
2000-09-29 09:42:13 -03:00 |
|
Roberto Ierusalimschy
|
13635f7de7
|
new version of protected execution
|
2000-09-25 13:22:42 -03:00 |
|
Roberto Ierusalimschy
|
dbde9f8817
|
wrong assert
|
2000-09-21 11:41:25 -03:00 |
|
Roberto Ierusalimschy
|
0b3b6850c9
|
`back-up' definition for ERRORMESSAGE
|
2000-09-12 15:42:32 -03:00 |
|
Roberto Ierusalimschy
|
30f6e658d2
|
lua_newstate' renamed to lua_open'
|
2000-09-11 16:42:57 -03:00 |
|
Roberto Ierusalimschy
|
787a78f83e
|
new scheme for buffers
|
2000-09-11 14:38:42 -03:00 |
|
Roberto Ierusalimschy
|
6e80c1cde1
|
new version for API
|
2000-09-05 16:33:32 -03:00 |
|
Roberto Ierusalimschy
|
1022b3c85e
|
minimum size for stack
|
2000-08-31 10:30:39 -03:00 |
|
Roberto Ierusalimschy
|
9fdf73bc9a
|
first version for new API
|
2000-08-28 14:57:04 -03:00 |
|
Roberto Ierusalimschy
|
f555e493f0
|
lua_state may not exist
|
2000-08-14 14:46:07 -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
|
435f587ed0
|
(much) better handling of memory alloction errors
|
2000-08-04 16:38:35 -03:00 |
|
Roberto Ierusalimschy
|
ae55f3eead
|
no varargs in Lua API
|
2000-06-30 16:17:08 -03:00 |
|
Roberto Ierusalimschy
|
cfba572076
|
remove dummy argument in LUA_ASSERT
|
2000-06-30 11:35:17 -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
|
11a7022067
|
global variables are stored in a Lua table
|
2000-05-08 16:32:53 -03:00 |
|
Roberto Ierusalimschy
|
36e1390631
|
details.
|
2000-03-31 13:28:45 -03:00 |
|
Roberto Ierusalimschy
|
eab57ed6fd
|
details
|
2000-01-13 14:30:47 -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
|
9c142740c1
|
stack may not be empty after a correct run...
|
1999-12-07 09:42:54 -02:00 |
|
Roberto Ierusalimschy
|
617be66015
|
better control (and error recovery) for begin/end blocks
|
1999-12-06 10:03:45 -02:00 |
|
Roberto Ierusalimschy
|
968ad49da6
|
`lua_newstate' gets the inital stack size and other arguments
|
1999-12-06 09:41:28 -02:00 |
|
Roberto Ierusalimschy
|
fe237ad808
|
fixed stack; first version.
|
1999-12-01 17:50:08 -02:00 |
|
Roberto Ierusalimschy
|
2b3ea61342
|
mistake in change for multi-state (gc threshold was not corrected)
|
1999-11-29 17:12:07 -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
|
b6ebbb2fee
|
better assertions.
|
1999-10-14 15:53:35 -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
|
c787dccd9b
|
"const" !!!
|
1999-08-16 17:52:00 -03:00 |
|
Roberto Ierusalimschy
|
705eae9fe4
|
there is no need for a size for Cblocks
|
1999-05-11 17:08:20 -03:00 |
|
Roberto Ierusalimschy
|
6eb1399a1c
|
array Cblocks should grow dynamically
|
1999-05-11 11:19:32 -03:00 |
|
Roberto Ierusalimschy
|
cb7f027380
|
IMtable must be initialized (and IMtable_size is not needed any more) due
to new way to handle growing vectors (previous modification).
|
1999-04-13 16:30:51 -03:00 |
|
Roberto Ierusalimschy
|
055823c04d
|
"L->Mbuffbase" is better kept as offset instead of pointer
|
1999-02-25 12:17:01 -03:00 |
|
Roberto Ierusalimschy
|
5687949560
|
"lua_debug", "lua_callhook" and "lua_linehook" must be inside "lua_state".
|
1999-02-04 15:47:59 -02:00 |
|
Roberto Ierusalimschy
|
54840fb256
|
new functions to manipulate C global variables
|
1999-01-15 11:11:22 -02:00 |
|
Roberto Ierusalimschy
|
02a6891939
|
API for functions to manipulate global state.
|
1998-06-02 17:37:04 -03:00 |
|
Roberto Ierusalimschy
|
502343b402
|
new scheme for buffers, centralized in auxlib.
|
1997-12-17 18:48:58 -02:00 |
|
Roberto Ierusalimschy
|
034f16892e
|
better treatment of MARKs and DEBUG cases.
|
1997-12-11 12:48:46 -02:00 |
|