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 |
|