diff options
| author | Mike Pall <mike> | 2009-12-29 04:36:35 +0100 |
|---|---|---|
| committer | Mike Pall <mike> | 2009-12-29 04:36:35 +0100 |
| commit | 24429ed1f5c52258700e2e16c898c1dd9b8c4203 (patch) | |
| tree | 984fd197d92070fe6e04edbe237444ee44b5b0c5 /src | |
| parent | 81c9f5de89a03396ca80cd84e7c68552df7fd9f4 (diff) | |
| download | luajit-24429ed1f5c52258700e2e16c898c1dd9b8c4203.tar.gz luajit-24429ed1f5c52258700e2e16c898c1dd9b8c4203.tar.bz2 luajit-24429ed1f5c52258700e2e16c898c1dd9b8c4203.zip | |
Fix alloc/free sizes of internal GCRef arrays.
Diffstat (limited to 'src')
| -rw-r--r-- | src/lj_func.c | 2 | ||||
| -rw-r--r-- | src/lj_gc.c | 2 | ||||
| -rw-r--r-- | src/lj_parse.c | 2 | ||||
| -rw-r--r-- | src/lj_state.c | 2 | ||||
| -rw-r--r-- | src/lj_str.c | 2 |
5 files changed, 5 insertions, 5 deletions
diff --git a/src/lj_func.c b/src/lj_func.c index 61a810f2..45685207 100644 --- a/src/lj_func.c +++ b/src/lj_func.c | |||
| @@ -47,7 +47,7 @@ GCproto *lj_func_newproto(lua_State *L) | |||
| 47 | void LJ_FASTCALL lj_func_freeproto(global_State *g, GCproto *pt) | 47 | void LJ_FASTCALL lj_func_freeproto(global_State *g, GCproto *pt) |
| 48 | { | 48 | { |
| 49 | MSize nkgc = round_nkgc(pt->sizekgc); | 49 | MSize nkgc = round_nkgc(pt->sizekgc); |
| 50 | MSize sizek = nkgc*(MSize)sizeof(GCobj *) + | 50 | MSize sizek = nkgc*(MSize)sizeof(GCRef) + |
| 51 | pt->sizekn*(MSize)sizeof(lua_Number); | 51 | pt->sizekn*(MSize)sizeof(lua_Number); |
| 52 | lj_mem_free(g, pt->k.gc - nkgc, sizek); | 52 | lj_mem_free(g, pt->k.gc - nkgc, sizek); |
| 53 | lj_mem_freevec(g, pt->bc, pt->sizebc, BCIns); | 53 | lj_mem_freevec(g, pt->bc, pt->sizebc, BCIns); |
diff --git a/src/lj_gc.c b/src/lj_gc.c index 55640521..3e4c1787 100644 --- a/src/lj_gc.c +++ b/src/lj_gc.c | |||
| @@ -327,7 +327,7 @@ static size_t propagatemark(global_State *g) | |||
| 327 | GCproto *pt = gco2pt(o); | 327 | GCproto *pt = gco2pt(o); |
| 328 | gc_traverse_proto(g, pt); | 328 | gc_traverse_proto(g, pt); |
| 329 | return sizeof(GCproto) + sizeof(BCIns) * pt->sizebc + | 329 | return sizeof(GCproto) + sizeof(BCIns) * pt->sizebc + |
| 330 | sizeof(GCobj *) * pt->sizekgc + | 330 | sizeof(GCRef) * pt->sizekgc + |
| 331 | sizeof(lua_Number) * pt->sizekn + | 331 | sizeof(lua_Number) * pt->sizekn + |
| 332 | sizeof(int16_t) * pt->sizeuv + | 332 | sizeof(int16_t) * pt->sizeuv + |
| 333 | sizeof(int32_t) * pt->sizelineinfo + | 333 | sizeof(int32_t) * pt->sizelineinfo + |
diff --git a/src/lj_parse.c b/src/lj_parse.c index 1de07e92..4aa23a1b 100644 --- a/src/lj_parse.c +++ b/src/lj_parse.c | |||
| @@ -1140,7 +1140,7 @@ static void collectk(FuncState *fs, GCproto *pt) | |||
| 1140 | checklimitgt(fs, fs->nkn, BCMAX_D+1, "constants"); | 1140 | checklimitgt(fs, fs->nkn, BCMAX_D+1, "constants"); |
| 1141 | checklimitgt(fs, fs->nkgc, BCMAX_D+1, "constants"); | 1141 | checklimitgt(fs, fs->nkgc, BCMAX_D+1, "constants"); |
| 1142 | nkgc = round_nkgc(fs->nkgc); | 1142 | nkgc = round_nkgc(fs->nkgc); |
| 1143 | sizek = (MSize)(nkgc*sizeof(MRef) + fs->nkn*sizeof(lua_Number)); | 1143 | sizek = (MSize)(nkgc*sizeof(GCRef) + fs->nkn*sizeof(lua_Number)); |
| 1144 | kstart = lj_mem_newt(fs->L, sizek, GCRef); | 1144 | kstart = lj_mem_newt(fs->L, sizek, GCRef); |
| 1145 | if (nkgc) setgcrefnull(kstart[0]); /* May be uninitialized otherwise. */ | 1145 | if (nkgc) setgcrefnull(kstart[0]); /* May be uninitialized otherwise. */ |
| 1146 | pt->k.gc = kstart + nkgc; | 1146 | pt->k.gc = kstart + nkgc; |
diff --git a/src/lj_state.c b/src/lj_state.c index 57c3dded..ef8f65ea 100644 --- a/src/lj_state.c +++ b/src/lj_state.c | |||
| @@ -150,7 +150,7 @@ static void close_state(lua_State *L) | |||
| 150 | lua_assert(gcref(g->gc.root) == obj2gco(L)); | 150 | lua_assert(gcref(g->gc.root) == obj2gco(L)); |
| 151 | lua_assert(g->strnum == 0); | 151 | lua_assert(g->strnum == 0); |
| 152 | lj_trace_freestate(g); | 152 | lj_trace_freestate(g); |
| 153 | lj_mem_freevec(g, g->strhash, g->strmask+1, GCstr *); | 153 | lj_mem_freevec(g, g->strhash, g->strmask+1, GCRef); |
| 154 | lj_str_freebuf(g, &g->tmpbuf); | 154 | lj_str_freebuf(g, &g->tmpbuf); |
| 155 | lj_mem_freevec(g, L->stack, L->stacksize, TValue); | 155 | lj_mem_freevec(g, L->stack, L->stacksize, TValue); |
| 156 | lua_assert(g->gc.total == sizeof(GG_State)); | 156 | lua_assert(g->gc.total == sizeof(GG_State)); |
diff --git a/src/lj_str.c b/src/lj_str.c index 62322b59..fec2d9b2 100644 --- a/src/lj_str.c +++ b/src/lj_str.c | |||
| @@ -64,7 +64,7 @@ void lj_str_resize(lua_State *L, MSize newmask) | |||
| 64 | p = next; | 64 | p = next; |
| 65 | } | 65 | } |
| 66 | } | 66 | } |
| 67 | lj_mem_freevec(g, g->strhash, g->strmask+1, GCstr *); | 67 | lj_mem_freevec(g, g->strhash, g->strmask+1, GCRef); |
| 68 | g->strmask = newmask; | 68 | g->strmask = newmask; |
| 69 | g->strhash = newhash; | 69 | g->strhash = newhash; |
| 70 | } | 70 | } |
