|
@@ -841,7 +841,8 @@ LUA_API int lua_next(lua_State *L, int idx)
|
|
|
LUA_API const char *lua_getupvalue(lua_State *L, int idx, int n)
|
|
|
{
|
|
|
TValue *val;
|
|
|
- const char *name = lj_debug_uvnamev(index2adr(L, idx), (uint32_t)(n-1), &val);
|
|
|
+ GCobj *o;
|
|
|
+ const char *name = lj_debug_uvnamev(index2adr(L, idx), (uint32_t)(n-1), &val, &o);
|
|
|
if (name) {
|
|
|
copyTV(L, L->top, val);
|
|
|
incr_top(L);
|
|
@@ -1014,13 +1015,14 @@ LUA_API const char *lua_setupvalue(lua_State *L, int idx, int n)
|
|
|
{
|
|
|
cTValue *f = index2adr(L, idx);
|
|
|
TValue *val;
|
|
|
+ GCobj *o;
|
|
|
const char *name;
|
|
|
api_checknelems(L, 1);
|
|
|
- name = lj_debug_uvnamev(f, (uint32_t)(n-1), &val);
|
|
|
+ name = lj_debug_uvnamev(f, (uint32_t)(n-1), &val, &o);
|
|
|
if (name) {
|
|
|
L->top--;
|
|
|
copyTV(L, val, L->top);
|
|
|
- lj_gc_barrier(L, funcV(f), L->top);
|
|
|
+ lj_gc_barrier(L, o, L->top);
|
|
|
}
|
|
|
return name;
|
|
|
}
|