summaryrefslogtreecommitdiff
path: root/src/lj_state.c
diff options
context:
space:
mode:
authorMike Pall <mike>2020-09-30 01:31:27 +0200
committerMike Pall <mike>2020-09-30 01:34:49 +0200
commite9af1abec542e6f9851ff2368e7f196b6382a44c (patch)
tree4b6d76732347a402abb43c6efa5ec3e01a4d61f0 /src/lj_state.c
parente67e2040be693122b54fc83797cdc9eb07221aea (diff)
downloadluajit-e9af1abec542e6f9851ff2368e7f196b6382a44c.tar.gz
luajit-e9af1abec542e6f9851ff2368e7f196b6382a44c.tar.bz2
luajit-e9af1abec542e6f9851ff2368e7f196b6382a44c.zip
Add support for full-range 64 bit lightuserdata.
Diffstat (limited to 'src/lj_state.c')
-rw-r--r--src/lj_state.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lj_state.c b/src/lj_state.c
index 4f77e71f..2b031d97 100644
--- a/src/lj_state.c
+++ b/src/lj_state.c
@@ -174,6 +174,12 @@ static void close_state(lua_State *L)
174 lj_str_freetab(g); 174 lj_str_freetab(g);
175 lj_buf_free(g, &g->tmpbuf); 175 lj_buf_free(g, &g->tmpbuf);
176 lj_mem_freevec(g, tvref(L->stack), L->stacksize, TValue); 176 lj_mem_freevec(g, tvref(L->stack), L->stacksize, TValue);
177#if LJ_64
178 if (mref(g->gc.lightudseg, uint32_t)) {
179 MSize segnum = g->gc.lightudnum ? (2 << lj_fls(g->gc.lightudnum)) : 2;
180 lj_mem_freevec(g, mref(g->gc.lightudseg, uint32_t), segnum, uint32_t);
181 }
182#endif
177 lj_assertG(g->gc.total == sizeof(GG_State), 183 lj_assertG(g->gc.total == sizeof(GG_State),
178 "memory leak of %lld bytes", 184 "memory leak of %lld bytes",
179 (long long)(g->gc.total - sizeof(GG_State))); 185 (long long)(g->gc.total - sizeof(GG_State)));