diff --git a/src/ldo.c b/src/ldo.c index 086d174..8c8ba73 100644 --- a/src/ldo.c +++ b/src/ldo.c @@ -526,7 +526,13 @@ l_sinline int precallC (lua_State *L, StkId func, int nresults, luaD_hook(L, LUA_HOOKCALL, -1, 1, narg); } lua_unlock(L); - n = (*f)(L); /* do the actual call */ + /* do the actual call */ +#ifdef USE_YK + f = (lua_CFunction) yk_promote((void *) *f); + n = (f)(L); +#else + n = (*f)(L); +#endif lua_lock(L); api_checknelems(L, n); luaD_poscall(L, ci, n);