Lines Matching refs:uv

45   UpVal *uv = luaM_new(L, UpVal);  in luaF_newupval()  local
46 luaC_link(L, obj2gco(uv), LUA_TUPVAL); in luaF_newupval()
47 uv->v = &uv->u.value; in luaF_newupval()
48 setnilvalue(uv->v); in luaF_newupval()
49 return uv; in luaF_newupval()
57 UpVal *uv; in luaF_findupval() local
67 uv = luaM_new(L, UpVal); /* not found: create a new one */ in luaF_findupval()
68 uv->tt = LUA_TUPVAL; in luaF_findupval()
69 uv->marked = luaC_white(g); in luaF_findupval()
70 uv->v = level; /* current value lives in the stack */ in luaF_findupval()
71 uv->next = *pp; /* chain it in the proper position */ in luaF_findupval()
72 *pp = obj2gco(uv); in luaF_findupval()
73 uv->u.l.prev = &g->uvhead; /* double link it in `uvhead' list */ in luaF_findupval()
74 uv->u.l.next = g->uvhead.u.l.next; in luaF_findupval()
75 uv->u.l.next->u.l.prev = uv; in luaF_findupval()
76 g->uvhead.u.l.next = uv; in luaF_findupval()
77 lua_assert(uv->u.l.next->u.l.prev == uv && uv->u.l.prev->u.l.next == uv); in luaF_findupval()
78 return uv; in luaF_findupval()
82 static void unlinkupval (UpVal *uv) { in unlinkupval() argument
83 lua_assert(uv->u.l.next->u.l.prev == uv && uv->u.l.prev->u.l.next == uv); in unlinkupval()
84 uv->u.l.next->u.l.prev = uv->u.l.prev; /* remove from `uvhead' list */ in unlinkupval()
85 uv->u.l.prev->u.l.next = uv->u.l.next; in unlinkupval()
89 void luaF_freeupval (lua_State *L, UpVal *uv) { in luaF_freeupval() argument
90 if (uv->v != &uv->u.value) /* is it open? */ in luaF_freeupval()
91 unlinkupval(uv); /* remove from open list */ in luaF_freeupval()
92 luaM_free(L, uv); /* free upvalue */ in luaF_freeupval()
97 UpVal *uv; in luaF_close() local
99 while (L->openupval != NULL && (uv = ngcotouv(L->openupval))->v >= level) { in luaF_close()
100 GCObject *o = obj2gco(uv); in luaF_close()
101 lua_assert(!isblack(o) && uv->v != &uv->u.value); in luaF_close()
102 L->openupval = uv->next; /* remove from `open' list */ in luaF_close()
104 luaF_freeupval(L, uv); /* free upvalue */ in luaF_close()
106 unlinkupval(uv); in luaF_close()
107 setobj(L, &uv->u.value, uv->v); in luaF_close()
108 uv->v = &uv->u.value; /* now current value lives here */ in luaF_close()
109 luaC_linkupval(L, uv); /* link upvalue into `gcroot' list */ in luaF_close()