|
@@ -975,6 +975,7 @@ LUA_API int lua_setmetatable(lua_State *L, int idx)
|
|
/* Flush cache, since traces specialize to basemt. But not during __gc. */
|
|
/* Flush cache, since traces specialize to basemt. But not during __gc. */
|
|
if (lj_trace_flushall(L))
|
|
if (lj_trace_flushall(L))
|
|
lj_err_caller(L, LJ_ERR_NOGCMM);
|
|
lj_err_caller(L, LJ_ERR_NOGCMM);
|
|
|
|
+ o = index2adr(L, idx); /* Stack may have been reallocated. */
|
|
if (tvisbool(o)) {
|
|
if (tvisbool(o)) {
|
|
/* NOBARRIER: basemt is a GC root. */
|
|
/* NOBARRIER: basemt is a GC root. */
|
|
setgcref(basemt_it(g, LJ_TTRUE), obj2gco(mt));
|
|
setgcref(basemt_it(g, LJ_TTRUE), obj2gco(mt));
|