Lines Matching full:ci
38 #define ci_func(ci) (clLvalue((ci)->func)) argument
41 static const char *funcnamefromcode (lua_State *L, CallInfo *ci,
45 static int currentpc (CallInfo *ci) { in currentpc() argument
46 lua_assert(isLua(ci)); in currentpc()
47 return pcRel(ci->u.l.savedpc, ci_func(ci)->p); in currentpc()
51 static int currentline (CallInfo *ci) { in currentline() argument
52 return getfuncline(ci_func(ci)->p, currentpc(ci)); in currentline()
64 CallInfo *ci = L->ci; /* get function that yielded */ in swapextra() local
65 StkId temp = ci->func; /* exchange its 'func' and 'extra' values */ in swapextra()
66 ci->func = restorestack(L, ci->extra); in swapextra()
67 ci->extra = savestack(L, temp); in swapextra()
86 if (isLua(L->ci)) in lua_sethook()
87 L->oldpc = L->ci->u.l.savedpc; in lua_sethook()
112 CallInfo *ci; in lua_getstack() local
115 for (ci = L->ci; level > 0 && ci != &L->base_ci; ci = ci->previous) in lua_getstack()
117 if (level == 0 && ci != &L->base_ci) { /* level found? */ in lua_getstack()
119 ar->i_ci = ci; in lua_getstack()
134 static const char *findvararg (CallInfo *ci, int n, StkId *pos) { in findvararg() argument
135 int nparams = clLvalue(ci->func)->p->numparams; in findvararg()
136 if (n >= cast_int(ci->u.l.base - ci->func) - nparams) in findvararg()
139 *pos = ci->func + nparams + n; in findvararg()
145 static const char *findlocal (lua_State *L, CallInfo *ci, int n, in findlocal() argument
149 if (isLua(ci)) { in findlocal()
151 return findvararg(ci, -n, pos); in findlocal()
153 base = ci->u.l.base; in findlocal()
154 name = luaF_getlocalname(ci_func(ci)->p, n, currentpc(ci)); in findlocal()
158 base = ci->func + 1; in findlocal()
160 StkId limit = (ci == L->ci) ? L->top : ci->next->func; in findlocal()
161 if (limit - base >= n && n > 0) /* is 'n' inside 'ci' stack? */ in findlocal()
248 static const char *getfuncname (lua_State *L, CallInfo *ci, const char **name) { in getfuncname() argument
249 if (ci == NULL) /* no 'ci'? */ in getfuncname()
251 else if (ci->callstatus & CIST_FIN) { /* is this a finalizer? */ in getfuncname()
256 else if (!(ci->callstatus & CIST_TAIL) && isLua(ci->previous)) in getfuncname()
257 return funcnamefromcode(L, ci->previous, name); in getfuncname()
263 Closure *f, CallInfo *ci) { in auxgetinfo() argument
272 ar->currentline = (ci && isLua(ci)) ? currentline(ci) : -1; in auxgetinfo()
288 ar->istailcall = (ci) ? ci->callstatus & CIST_TAIL : 0; in auxgetinfo()
292 ar->namewhat = getfuncname(L, ci, &ar->name); in auxgetinfo()
312 CallInfo *ci; in lua_getinfo() local
317 ci = NULL; in lua_getinfo()
324 ci = ar->i_ci; in lua_getinfo()
325 func = ci->func; in lua_getinfo()
326 lua_assert(ttisfunction(ci->func)); in lua_getinfo()
329 status = auxgetinfo(L, what, ar, cl, ci); in lua_getinfo()
491 static const char *funcnamefromcode (lua_State *L, CallInfo *ci, in funcnamefromcode() argument
494 Proto *p = ci_func(ci)->p; /* calling function */ in funcnamefromcode()
495 int pc = currentpc(ci); /* calling instruction index */ in funcnamefromcode()
497 if (ci->callstatus & CIST_HOOKED) { /* was it called inside a hook? */ in funcnamefromcode()
546 static int isinstack (CallInfo *ci, const TValue *o) { in isinstack() argument
547 ptrdiff_t i = o - ci->u.l.base; in isinstack()
548 return (0 <= i && i < (ci->top - ci->u.l.base) && ci->u.l.base + i == o); in isinstack()
557 static const char *getupvalname (CallInfo *ci, const TValue *o, in getupvalname() argument
559 LClosure *c = ci_func(ci); in getupvalname()
573 CallInfo *ci = L->ci; in varinfo() local
575 if (isLua(ci)) { in varinfo()
576 kind = getupvalname(ci, o, &name); /* check whether 'o' is an upvalue */ in varinfo()
577 if (!kind && isinstack(ci, o)) /* no? try a register */ in varinfo()
578 kind = getobjname(ci_func(ci)->p, currentpc(ci), in varinfo()
579 cast_int(o - ci->u.l.base), &name); in varinfo()
653 CallInfo *ci = L->ci; in luaG_runerror() local
660 if (isLua(ci)) /* if Lua function, add source:line information */ in luaG_runerror()
661 luaG_addinfo(L, msg, ci_func(ci)->p->source, currentline(ci)); in luaG_runerror()
667 CallInfo *ci = L->ci; in luaG_traceexec() local
674 if (ci->callstatus & CIST_HOOKYIELD) { /* called hook last time? */ in luaG_traceexec()
675 ci->callstatus &= ~CIST_HOOKYIELD; /* erase mark */ in luaG_traceexec()
681 Proto *p = ci_func(ci)->p; in luaG_traceexec()
682 int npc = pcRel(ci->u.l.savedpc, p); in luaG_traceexec()
685 ci->u.l.savedpc <= L->oldpc || /* when jump back (loop), or when */ in luaG_traceexec()
689 L->oldpc = ci->u.l.savedpc; in luaG_traceexec()
693 ci->u.l.savedpc--; /* undo increment (resume will increment it again) */ in luaG_traceexec()
694 ci->callstatus |= CIST_HOOKYIELD; /* mark that it yielded */ in luaG_traceexec()
695 ci->func = L->top - 1; /* protect stack below results */ in luaG_traceexec()