Roberto Ierusalimschy
|
fd80e63468
|
configuration for NaN trick big-endian + macro 'luai_checknum' to
ensure numbers comming from C are not "improper" (some kinds of
signaling NaNs)
|
2011-06-13 11:13:06 -03:00 |
|
Roberto Ierusalimschy
|
3b44821334
|
stricter control (using tag variants) over closure kinds (Lua x C)
|
2011-06-02 16:31:40 -03:00 |
|
Roberto Ierusalimschy
|
821bd7025e
|
more uniform names for 'equalobj'-related functions
|
2011-05-31 15:27:56 -03:00 |
|
Roberto Ierusalimschy
|
9b7dddad7d
|
no need for two different implementations for equality (one raw and
one with metamethods)
|
2011-05-31 15:24:36 -03:00 |
|
Roberto Ierusalimschy
|
119d5e46d5
|
lua_arith gets no fake operand for unary minus
|
2011-04-05 11:26:23 -03:00 |
|
Roberto Ierusalimschy
|
868ff40339
|
full collection does not restart collector + avoid changing GC
state if an error happens in a step
|
2010-12-29 16:00:23 -02:00 |
|
Roberto Ierusalimschy
|
551b076f1c
|
change in the relationship between totalbytes and GCdebt - luaM_realloc_
is too critical to update two counters
|
2010-12-20 17:40:07 -02:00 |
|
Roberto Ierusalimschy
|
737f119187
|
better control for GC running or stopped
|
2010-12-20 16:17:46 -02:00 |
|
Roberto Ierusalimschy
|
9b7a12c46d
|
finalizers (__gc) for tables
|
2010-11-26 12:32:31 -02:00 |
|
Roberto Ierusalimschy
|
f1629217f1
|
code for conversion macros moved from luaconf to llimits + 'uint'
renamed to 'unsigned' in those macros
|
2010-11-03 13:16:17 -02:00 |
|
Roberto Ierusalimschy
|
c6b64ffe65
|
new type lua_Unsigned and corresponding projection/injection functions
|
2010-10-25 18:31:11 -02:00 |
|
Roberto Ierusalimschy
|
4590a89b32
|
corrected warnings from different compilers (mostly casts and small
details)
|
2010-10-25 17:01:37 -02:00 |
|
Roberto Ierusalimschy
|
e3eabcf913
|
'lua_[gs]etupvalue' may work even without debug information
(that is, without upvalue names)
|
2010-09-07 16:35:04 -03:00 |
|
Roberto Ierusalimschy
|
0df2238063
|
name "_ENV" configurable through 'luaconf.h'
|
2010-09-07 16:21:39 -03:00 |
|
Roberto Ierusalimschy
|
6828f6d427
|
new parameter 'majorinc' to control frequency of major collections
in generational mode
|
2010-09-03 11:14:01 -03:00 |
|
Roberto Ierusalimschy
|
5e7dbd0b8b
|
api checks to ensure that thread is OK when using lua_call/lua_pcall
|
2010-08-04 15:40:28 -03:00 |
|
Roberto Ierusalimschy
|
8b7cf8c62d
|
'lua_[gs]etenv' -> 'lua_[gs]etuservalue'
|
2010-07-25 12:18:19 -03:00 |
|
Roberto Ierusalimschy
|
a9dc7c8828
|
functions lua_tonumber/lua_tointeger replaced by lua_tonumberx/lua_tointegerx
that have an extra out parameter with conversion status
|
2010-07-02 14:35:06 -03:00 |
|
Roberto Ierusalimschy
|
3819c30e55
|
better names for barrier macros
|
2010-06-04 10:05:29 -03:00 |
|
Roberto Ierusalimschy
|
bd619b9311
|
new macro MAXUPVAL (maximum number of upvalues per closure)
|
2010-05-31 13:08:55 -03:00 |
|
Roberto Ierusalimschy
|
4a925c1552
|
in 'absindex', do not need to call gettop (can inline it)
|
2010-05-14 10:15:26 -03:00 |
|
Roberto Ierusalimschy
|
e924a7f9ea
|
new API function 'lua_absindex'
|
2010-05-12 11:09:20 -03:00 |
|
Roberto Ierusalimschy
|
8e1bdda66a
|
stupid bug when calling 'luaC_changemode' (in function lua_gc)
|
2010-05-07 15:10:01 -03:00 |
|
Roberto Ierusalimschy
|
d77898597e
|
new function 'luaC_changemode'
|
2010-05-05 15:53:41 -03:00 |
|
Roberto Ierusalimschy
|
3eb1788bb4
|
new way to control GC speed (keeping a 'debt' counter)
|
2010-04-29 14:31:31 -03:00 |
|
Roberto Ierusalimschy
|
ed720d09f3
|
upvalue barriers for Lua functions must act on the upvalue itself,
not on its closure
|
2010-04-20 17:14:50 -03:00 |
|
Roberto Ierusalimschy
|
1bb407e494
|
in lua_gc/step, 'luaC_step' changes GCthreshold, so there was little
control over the real step size.
|
2010-04-19 13:33:19 -03:00 |
|
Roberto Ierusalimschy
|
53f9499f7f
|
"light C function" is a better name than "C-function pointer"
|
2010-04-18 10:22:48 -03:00 |
|
Roberto Ierusalimschy
|
7dfa4cd655
|
first implementation of light C functions
|
2010-04-14 12:13:48 -03:00 |
|
Roberto Ierusalimschy
|
a2f98314a3
|
'lua_pushstring' now uses 'luaS_new'
|
2010-04-05 11:21:38 -03:00 |
|
Roberto Ierusalimschy
|
11126422d9
|
option to return GC to normal (incremental, non generational) mode
|
2010-04-02 12:19:19 -03:00 |
|
Roberto Ierusalimschy
|
a8d3aa14fd
|
global table now is only kept in the registry
|
2010-03-29 14:43:14 -03:00 |
|
Roberto Ierusalimschy
|
064e406f67
|
no more fenvs!
|
2010-03-26 17:58:11 -03:00 |
|
Roberto Ierusalimschy
|
5c87f61e6b
|
major collections in generational mode
|
2010-03-25 16:37:23 -03:00 |
|
Roberto Ierusalimschy
|
74123e9686
|
draft version of a generational mode for garbage collection. (Not well
tested; no major collections; ...)
|
2010-03-22 15:28:03 -03:00 |
|
Roberto Ierusalimschy
|
1124cb1247
|
first step towards _ENV: all chunks have an puvalues _ENV with the
global table
|
2010-03-08 13:55:52 -03:00 |
|
Roberto Ierusalimschy
|
c8ff7de7f0
|
field 'oldtop' renamed to 'extra', as it can be used for other
purposes
|
2010-02-09 09:55:37 -02:00 |
|
Roberto Ierusalimschy
|
4f5f2fe367
|
new function 'luaL_cpcall'
|
2010-01-21 14:49:21 -02:00 |
|
Roberto Ierusalimschy
|
070d3743a7
|
"no value" added to array luaT_typenames + occurrences of "userdata"
in that array unified in a single address
|
2010-01-13 14:18:25 -02:00 |
|
Roberto Ierusalimschy
|
cef96b73e1
|
added casts from int to enumerations to follow C++ rules
|
2010-01-11 15:38:30 -02:00 |
|
Roberto Ierusalimschy
|
f75be1cb28
|
removed parentheses around some function names in their definitions
|
2010-01-08 13:16:56 -02:00 |
|
Roberto Ierusalimschy
|
cec25167d1
|
new api_check that 'pcallk' cannot be called inside hooks
|
2010-01-04 16:17:51 -02:00 |
|
Roberto Ierusalimschy
|
cb3f95d516
|
'lua_cpcall' is deprecated
|
2009-12-22 14:47:00 -02:00 |
|
Roberto Ierusalimschy
|
f84b575cfa
|
no more pseudoindex LUA_GLOBALSINDEX; global table now accessible
through registry
|
2009-12-22 13:32:50 -02:00 |
|
Roberto Ierusalimschy
|
c3a6f3fa1c
|
'lua_objlen' replaced by 'lua_rawlen', 'lua_len', and 'luaL_len'
|
2009-12-17 14:20:01 -02:00 |
|
Roberto Ierusalimschy
|
9fbe0690fb
|
base-level C use global table as its environment
|
2009-12-15 09:25:36 -02:00 |
|
Roberto Ierusalimschy
|
ed117bb42a
|
lua_checkstack does not raise memory errors (instead it signals them)
|
2009-12-08 14:15:43 -02:00 |
|
Roberto Ierusalimschy
|
86312e1a7d
|
lua_objlen calls __len metamethod on tables (if present)
|
2009-12-07 13:49:47 -02:00 |
|
Roberto Ierusalimschy
|
3e41afcec5
|
extra api checks for number of returns of C functions and for lua_yield
|
2009-11-27 13:37:59 -02:00 |
|
Roberto Ierusalimschy
|
7fe405739c
|
renaming: 'lua_upvaladdr' -> 'lua_upvalueid',
'lua_upvaljoin' -> 'lua_upvaluejoin'
|
2009-11-09 17:10:48 -02:00 |
|
Roberto Ierusalimschy
|
1ce819333d
|
new option 'isrunning' for 'lua_gc' (and 'collectgarbage')
|
2009-11-09 16:55:17 -02:00 |
|
Roberto Ierusalimschy
|
88eb901f81
|
registry and global table may be changed through the API without a
write barrier, so GC should visit them in the atomic phase.
|
2009-11-09 16:29:21 -02:00 |
|
Roberto Ierusalimschy
|
599789a907
|
better to enclose macros in 'if' bodies with brackets
|
2009-11-06 15:03:37 -02:00 |
|
Roberto Ierusalimschy
|
b7d5f18d71
|
api functions to manipulate upvalues do not need to check their
arguments (the caller must check them before calling)
|
2009-11-05 15:26:00 -02:00 |
|
Roberto Ierusalimschy
|
5598b2bc55
|
new functions to identify and join upvalues
|
2009-11-05 14:48:31 -02:00 |
|
Roberto Ierusalimschy
|
5bc91c6405
|
no more one environment per thread: all threads share a single global
environment
|
2009-10-23 17:12:19 -02:00 |
|
Roberto Ierusalimschy
|
a5382b763c
|
new function lua_copy
|
2009-10-05 13:44:33 -03:00 |
|
Roberto Ierusalimschy
|
5938212748
|
information about upvalues (where they come from) kept in Proto structure,
instead of sequence of pseudo-opcodes after OP_CLOSURE
|
2009-09-28 13:32:50 -03:00 |
|
Roberto Ierusalimschy
|
a650378822
|
'cpcall' reimplemented as a predefined value in the registry
|
2009-09-21 09:09:52 -03:00 |
|
Roberto Ierusalimschy
|
67cae2854c
|
'lua_mainthread' replaced by new preregistered value LUA_RIDX_MAINTHREAD
|
2009-09-17 15:04:21 -03:00 |
|
Roberto Ierusalimschy
|
4a714cebd1
|
API checks now have explanatory messages
|
2009-08-31 11:26:28 -03:00 |
|
Roberto Ierusalimschy
|
3135a6bbab
|
luaH_[gs]etnum renamed to luaH_[gs]etint (as they only accept integers,
not generic numbers)
|
2009-08-07 13:17:41 -03:00 |
|
Roberto Ierusalimschy
|
bd5fa9cc8f
|
new macro 'getproto'
|
2009-07-15 15:37:19 -03:00 |
|
Roberto Ierusalimschy
|
215885768c
|
'index2adr' -> 'index2addr' (correct spelling)
|
2009-07-15 14:57:03 -03:00 |
|
Roberto Ierusalimschy
|
f76f4cb79d
|
new way to control stack overflow, controling only total size of the stack
|
2009-07-15 14:26:14 -03:00 |
|
Roberto Ierusalimschy
|
02504d86d3
|
l_version may be local to 'lua_version'
|
2009-06-19 11:21:23 -03:00 |
|
Roberto Ierusalimschy
|
1d6ebce296
|
new function 'lua_version' (so that 'checkversion' can be implemented
in the auxiliary library)
|
2009-06-18 15:59:18 -03:00 |
|
Roberto Ierusalimschy
|
c1de1fdac6
|
small optimization in 'lua_arith' (avoids overhead in the common case
of both arguments being numbers)
|
2009-06-18 13:36:40 -03:00 |
|
Roberto Ierusalimschy
|
14115170bc
|
lua_objlen should not work for numbers (according to the manual)
|
2009-06-17 15:38:54 -03:00 |
|
Roberto Ierusalimschy
|
6980cb1aa7
|
new functions 'lua_arith' and 'lua_compare'
|
2009-06-17 14:53:14 -03:00 |
|
Roberto Ierusalimschy
|
a21c89ddc8
|
new API function 'lua_mainthread'
|
2009-06-15 16:51:31 -03:00 |
|
Roberto Ierusalimschy
|
9423e22aa3
|
no more L->base + ci->base only for Lua functions (C functions may use
'func')
|
2009-06-01 16:09:26 -03:00 |
|
Roberto Ierusalimschy
|
57f8414de1
|
small bug in 'luaV_concat' (L->top was left incorrect in some cases)
|
2009-05-27 14:11:27 -03:00 |
|
Roberto Ierusalimschy
|
d3037d97ec
|
several small improvements based on 'ci' being fixed now (including
erasing savedpc from lua_State)
|
2009-04-17 19:00:01 -03:00 |
|
Roberto Ierusalimschy
|
4f88418170
|
'CallInfo' stack implemented as double-linked list instead of an array
|
2009-04-17 11:28:06 -03:00 |
|
Roberto Ierusalimschy
|
70a63fa5ad
|
first implementation of yieldable 'pcall'
|
2009-04-08 15:04:33 -03:00 |
|
Roberto Ierusalimschy
|
4e43741943
|
in 'lua_call', avoid preparing a continuation when thread cannot yield.
|
2009-03-30 15:39:20 -03:00 |
|
Roberto Ierusalimschy
|
6d0ae11c57
|
'context' added to suspendable calls
|
2009-03-23 11:26:12 -03:00 |
|
Roberto Ierusalimschy
|
ba484b9eb1
|
yielding across lua_call (first version)
|
2009-03-10 14:14:37 -03:00 |
|
Roberto Ierusalimschy
|
0cea28a785
|
better error messages for 'lua_checkversion'
|
2009-02-19 14:15:13 -03:00 |
|
Roberto Ierusalimschy
|
d2ebdc045b
|
new macro 'lua_checkversion' to check whether core and application are
compatible
|
2009-02-18 14:20:56 -03:00 |
|
Roberto Ierusalimschy
|
e23da9edee
|
GC step does not unblock collector (when it is blocked by "stop")
|
2008-08-01 14:01:16 -03:00 |
|
Roberto Ierusalimschy
|
5298392c5a
|
bug: GC step could loop forever under very particular circumstances
|
2008-07-04 15:27:11 -03:00 |
|
Roberto Ierusalimschy
|
e2b366c760
|
userdata with finalizers are kept in a separated list
|
2008-02-19 15:55:09 -03:00 |
|
Roberto Ierusalimschy
|
6d182faab6
|
bug: lua_checkstack may have arithmetic overflow for large 'size'
|
2008-02-14 14:02:58 -02:00 |
|
Roberto Ierusalimschy
|
3deb38814d
|
added assertions checking maximum number of upvalues
|
2008-02-12 11:34:12 -02:00 |
|
Roberto Ierusalimschy
|
dd3519ab89
|
comment (LUA_GLOBALSINDEX does not need write barrier in lua_replace)
|
2008-01-25 11:42:12 -02:00 |
|
Roberto Ierusalimschy
|
abcc124df0
|
BUG: lua_setfenv may crash if called over an invalid object
|
2007-11-28 16:27:38 -02:00 |
|
Roberto Ierusalimschy
|
72c2f75648
|
detail (LUA_COPYRIGHT includes release number)
|
2007-08-07 13:53:40 -03:00 |
|
Roberto Ierusalimschy
|
619be354c8
|
lua_pushstring/pushlstring return string
|
2007-04-17 10:19:53 -03:00 |
|
Roberto Ierusalimschy
|
3d480b04a5
|
more specific ident labels
|
2007-02-07 12:28:00 -02:00 |
|
Roberto Ierusalimschy
|
80a267b130
|
avoid $URL for ident; it is reserved in subversion
|
2006-10-17 17:00:07 -03:00 |
|
Roberto Ierusalimschy
|
a7c9e45c64
|
avoid trailing white spaces
|
2006-09-11 11:07:24 -03:00 |
|
Roberto Ierusalimschy
|
3ca9af51a4
|
emergency garbage collector (core forces a GC when allocation fails)
|
2006-07-11 12:53:29 -03:00 |
|
Roberto Ierusalimschy
|
fad7582c9a
|
explicit test for common error (due to compatibility issue)
|
2006-06-07 09:37:17 -03:00 |
|
Roberto Ierusalimschy
|
475b0ecbf1
|
new macro LUA_RELEASE
|
2006-06-02 12:34:00 -03:00 |
|
Roberto Ierusalimschy
|
dd1221582b
|
details
|
2006-01-10 10:50:00 -02:00 |
|
Roberto Ierusalimschy
|
c505f341d6
|
small changes in casts
|
2005-12-22 14:19:56 -02:00 |
|
Roberto Ierusalimschy
|
9f4211310f
|
more precision for gc count
|
2005-10-20 09:35:50 -02:00 |
|
Roberto Ierusalimschy
|
d8f1cca16e
|
new function 'lua_setallocf'
|
2005-09-20 14:55:10 -03:00 |
|
Roberto Ierusalimschy
|
38f585d271
|
separated macros for thread creation and state creation
|
2005-09-14 14:44:48 -03:00 |
|
Roberto Ierusalimschy
|
c3cc4de3fd
|
small bug (zero is not error code)
|
2005-09-01 14:42:22 -03:00 |
|
Roberto Ierusalimschy
|
98296f6b45
|
some bugs related to stack reallocation
|
2005-08-24 13:15:49 -03:00 |
|
Roberto Ierusalimschy
|
1a343814d8
|
details
|
2005-07-31 14:12:32 -03:00 |
|
Roberto Ierusalimschy
|
b3f7a43019
|
lua_setfenv/lua_getfenv should also manipulate threads
|
2005-07-06 15:07:30 -03:00 |
|
Roberto Ierusalimschy
|
ee1edd5734
|
detail
|
2005-07-05 11:31:20 -03:00 |
|
Roberto Ierusalimschy
|
d628795940
|
lua_objsize -> lua_objlen (more compatible with use of `len´ in other
places [opcode name, metamethod index, etc.])
|
2005-05-31 11:34:02 -03:00 |
|
Roberto Ierusalimschy
|
90de38bf1f
|
warnings in VS .Net
|
2005-05-31 11:25:18 -03:00 |
|
Roberto Ierusalimschy
|
67578ec51f
|
several small details
|
2005-05-17 16:49:15 -03:00 |
|
Roberto Ierusalimschy
|
da32450c3d
|
new API function `lua_tolstring'
|
2005-05-16 16:21:11 -03:00 |
|
Roberto Ierusalimschy
|
6cf85dcc90
|
metatables for all types
|
2005-05-05 12:34:03 -03:00 |
|
Roberto Ierusalimschy
|
71eb824036
|
details
|
2005-04-05 12:35:15 -03:00 |
|
Roberto Ierusalimschy
|
0316308c0d
|
removed dirt optimizations that gave small gains
|
2005-04-04 15:12:51 -03:00 |
|
Roberto Ierusalimschy
|
390256edf7
|
better name for GC pause
|
2005-03-22 13:04:29 -03:00 |
|
Roberto Ierusalimschy
|
ad24cff0f1
|
lua_gc(STEP) returns whether collection cycle finished
|
2005-03-21 15:12:21 -03:00 |
|
Roberto Ierusalimschy
|
f41fc0eb0e
|
small bug: a GC step was not proportional to its "size"
|
2005-03-18 17:11:28 -03:00 |
|
Roberto Ierusalimschy
|
d872090248
|
small errors in previous `ci' of luaconf.h.
|
2005-03-18 15:55:45 -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
|
d55bb795fa
|
details
|
2005-02-23 14:30:22 -03:00 |
|
Roberto Ierusalimschy
|
7d45a5f48f
|
C functions and userdata also have environments
|
2005-02-18 10:40:02 -02:00 |
|
Roberto Ierusalimschy
|
5be517602e
|
no more generational collector (and no more `noinc' mode)
|
2005-01-14 12:19:42 -02:00 |
|
Roberto Ierusalimschy
|
071b2ae0e1
|
details
|
2005-01-07 17:53:32 -02:00 |
|
Roberto Ierusalimschy
|
65726f3e2e
|
cleaner interface to `ltable'
|
2005-01-04 13:55:12 -02:00 |
|
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
|
c78940f21a
|
static names do not need `luaX_' prefix
|
2004-12-03 18:50:25 -02:00 |
|
Roberto Ierusalimschy
|
2f82bf6fe9
|
better support for 64-bit machines
|
2004-11-24 16:55:56 -02:00 |
|
Roberto Ierusalimschy
|
2419f2bf02
|
cleaner API for coroutines
|
2004-09-15 17:39:42 -03:00 |
|
Roberto Ierusalimschy
|
0b06241483
|
better control for GC cycles
|
2004-08-30 10:44:44 -03:00 |
|
Roberto Ierusalimschy
|
271e05917f
|
bug: lua_getupvalue and setupvalue do not check for index too small.
|
2004-08-17 14:45:45 -03:00 |
|
Roberto Ierusalimschy
|
a7c74c06b9
|
small bug: lua_gc(count) was falling through to next option
|
2004-08-12 14:02:51 -03:00 |
|
Roberto Ierusalimschy
|
26ae992129
|
less conservative write barrier for tables
|
2004-08-10 16:17:23 -03:00 |
|
Roberto Ierusalimschy
|
eab1965c05
|
bug: `lua_setfenv' needs a write barrier
|
2004-07-09 11:20:22 -03:00 |
|
Roberto Ierusalimschy
|
96917ff42a
|
"step" option in lua_gc also need to lock Lua.
|
2004-06-30 11:15:23 -03:00 |
|
Roberto Ierusalimschy
|
75057dfced
|
|
2004-06-08 11:31:00 -03:00 |
|
Roberto Ierusalimschy
|
345379b5ff
|
option for garbage-collector `step'
|
2004-06-04 12:30:53 -03:00 |
|
Roberto Ierusalimschy
|
0dfd04eb60
|
lua_strlen' upgraded to lua_objsize' (which also works with userdata)
|
2004-05-31 16:41:52 -03:00 |
|
Roberto Ierusalimschy
|
0bda88e6cd
|
small steps towards yields in iterators and tag methods
|
2004-05-14 16:25:09 -03:00 |
|
Roberto Ierusalimschy
|
7966a4acae
|
avoid name clashes among different files
|
2004-05-11 13:52:08 -03:00 |
|
Roberto Ierusalimschy
|
b4cd38ba6c
|
new scheme for configuration through `luaconf.h'
|
2004-04-30 17:13:38 -03:00 |
|
Roberto Ierusalimschy
|
079facab40
|
ensures own top is corrected after calling function with multiple results
|
2004-04-05 11:43:17 -03:00 |
|
Roberto Ierusalimschy
|
21bc05c920
|
write barrier for C upvalues
|
2004-03-23 14:07:34 -03:00 |
|
Roberto Ierusalimschy
|
b876ec61c0
|
new (temporary?) API for garbage collector
|
2004-03-09 14:34:35 -03:00 |
|
Roberto Ierusalimschy
|
898e8a6794
|
added include to stdarg.h (as it uses vararg facilities)
|
2004-02-20 13:01:05 -03:00 |
|
Roberto Ierusalimschy
|
b3ce450529
|
avoid calling `memcmp' with a NULL argument
|
2004-01-15 10:40:26 -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
|
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
|
c51bcf4796
|
it's ok to dump functions with upvalues
|
2003-10-20 15:42:41 -02:00 |
|
Roberto Ierusalimschy
|
03bab90303
|
new function `lua_getallocf' to retrieve allocation function and data
|
2003-10-20 10:25:23 -02:00 |
|
Roberto Ierusalimschy
|
10de467c79
|
new function `lua_createtable'
|
2003-10-10 10:29:28 -03:00 |
|
Roberto Ierusalimschy
|
533737f26e
|
new functions lua_getfield' and lua_setfield'
|
2003-10-10 09:57:55 -03:00 |
|
Roberto Ierusalimschy
|
f04fe526cd
|
new functions `lua_tointeger' and lua_pushinteger'
|
2003-10-07 17:13:41 -03:00 |
|
Roberto Ierusalimschy
|
8332d5c8a5
|
parser fully reentrant(!)
|
2003-08-27 18:01:44 -03:00 |
|
Roberto Ierusalimschy
|
4b2e71ddb6
|
ZIO passes Lua state to chunk reader
|
2003-08-25 17:00:50 -03:00 |
|
Roberto Ierusalimschy
|
9fcc485176
|
zio does not keep "source" name (nobody uses it)
|
2003-08-25 16:51:54 -03:00 |
|
Roberto Ierusalimschy
|
433cb1d13a
|
no more checks for non-default compilation options + luaU_dump has
new option to strip debug info
|
2003-08-15 10:48:53 -03:00 |
|
Roberto Ierusalimschy
|
a73ded2153
|
Move nothing when there is nothing to move
|
2003-07-07 10:34:25 -03:00 |
|
Roberto Ierusalimschy
|
dae99205cf
|
no more compatibility code
|
2003-05-14 18:06:56 -03:00 |
|
Roberto Ierusalimschy
|
f966404ed6
|
simpler implementation for valid/acceptable indices
|
2003-05-09 17:16:54 -03:00 |
|
Roberto Ierusalimschy
|
fee9e473f2
|
inlining of `luaV_gettable' were too complex (dirty)
|
2003-05-05 15:39:57 -03:00 |
|
Roberto Ierusalimschy
|
f1f8f0ca22
|
simpler way to check maximum gc threshold
|
2003-04-28 16:58:06 -03:00 |
|
Roberto Ierusalimschy
|
d1df829f8d
|
lua_getmetatable must accept any acceptable index
|
2003-04-07 11:36:08 -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
|
c9ea94ec92
|
out-of-bound upvalues (in C) are acceptable indices
|
2003-03-14 15:59:21 -03:00 |
|
Roberto Ierusalimschy
|
e1a424e8a3
|
avoid the identifier index' (clashes with BSD index' function)
|
2003-02-27 09:33:07 -03:00 |
|
Roberto Ierusalimschy
|
5cd99b82b7
|
set/getenvtable' -> set/getfenv'
|
2003-02-24 13:54:20 -03:00 |
|
Roberto Ierusalimschy
|
67f9a2a98f
|
details
|
2003-02-20 17:12:39 -03:00 |
|
Roberto Ierusalimschy
|
9866fb0ef1
|
set/getglobals' -> set/getenvtable'
|
2003-02-18 13:13:15 -03:00 |
|
Roberto Ierusalimschy
|
7a40cdbda0
|
different variables for number of upvalues and size of upvalue array
(makes code clearer)
|
2003-02-11 08:46:24 -02:00 |
|
Roberto Ierusalimschy
|
dd8edecae1
|
new functions to manipulate upvales (get/setupvalue)
|
2002-12-19 09:11:55 -02:00 |
|
Roberto Ierusalimschy
|
27c6b4d422
|
each .c file defines its own name
|
2002-12-04 15:38:31 -02:00 |
|
Roberto Ierusalimschy
|
0bb8eb5151
|
new function `lua_cpcall'
|
2002-12-04 15:29:32 -02:00 |
|
Roberto Ierusalimschy
|
5a228bb1d8
|
new function `lua_version'
|
2002-11-25 15:50:14 -02:00 |
|
Roberto Ierusalimschy
|
709b27b456
|
ULONG_MAX>>10 may not fit into an int
|
2002-11-25 09:16:48 -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
|
1648674653
|
must check GC every time it can create new objects
|
2002-11-21 12:16:52 -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
|
63633c5b5f
|
better name for `lua_movethread'
|
2002-11-07 13:39:23 -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
|
118347d8c3
|
new API for coroutines
|
2002-11-06 17:08:00 -02:00 |
|
Roberto Ierusalimschy
|
118e9cd843
|
new facility for dumping chunks
|
2002-10-25 18:31:28 -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
|
ce09af1e25
|
easier to define api_check' using assert'
|
2002-09-20 14:01:24 -03:00 |
|
Roberto Ierusalimschy
|
fdafd4f4a8
|
new structure for collectable objects, sharing a common header
|
2002-08-30 16:09:21 -03:00 |
|
Roberto Ierusalimschy
|
9998082839
|
external messages add their own extra information
|
2002-08-08 17:08:41 -03:00 |
|
Roberto Ierusalimschy
|
b6e2f1a86e
|
small bugs when stack is reallocated
|
2002-08-07 11:24:24 -03:00 |
|
Roberto Ierusalimschy
|
4664f2e927
|
any Lua closure has a table of globals (not only active functions)
|
2002-08-06 15:54:18 -03:00 |
|
Roberto Ierusalimschy
|
634344d61f
|
new API for weak mode
|
2002-08-06 14:06:56 -03:00 |
|
Roberto Ierusalimschy
|
a2fa48a570
|
new (old?) error handling scheme
|
2002-08-06 12:32:22 -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
|
f67ccfbdeb
|
no more `lua_getn' function
|
2002-06-26 16:28:44 -03:00 |
|
Roberto Ierusalimschy
|
88607acc2c
|
details
|
2002-06-26 13:37:23 -03:00 |
|
Roberto Ierusalimschy
|
e34f282365
|
`luaV_gettable' returns element position
|
2002-06-24 10:08:45 -03:00 |
|
Roberto Ierusalimschy
|
3941af53ad
|
first implementation of independent global table per function
|
2002-06-20 17:41:46 -03:00 |
|
Roberto Ierusalimschy
|
1dbe708aa8
|
new protocol for error handling
|
2002-06-18 12:19:27 -03:00 |
|
Roberto Ierusalimschy
|
eb3de8768a
|
rawcall' -> upcall' (unprotected call)
|
2002-06-13 10:44:50 -03:00 |
|
Roberto Ierusalimschy
|
864c96f36c
|
new fallback for equality `__eq'
|
2002-06-13 10:39:55 -03:00 |
|
Roberto Ierusalimschy
|
eeab473fc8
|
new fallback __le (less equal), for partial order
|
2002-06-12 11:56:22 -03:00 |
|
Roberto Ierusalimschy
|
16f4723398
|
names & names
|
2002-06-06 09:40:22 -03:00 |
|
Roberto Ierusalimschy
|
0079e0f57c
|
core tests whether file is binary
|
2002-06-03 17:11:07 -03:00 |
|
Roberto Ierusalimschy
|
35a22ed1ab
|
lua_load* replaced by a simple lua_load
|
2002-06-03 14:46:34 -03:00 |
|
Roberto Ierusalimschy
|
46c471d7e9
|
new `__newindex' eventfield
|
2002-05-27 17:35:40 -03:00 |
|
Roberto Ierusalimschy
|
955def0348
|
new names for string formating functions
|
2002-05-16 15:39:46 -03:00 |
|
Roberto Ierusalimschy
|
b7a0503c1d
|
new format for error messages
|
2002-05-15 15:57:44 -03:00 |
|
Roberto Ierusalimschy
|
dea6b6da94
|
new function lua_vpushstr' to replace uses of sprintf'
|
2002-05-07 14:36:56 -03:00 |
|
Roberto Ierusalimschy
|
71144e3ff0
|
errors `return' int, to avoid warnings
+ home-made `sprintf' (first version)
|
2002-05-06 16:05:10 -03:00 |
|
Roberto Ierusalimschy
|
0dbf0c5953
|
new format for test intructions (handle NaN correctly)
|
2002-05-06 12:51:41 -03:00 |
|
Roberto Ierusalimschy
|
3c6a383d62
|
avoid limits in filename size
|
2002-05-02 13:55:55 -03:00 |
|
Roberto Ierusalimschy
|
751cd867d3
|
new way to handle errors
|
2002-05-01 17:48:12 -03:00 |
|
Roberto Ierusalimschy
|
ee4859b3e3
|
new way to handle errors (temporary version)
|
2002-04-22 11:40:50 -03:00 |
|
Roberto Ierusalimschy
|
c11d374c59
|
`panic' function configurable via API
|
2002-04-16 14:08:28 -03:00 |
|
Roberto Ierusalimschy
|
237969724f
|
support for light' userdata + simpler support for boxed' udata
|
2002-04-05 15:54:31 -03:00 |
|
Roberto Ierusalimschy
|
49c95648a0
|
getmetatable doesn't push nil when there is no metatable
|
2002-04-02 17:43:18 -03:00 |
|
Roberto Ierusalimschy
|
405e3a4597
|
metatable always return some value
|
2002-03-27 09:49:53 -03:00 |
|
Roberto Ierusalimschy
|
81215cd59f
|
simpler way to control stack overflow
|
2002-03-26 17:46:10 -03:00 |
|
Roberto Ierusalimschy
|
48e732e07d
|
improvements in stack control
|
2002-03-20 09:51:29 -03:00 |
|
Roberto Ierusalimschy
|
24d6d0528d
|
api.c only needs to check pushes when api_check is defined
|
2002-03-18 17:11:52 -03:00 |
|
Roberto Ierusalimschy
|
0b00e7f1a2
|
new macro to convert double->int
|
2002-03-18 15:18:35 -03:00 |
|
Roberto Ierusalimschy
|
c16a35d669
|
lua_stackspace' replaced by lua_checkstack'
|
2002-03-07 15:15:10 -03:00 |
|
Roberto Ierusalimschy
|
88c7b574cb
|
`luaA_index' is a local macro now
|
2002-03-04 18:29:41 -03:00 |
|
Roberto Ierusalimschy
|
57fb51f975
|
luaH_next' works like next'
|
2002-02-14 19:46:13 -02:00 |
|
Roberto Ierusalimschy
|
87b0e3d477
|
no more `lua_istrue' function
|
2002-02-08 20:39:36 -02:00 |
|
Roberto Ierusalimschy
|
7c8f1823e7
|
bug: true 1 != true 2 + no more lua_getstr + some new macros
|
2002-02-07 15:22:53 -02:00 |
|
Roberto Ierusalimschy
|
0a87d9d334
|
new function `lua_replace'
|
2002-02-05 20:35:58 -02:00 |
|
Roberto Ierusalimschy
|
d6fd33e76f
|
eventtable' renamed to metatable'
|
2002-01-30 15:26:44 -02:00 |
|
Roberto Ierusalimschy
|
a048cc9676
|
nil is a `valid' eventtable
|
2002-01-25 19:55:41 -02:00 |
|
Roberto Ierusalimschy
|
dea98702c9
|
preparations for stack reallocation
|
2002-01-16 20:04:50 -02:00 |
|
Roberto Ierusalimschy
|
b3bb0f132b
|
new interface for weak modes
|
2002-01-09 19:50:35 -02:00 |
|
Roberto Ierusalimschy
|
42754c0f15
|
small optimizations
|
2001-12-20 19:26:52 -02:00 |
|
Roberto Ierusalimschy
|
e04f7ed450
|
first version of Lua "stackless"
|
2001-12-18 18:52:30 -02:00 |
|
Roberto Ierusalimschy
|
9aff171f3b
|
new type `boolean'
|
2001-12-11 20:48:44 -02:00 |
|
Roberto Ierusalimschy
|
9cd36059ad
|
new API functions lua_getstr/lua_setstr
|
2001-12-10 20:09:51 -02:00 |
|
Roberto Ierusalimschy
|
592a309177
|
tag system replaced by event tables
|
2001-12-05 18:15:18 -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
|
af59848219
|
tables of globals accessible through pseudo-index in C API
|
2001-10-31 17:58:11 -02:00 |
|
Roberto Ierusalimschy
|
46347d768e
|
`ref' support goes to auxlib
|
2001-10-31 17:40:14 -02:00 |
|
Roberto Ierusalimschy
|
21aa7e55f2
|
optimization for array part of a Table
|
2001-10-25 17:14:14 -02:00 |
|
Roberto Ierusalimschy
|
8069f77ca4
|
C++ warning
|
2001-10-17 19:17:45 -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
|
babaa96eab
|
URL in indentification
|
2001-10-11 18:40:56 -03: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 |
|