diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2017-11-23 14:41:16 -0200 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2017-11-23 14:41:16 -0200 |
commit | 196c87c9cecfacf978f37de4ec69eba0a5971256 (patch) | |
tree | ce434c8a63228cf1f25adcc2210ba741ee899887 /ldebug.c | |
parent | 39f26b1480502cc2f75a5af6e06e5410e06634ba (diff) | |
download | lua-196c87c9cecfacf978f37de4ec69eba0a5971256.tar.gz lua-196c87c9cecfacf978f37de4ec69eba0a5971256.tar.bz2 lua-196c87c9cecfacf978f37de4ec69eba0a5971256.zip |
no more 'stackless' implementation; 'luaV_execute' calls itself
recursively to execute function calls. 'unroll' continues all
executions suspended by an yield (through a long jump)
Diffstat (limited to 'ldebug.c')
-rw-r--r-- | ldebug.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: ldebug.c,v 2.143 2017/11/13 12:20:51 roberto Exp roberto $ | 2 | ** $Id: ldebug.c,v 2.144 2017/11/13 15:36:52 roberto Exp roberto $ |
3 | ** Debug Interface | 3 | ** Debug Interface |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -724,6 +724,7 @@ l_noret luaG_errormsg (lua_State *L) { | |||
724 | setobjs2s(L, L->top, L->top - 1); /* move argument */ | 724 | setobjs2s(L, L->top, L->top - 1); /* move argument */ |
725 | setobjs2s(L, L->top - 1, errfunc); /* push function */ | 725 | setobjs2s(L, L->top - 1, errfunc); /* push function */ |
726 | L->top++; /* assume EXTRA_STACK */ | 726 | L->top++; /* assume EXTRA_STACK */ |
727 | luaE_incCcalls(L); | ||
727 | luaD_callnoyield(L, L->top - 2, 1); /* call it */ | 728 | luaD_callnoyield(L, L->top - 2, 1); /* call it */ |
728 | } | 729 | } |
729 | luaD_throw(L, LUA_ERRRUN); | 730 | luaD_throw(L, LUA_ERRRUN); |