aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lj_api.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/lj_api.c b/src/lj_api.c
index 2018cb8f..d40ade30 100644
--- a/src/lj_api.c
+++ b/src/lj_api.c
@@ -975,6 +975,7 @@ LUA_API int lua_setmetatable(lua_State *L, int idx)
975 /* Flush cache, since traces specialize to basemt. But not during __gc. */ 975 /* Flush cache, since traces specialize to basemt. But not during __gc. */
976 if (lj_trace_flushall(L)) 976 if (lj_trace_flushall(L))
977 lj_err_caller(L, LJ_ERR_NOGCMM); 977 lj_err_caller(L, LJ_ERR_NOGCMM);
978 o = index2adr(L, idx); /* Stack may have been reallocated. */
978 if (tvisbool(o)) { 979 if (tvisbool(o)) {
979 /* NOBARRIER: basemt is a GC root. */ 980 /* NOBARRIER: basemt is a GC root. */
980 setgcref(basemt_it(g, LJ_TTRUE), obj2gco(mt)); 981 setgcref(basemt_it(g, LJ_TTRUE), obj2gco(mt));