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 | } |