Lines Matching refs:uv
48 UpVal *uv = luaM_new(L, UpVal); in luaF_initupvals() local
49 uv->refcount = 1; in luaF_initupvals()
50 uv->v = &uv->u.value; /* make it closed */ in luaF_initupvals()
51 setnilvalue(uv->v); in luaF_initupvals()
52 cl->upvals[i] = uv; in luaF_initupvals()
60 UpVal *uv; in luaF_findupval() local
69 uv = luaM_new(L, UpVal); in luaF_findupval()
70 uv->refcount = 0; in luaF_findupval()
71 uv->u.open.next = *pp; /* link it to list of open upvalues */ in luaF_findupval()
72 uv->u.open.touched = 1; in luaF_findupval()
73 *pp = uv; in luaF_findupval()
74 uv->v = level; /* current value lives in the stack */ in luaF_findupval()
79 return uv; in luaF_findupval()
84 UpVal *uv; in luaF_close() local
85 while (L->openupval != NULL && (uv = L->openupval)->v >= level) { in luaF_close()
86 lua_assert(upisopen(uv)); in luaF_close()
87 L->openupval = uv->u.open.next; /* remove from 'open' list */ in luaF_close()
88 if (uv->refcount == 0) /* no references? */ in luaF_close()
89 luaM_free(L, uv); /* free upvalue */ in luaF_close()
91 setobj(L, &uv->u.value, uv->v); /* move value to upvalue slot */ in luaF_close()
92 uv->v = &uv->u.value; /* now current value lives here */ in luaF_close()
93 luaC_upvalbarrier(L, uv); in luaF_close()