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)
This commit is contained in:
Roberto Ierusalimschy
2017-11-23 14:41:16 -02:00
parent 39f26b1480
commit 196c87c9ce
9 changed files with 90 additions and 112 deletions

View File

@@ -1,5 +1,5 @@
/*
** $Id: ltests.h,v 2.51 2017/06/27 11:35:31 roberto Exp roberto $
** $Id: ltests.h,v 2.52 2017/11/13 12:19:35 roberto Exp roberto $
** Internal Header for Debugging of the Lua Implementation
** See Copyright Notice in lua.h
*/
@@ -34,6 +34,10 @@
#define lua_assert(c) assert(c)
/* compiled with -O0, Lua uses a lot of C stack space... */
#undef LUAI_MAXCCALLS
#define LUAI_MAXCCALLS 300
/* to avoid warnings, and to make sure value is really unused */
#define UNUSED(x) (x=0, (void)(x))