Lines Matching refs:uv

40   UpVal *uv = &luaC_newobj(L, LUA_TUPVAL, sizeof(UpVal), NULL, 0)->uv;  in luaF_newupval()  local
41 uv->v = &uv->u.value; in luaF_newupval()
42 setnilvalue(uv->v); in luaF_newupval()
43 return uv; in luaF_newupval()
51 UpVal *uv; in luaF_findupval() local
64 uv = &luaC_newobj(L, LUA_TUPVAL, sizeof(UpVal), pp, 0)->uv; in luaF_findupval()
65 uv->v = level; /* current value lives in the stack */ in luaF_findupval()
66 uv->u.l.prev = &g->uvhead; /* double link it in `uvhead' list */ in luaF_findupval()
67 uv->u.l.next = g->uvhead.u.l.next; in luaF_findupval()
68 uv->u.l.next->u.l.prev = uv; in luaF_findupval()
69 g->uvhead.u.l.next = uv; in luaF_findupval()
70 lua_assert(uv->u.l.next->u.l.prev == uv && uv->u.l.prev->u.l.next == uv); in luaF_findupval()
71 return uv; in luaF_findupval()
75 static void unlinkupval (UpVal *uv) { in unlinkupval() argument
76 lua_assert(uv->u.l.next->u.l.prev == uv && uv->u.l.prev->u.l.next == uv); in unlinkupval()
77 uv->u.l.next->u.l.prev = uv->u.l.prev; /* remove from `uvhead' list */ in unlinkupval()
78 uv->u.l.prev->u.l.next = uv->u.l.next; in unlinkupval()
82 void luaF_freeupval (lua_State *L, UpVal *uv) { in luaF_freeupval() argument
83 if (uv->v != &uv->u.value) /* is it open? */ in luaF_freeupval()
84 unlinkupval(uv); /* remove from open list */ in luaF_freeupval()
85 luaM_free(L, uv); /* free upvalue */ in luaF_freeupval()
90 UpVal *uv; in luaF_close() local
92 while (L->openupval != NULL && (uv = gco2uv(L->openupval))->v >= level) { in luaF_close()
93 GCObject *o = obj2gco(uv); in luaF_close()
94 lua_assert(!isblack(o) && uv->v != &uv->u.value); in luaF_close()
95 L->openupval = uv->next; /* remove from `open' list */ in luaF_close()
97 luaF_freeupval(L, uv); /* free upvalue */ in luaF_close()
99 unlinkupval(uv); /* remove upvalue from 'uvhead' list */ in luaF_close()
100 setobj(L, &uv->u.value, uv->v); /* move value to upvalue slot */ in luaF_close()
101 uv->v = &uv->u.value; /* now current value lives here */ in luaF_close()
104 luaC_checkupvalcolor(g, uv); in luaF_close()