/* Executes a call hook for Lua functions. This function is called whenever 'hookmask' is not zero, so it checks whether call hooks are active.  */
void luaD_hookcall(lua_State *L, CallInfo *ci)
/* Executes a call hook for Lua functions. This function is called whenever 'hookmask' is not zero, so it checks whether call hooks are active.  */
void luaD_hookcall(lua_State *L, CallInfo *ci)
{
    int event = (ci->callstatus & CIST_TAIL) ? LUA_HOOKTAILCALL
                                             : LUA_HOOKCALL;
    Proto *p = ci_func(ci)->p;
    ci->u.l.savedpc++;
    luaD_hook(L, event, -1, 1, p->numparams);
    ci->u.l.savedpc--;
  }
}