MCPcopy Create free account
hub / github.com/Tencent/xLua / lua_setupvalue

Function lua_setupvalue

WebGLPlugins/lapi.c:1235–1253  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1233
1234
1235LUA_API const char *lua_setupvalue (lua_State *L, int funcindex, int n) {
1236 const char *name;
1237 TValue *val = NULL; /* to avoid warnings */
1238 CClosure *owner = NULL;
1239 UpVal *uv = NULL;
1240 StkId fi;
1241 lua_lock(L);
1242 fi = index2addr(L, funcindex);
1243 api_checknelems(L, 1);
1244 name = aux_upvalue(fi, n, &val, &owner, &uv);
1245 if (name) {
1246 L->top--;
1247 setobj(L, val, L->top);
1248 if (owner) { luaC_barrier(L, owner, L->top); }
1249 else if (uv) { luaC_upvalbarrier(L, uv); }
1250 }
1251 lua_unlock(L);
1252 return name;
1253}
1254
1255
1256static UpVal **getupvalref (lua_State *L, int fidx, int n, LClosure **pf) {

Callers 4

load_auxFunction · 0.85
lua_setfenvFunction · 0.85
set_envFunction · 0.85
auxupvalueFunction · 0.85

Calls 2

index2addrFunction · 0.85
aux_upvalueFunction · 0.85

Tested by

no test coverage detected