Lines Matching full:level

62 ** Create a new upvalue at the given level, and link it to the list of
65 static UpVal *newupval (lua_State *L, StkId level, UpVal **prev) { in newupval() argument
69 uv->v.p = s2v(level); /* current value lives in the stack */ in newupval()
85 ** at the given level.
87 UpVal *luaF_findupval (lua_State *L, StkId level) { in luaF_findupval() argument
91 while ((p = *pp) != NULL && uplevel(p) >= level) { /* search for it */ in luaF_findupval()
93 if (uplevel(p) == level) /* corresponding upvalue? */ in luaF_findupval()
98 return newupval(L, level, pp); in luaF_findupval()
122 ** Check whether object at given level has a close metamethod and raise
125 static void checkclosemth (lua_State *L, StkId level) { in checkclosemth() argument
126 const TValue *tm = luaT_gettmbyobj(L, s2v(level), TM_CLOSE); in checkclosemth()
128 int idx = cast_int(level - L->ci->func.p); /* variable index */ in checkclosemth()
140 ** the 'level' of the upvalue being closed, as everything after that
143 static void prepcallclosemth (lua_State *L, StkId level, int status, int yy) { in prepcallclosemth() argument
144 TValue *uv = s2v(level); /* value being closed */ in prepcallclosemth()
148 else { /* 'luaD_seterrorobj' will set top to level + 2 */ in prepcallclosemth()
149 errobj = s2v(level + 1); /* error object goes after 'uv' */ in prepcallclosemth()
150 luaD_seterrorobj(L, status, level + 1); /* set error object */ in prepcallclosemth()
168 void luaF_newtbcupval (lua_State *L, StkId level) { in luaF_newtbcupval() argument
169 lua_assert(level > L->tbclist.p); in luaF_newtbcupval()
170 if (l_isfalse(s2v(level))) in luaF_newtbcupval()
172 checkclosemth(L, level); /* value must have a close method */ in luaF_newtbcupval()
173 while (cast_uint(level - L->tbclist.p) > MAXDELTA) { in luaF_newtbcupval()
177 level->tbclist.delta = cast(unsigned short, level - L->tbclist.p); in luaF_newtbcupval()
178 L->tbclist.p = level; in luaF_newtbcupval()
191 ** Close all upvalues up to the given stack level.
193 void luaF_closeupval (lua_State *L, StkId level) { in luaF_closeupval() argument
196 while ((uv = L->openupval) != NULL && (upl = uplevel(uv)) >= level) { in luaF_closeupval()
225 ** level. Return restored 'level'.
227 StkId luaF_close (lua_State *L, StkId level, int status, int yy) { in luaF_close() argument
228 ptrdiff_t levelrel = savestack(L, level); in luaF_close()
229 luaF_closeupval(L, level); /* first, close the upvalues */ in luaF_close()
230 while (L->tbclist.p >= level) { /* traverse tbc's down to that level */ in luaF_close()
234 level = restorestack(L, levelrel); in luaF_close()
236 return level; in luaF_close()