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 |
|
Roberto Ierusalimschy
|
37b49aa451
|
detail
|
2005-10-06 17:44:22 -03:00 |
|
Roberto Ierusalimschy
|
2d2f955763
|
detail
|
2005-09-09 15:16:28 -03:00 |
|
Roberto Ierusalimschy
|
98296f6b45
|
some bugs related to stack reallocation
|
2005-08-24 13:15:49 -03:00 |
|
Roberto Ierusalimschy
|
23b79c5945
|
small changes to facilitate external C coroutines
|
2005-08-22 16:58:29 -03:00 |
|
Roberto Ierusalimschy
|
6fcd334ca0
|
small improvements
|
2005-08-22 15:54:49 -03:00 |
|
Roberto Ierusalimschy
|
44b19075c0
|
small changes (to easy integration with Coco)
|
2005-08-09 16:49:04 -03:00 |
|
Roberto Ierusalimschy
|
575637319e
|
better recovery at panic
|
2005-07-11 11:00:31 -03:00 |
|
Roberto Ierusalimschy
|
34aac33c15
|
detail
|
2005-06-13 18:17:59 -03:00 |
|
Roberto Ierusalimschy
|
bf2b342ac1
|
better control for compatibility code for varargs
|
2005-06-13 11:15:54 -03:00 |
|
Roberto Ierusalimschy
|
90de38bf1f
|
warnings in VS .Net
|
2005-05-31 11:25:18 -03:00 |
|
Roberto Ierusalimschy
|
38da9d568a
|
better use defined/undefined as flag values for macros
|
2005-05-20 16:09:05 -03:00 |
|
Roberto Ierusalimschy
|
b320d37a80
|
better tests for correctness of `savedpc'
|
2005-05-03 16:01:17 -03:00 |
|
Roberto Ierusalimschy
|
7b6c3b463e
|
small optimizations
|
2005-04-05 10:41:29 -03:00 |
|
Roberto Ierusalimschy
|
e6e543a534
|
better control for compatibility code
|
2005-03-29 13:20:48 -03:00 |
|
Roberto Ierusalimschy
|
ade585bdf9
|
no more LUA_FIRSTINDEX
|
2005-03-28 14:17:53 -03:00 |
|
Roberto Ierusalimschy
|
fb0f95a2b7
|
call limit may be larger than shorts
|
2005-03-18 15:55:09 -03:00 |
|
Roberto Ierusalimschy
|
4494094031
|
detail
|
2005-03-16 17:02:48 -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
|
7d45a5f48f
|
C functions and userdata also have environments
|
2005-02-18 10:40:02 -02:00 |
|
Roberto Ierusalimschy
|
c78940f21a
|
static names do not need `luaX_' prefix
|
2004-12-03 18:50:25 -02:00 |
|
Roberto Ierusalimschy
|
12dacd3c0e
|
added an `L' parameter to macros L_TRY & L_THROW (someone may need it).
|
2004-12-01 13:52:54 -02:00 |
|
Roberto Ierusalimschy
|
8b5bb6056b
|
removal of unused variable
|
2004-09-22 09:37:52 -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
|
ee165043ef
|
two bugs related to varargs
|
2004-09-03 12:48:56 -03:00 |
|
Roberto Ierusalimschy
|
e8d4fe7236
|
new macro lua_threadyield' + lock stuff in luaconf.h' + details
|
2004-06-02 16:07:55 -03:00 |
|
Roberto Ierusalimschy
|
616438fe9a
|
new way to use vararg' parameters (with ...')
|
2004-05-31 15:51:50 -03:00 |
|
Roberto Ierusalimschy
|
0bda88e6cd
|
small steps towards yields in iterators and tag methods
|
2004-05-14 16:25:09 -03:00 |
|
Roberto Ierusalimschy
|
7e41612eb2
|
code parameterized by LUA_FIRSTINDEX (first index of an array)
|
2004-05-10 14:50:51 -03:00 |
|
Roberto Ierusalimschy
|
b4cd38ba6c
|
new scheme for configuration through `luaconf.h'
|
2004-04-30 17:13:38 -03:00 |
|
Roberto Ierusalimschy
|
26a9b249db
|
details
|
2004-03-24 12:46:49 -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
|
921b1723e2
|
comments
|
2003-11-11 14:34:17 -02:00 |
|
Roberto Ierusalimschy
|
c51bcf4796
|
it's ok to dump functions with upvalues
|
2003-10-20 15:42:41 -02:00 |
|
Roberto Ierusalimschy
|
9914e1bcdd
|
detail
|
2003-10-20 10:24:26 -02:00 |
|
Roberto Ierusalimschy
|
6becdb3e70
|
details
|
2003-10-03 13:04:11 -03:00 |
|
Roberto Ierusalimschy
|
6063c5c61f
|
bug: cannot invalidate a running coroutine
|
2003-09-05 11:30:59 -03:00 |
|
Roberto Ierusalimschy
|
8332d5c8a5
|
parser fully reentrant(!)
|
2003-08-27 18:01:44 -03:00 |
|
Roberto Ierusalimschy
|
b114142799
|
new auxiliary function `luaH_setstr'
|
2003-08-26 09:04:13 -03:00 |
|
Roberto Ierusalimschy
|
9fcc485176
|
zio does not keep "source" name (nobody uses it)
|
2003-08-25 16:51:54 -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
|
9eb0f25a29
|
no more compatibility code for 4.0
|
2003-05-14 18:02:39 -03:00 |
|
Roberto Ierusalimschy
|
c767747191
|
new (internal) macros for error handling
|
2003-05-13 16:22:19 -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
|
69dd9461e5
|
bug: GC metamethod calls could mess C/Lua stack syncronization
|
2003-02-28 16:45:15 -03:00 |
|
Roberto Ierusalimschy
|
ea16ee41a8
|
no more attempt to optimize GC when parsing new modules (too complex)
|
2003-02-28 12:42:08 -03:00 |
|