Roberto Ierusalimschy
|
bfa0898312
|
bug: memory error in panic mode does not push error message on
the stack + stack check in tryfuncTM + comments
|
2014-11-10 15:42:04 -02:00 |
|
Roberto Ierusalimschy
|
e75c0148c3
|
comments (references to "ANSI C" changed to "ISO C", which is the
international name
|
2014-11-02 17:33:33 -02:00 |
|
Roberto Ierusalimschy
|
28fdbcf393
|
added include for 'lprefix.h', for stuff that must be added before
any other header file
|
2014-11-02 17:19:04 -02:00 |
|
Roberto Ierusalimschy
|
bdf566a8a3
|
`name' in comments changed to 'name'
|
2014-10-25 09:50:46 -02:00 |
|
Roberto Ierusalimschy
|
f97c64d7bf
|
macros 'LUA_QL'/'LUA_QL' deprecated
|
2014-10-17 13:28:21 -03:00 |
|
Roberto Ierusalimschy
|
85fc9ecd5f
|
detail ('G(L)' -> 'g')
|
2014-10-08 09:20:26 -03:00 |
|
Roberto Ierusalimschy
|
2a21f6c894
|
'lua_Kcontext' -> 'lua_KContext'
|
2014-10-07 15:29:13 -03:00 |
|
Roberto Ierusalimschy
|
2be88d5084
|
'lua_Ctx' -> 'lua_Kcontext'
|
2014-08-01 14:33:08 -03:00 |
|
Roberto Ierusalimschy
|
1aa4f69b51
|
new type 'lua_Ctx' for continuation-function contexts (to allow type
to be configurable)
|
2014-07-17 10:53:37 -03:00 |
|
Roberto Ierusalimschy
|
5bbb4a06a6
|
removed unused parameter Ä'L' in macro 'api_check' and company
|
2014-07-15 18:26:50 -03:00 |
|
Roberto Ierusalimschy
|
b9dcf9974d
|
detail (typos in comments)
|
2014-06-30 16:48:08 -03:00 |
|
Roberto Ierusalimschy
|
89b56e7d84
|
more precision between closure types ('LClosure' x 'CClosure')
|
2014-06-19 15:27:20 -03:00 |
|
Roberto Ierusalimschy
|
fa3113ffbf
|
cleaner way to handle bit CIST_OAH (with auxiliar macros)
|
2014-06-12 16:07:30 -03:00 |
|
Roberto Ierusalimschy
|
d94bb6c273
|
janitor work on 'lua_resume' and related code
|
2014-06-11 13:01:55 -03:00 |
|
Roberto Ierusalimschy
|
88a9e51f34
|
bit-field CIST_YIELDED removed (it was never consulted)
|
2014-06-10 16:18:50 -03:00 |
|
Roberto Ierusalimschy
|
542b6cfc02
|
no need for field 'status' in structure 'CallInfo' (after removal
of 'lua_getctx') + field 'old_allowhook' can be packed into a single
bit
|
2014-06-10 15:51:21 -03:00 |
|
Roberto Ierusalimschy
|
6f6fd96e3b
|
new type lua_KFunction + no more 'lua_getctx'
|
2014-06-10 14:41:38 -03:00 |
|
Roberto Ierusalimschy
|
35a6aad0d7
|
added comments
|
2014-06-09 13:32:18 -03:00 |
|
Roberto Ierusalimschy
|
1bd70a8e40
|
new function 'lua_isyieldable' (and 'coroutine.isyieldable')
|
2014-05-08 10:52:20 -03:00 |
|
Roberto Ierusalimschy
|
da4811238a
|
details (typos in comments)
|
2014-03-21 10:52:33 -03:00 |
|
Roberto Ierusalimschy
|
c6c41e85b2
|
more uniformity for defining system-dependent features
|
2014-02-26 12:27:56 -03:00 |
|
Roberto Ierusalimschy
|
ffa96d988d
|
field 'op' renamed to 'open'
|
2014-02-15 11:12:01 -02:00 |
|
Roberto Ierusalimschy
|
7a8eb83b4a
|
bug: attempting to resume the running coroutine makes it unyieldable
|
2013-11-08 16:16:33 -02:00 |
|
Roberto Ierusalimschy
|
4c6dfc342b
|
CallInfo lists shrinks together with their associated stacks
|
2013-09-17 12:40:06 -03:00 |
|
Roberto Ierusalimschy
|
af35c7f398
|
upvalues collected by reference count
|
2013-08-27 15:53:35 -03:00 |
|
Roberto Ierusalimschy
|
fa3b126a23
|
BUG: stack overflow in vararg functions with many fixed
parameters called with few arguments
|
2013-04-19 18:05:04 -03:00 |
|
Roberto Ierusalimschy
|
b157f3546e
|
BUG: 'pcall' may not restore previous error function when
inside coroutines
|
2012-10-01 11:05:04 -03:00 |
|
Roberto Ierusalimschy
|
2dc91ca5ee
|
checks garbage collector every time it calls a function (as the
stack can grow and so allocates more memory)
|
2012-08-28 15:30:45 -03:00 |
|
Roberto Ierusalimschy
|
b926472312
|
change in error message
|
2012-06-29 16:23:33 -03:00 |
|
Roberto Ierusalimschy
|
cc2a60ecb7
|
bugs in yields inside debug hooks
|
2012-06-08 12:14:04 -03:00 |
|
Roberto Ierusalimschy
|
3cadc37f47
|
no more 'Proto' objects on the stack. Protos are anchored on outer
Protos or on a Closure, which must be created before the Proto.
|
2012-05-08 10:53:33 -03:00 |
|
Roberto Ierusalimschy
|
a94ce68e0a
|
bug: wrong handling of 'nCcalls' in coroutines
|
2012-04-26 17:41:18 -03:00 |
|
Roberto Ierusalimschy
|
3617e04e97
|
'lua_load' has an extra argument 'mode'
|
2011-11-29 13:55:08 -02:00 |
|
Roberto Ierusalimschy
|
217e67cb22
|
new type 'l_noret' for function that do not return
|
2011-10-07 17:45:19 -03:00 |
|
Roberto Ierusalimschy
|
ec431ce5db
|
comment
|
2011-09-12 17:33:03 -03:00 |
|
Roberto Ierusalimschy
|
3dc5475e23
|
'nCcalls' should be local to each thread, as each thread may have its
own C stack (with LuaThreads or something similar)
|
2011-08-23 14:24:34 -03:00 |
|
Roberto Ierusalimschy
|
f180822fa6
|
back to internal table for 'ctype', no more locale manipulation
|
2011-06-28 12:42:04 -03:00 |
|
Roberto Ierusalimschy
|
136f8e148d
|
added cast to void to calls to 'setlocale' (to easy redefining it as
a constant)
|
2011-06-20 13:36:03 -03:00 |
|
Roberto Ierusalimschy
|
cb4950a6d8
|
parser must work with C locale, but external locale must be preserved
|
2011-06-18 14:08:58 -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
|
3f04a9f2c0
|
code is simpler without 'goto' here
|
2011-05-30 13:36:38 -03:00 |
|
Roberto Ierusalimschy
|
7482e8f914
|
no need of lookahead in Zio
|
2011-02-23 10:13:10 -03:00 |
|
Roberto Ierusalimschy
|
f079749287
|
some reorganization of dynamic data structures used by the parser
|
2011-02-07 15:14:50 -02:00 |
|
Roberto Ierusalimschy
|
7cc0e63d8a
|
first implementation of 'goto'
|
2011-02-04 15:34:43 -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
|
ffff9a49da
|
'nresults' in CallInfo now refers to number of results that the current
function returns (and not what it expects from a call)
|
2010-09-30 14:21:31 -03:00 |
|
Roberto Ierusalimschy
|
545f43065f
|
'luaF_newLclosure' gets prototype of new closure as argument
|
2010-06-04 10:06:15 -03:00 |
|
Roberto Ierusalimschy
|
237f755dca
|
typos in comments
|
2010-05-05 15:49:56 -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
|
e7ffb1b501
|
macro LUA_USE_LONGJMP allows choosing longjmp when compiling Lua as
C++ code
|
2010-04-18 09:41:35 -03:00 |
|
Roberto Ierusalimschy
|
7dfa4cd655
|
first implementation of light C functions
|
2010-04-14 12:13:48 -03:00 |
|
Roberto Ierusalimschy
|
055104f5b6
|
keep memory-error message in the global state, so that its use
does not depend on Lua internalizing strings to avoid a string
creation on memory errors
|
2010-04-08 14:16:46 -03:00 |
|
Roberto Ierusalimschy
|
064e406f67
|
no more fenvs!
|
2010-03-26 17:58:11 -03:00 |
|
Roberto Ierusalimschy
|
4c54cd3a10
|
when yielding, original 'func' value must be kept and restored so
that 'poscall' puts results in the right slot.
|
2010-02-09 09:56:29 -02:00 |
|
Roberto Ierusalimschy
|
0c7de97d47
|
correct error message when yielding from outside a coroutine
|
2010-01-13 14:17:32 -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
|
e0f9d1c8f5
|
removed export of function only for coco
|
2009-12-17 10:28:57 -02:00 |
|
Roberto Ierusalimschy
|
de6fc75d63
|
several configuration options that do not change often moved out of
luaconf.h and into more internal files
|
2009-12-17 10:26:09 -02:00 |
|
Roberto Ierusalimschy
|
2bb19ccf08
|
reordering of some functions + cleaner way to code lua_resume/resume +
small bug in lua_resume (in case of calling errors lua_resume should
remove only new arguments from the stack and push error message).
|
2009-12-10 16:20:07 -02:00 |
|
Roberto Ierusalimschy
|
2643da67c6
|
error messages from 'lua_resume' must be generated in protected mode,
to avoid raising memory errors
|
2009-12-08 16:59:24 -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
|
b0f2b288a6
|
new scheme for debug info about tail calls: no more 'fake' stack entries,
but stack entry knows whether it was tail called
|
2009-11-25 13:27:51 -02:00 |
|
Roberto Ierusalimschy
|
2d5931ebc8
|
ensure that reader function cannot yield during parsing
|
2009-11-17 14:46:44 -02:00 |
|
Roberto Ierusalimschy
|
35fa276099
|
parser/scanner keep GC running
|
2009-11-17 14:33:38 -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
|
916587508c
|
parser keeps list of active local variables in a single dynamic array,
therefore saving C stack space
|
2009-10-11 17:02:19 -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
|
0e45ffb8e4
|
first implementation of 'lua_yieldk' (yield with continuation)
|
2009-09-14 11:30:39 -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
|
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
|
019ebcb85f
|
errors in finalizers are propagated with code LUA_ERRGCMM (ERRor in
__gc MetaMethod)
|
2009-05-21 17:06:11 -03:00 |
|
Roberto Ierusalimschy
|
e091a254df
|
new way to GC stacks: the entire stack must be correct all the times;
the 'dead' part of a stack (after the top) must have only nil's, so
that 'top' may go up without cleaning the stack.
|
2009-04-28 16:04:36 -03:00 |
|
Roberto Ierusalimschy
|
e5249b9fb5
|
'exit' changed to 'abort' in case of panic (+ some extra comments)
'abort' seems more in line with panic ("abnormal termination")
|
2009-04-26 18:55:35 -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
|
311e9f3ceb
|
'nresults' is saved in CallInfo from the caller, not the called
|
2009-04-15 13:53:39 -03:00 |
|
Roberto Ierusalimschy
|
70a63fa5ad
|
first implementation of yieldable 'pcall'
|
2009-04-08 15:04:33 -03:00 |
|
Roberto Ierusalimschy
|
3dbf305408
|
no more support for old-style varargs
|
2009-03-26 09:57:01 -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
|
1817dfc301
|
initial separation, in CallInfo, of what is relevant only to Lua
functions or only to C functions
|
2009-03-04 10:32:29 -03:00 |
|
Roberto Ierusalimschy
|
910310d3ba
|
if thread has no error handling, try main thread handler before panicking
|
2009-03-03 15:51:24 -03:00 |
|
Roberto Ierusalimschy
|
2b579b4b83
|
panic mode does not reset stack (so that panic function can gather
debug information from it)
|
2009-02-18 11:52:03 -03:00 |
|
Roberto Ierusalimschy
|
b472098493
|
concat TM can yield
|
2008-11-06 10:43:51 -02:00 |
|
Roberto Ierusalimschy
|
84b3daebbd
|
generic for coded as two dedicated instructions to simplify resumption
|
2008-10-30 13:39:30 -02:00 |
|
Roberto Ierusalimschy
|
f6978173e0
|
yields accross metamethods and for iterators (except for __concat)
|
2008-10-28 14:53:16 -02:00 |
|
Roberto Ierusalimschy
|
f94cd2201c
|
better control of call status through CallInfo
|
2008-08-26 10:27:42 -03:00 |
|
Roberto Ierusalimschy
|
fdbb243ff9
|
first steps towards yielding through longjump
|
2008-08-13 14:02:42 -03:00 |
|
Roberto Ierusalimschy
|
e7c989baf1
|
avoid calling "tail return" hooks if the hook itself turns off the event
|
2008-01-18 20:36:50 -02:00 |
|
Roberto Ierusalimschy
|
5f4f0d4a63
|
no more optimization to avoid LOADNIL at function start
|
2007-03-27 11:11:38 -03:00 |
|
Roberto Ierusalimschy
|
afa0d0ac0d
|
new constant LUA_OK
|
2006-10-10 14:40:17 -03:00 |
|
Roberto Ierusalimschy
|
d1ef7e0ec6
|
avoid local "pc" in interpreter loop (tricky optimization with no real gain)
|
2006-09-19 10:57:50 -03:00 |
|
Roberto Ierusalimschy
|
a7c9e45c64
|
avoid trailing white spaces
|
2006-09-11 11:07:24 -03:00 |
|
Roberto Ierusalimschy
|
c473818017
|
avoid "too complex" conditional expression (some compilers get confused...)
|
2006-09-11 09:44:56 -03:00 |
|
Roberto Ierusalimschy
|
93bf618504
|
BUG: there is only one C stack, so nCcalls must be global
|
2006-08-15 16:59:20 -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
|
a62fca1ebb
|
BUG: debug hooks may get wrong when mixed with coroutines
|
2006-06-05 16:36:45 -03:00 |
|
Roberto Ierusalimschy
|
c505f341d6
|
small changes in casts
|
2005-12-22 14:19:56 -02:00 |
|
Roberto Ierusalimschy
|
201288b4df
|
small bug
|
2005-10-23 15:52:42 -02:00 |
|
Roberto Ierusalimschy
|
b3f81f1d1d
|
small bug when debugging dead threads
|
2005-10-14 13:23:33 -03:00 |
|