diff options
author | Mike Pall <mike> | 2020-09-30 01:31:27 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2020-09-30 01:34:49 +0200 |
commit | e9af1abec542e6f9851ff2368e7f196b6382a44c (patch) | |
tree | 4b6d76732347a402abb43c6efa5ec3e01a4d61f0 /src/lj_state.c | |
parent | e67e2040be693122b54fc83797cdc9eb07221aea (diff) | |
download | luajit-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.c | 6 |
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))); |