aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2009-12-29 04:36:35 +0100
committerMike Pall <mike>2009-12-29 04:36:35 +0100
commit24429ed1f5c52258700e2e16c898c1dd9b8c4203 (patch)
tree984fd197d92070fe6e04edbe237444ee44b5b0c5 /src
parent81c9f5de89a03396ca80cd84e7c68552df7fd9f4 (diff)
downloadluajit-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.c2
-rw-r--r--src/lj_gc.c2
-rw-r--r--src/lj_parse.c2
-rw-r--r--src/lj_state.c2
-rw-r--r--src/lj_str.c2
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)
47void LJ_FASTCALL lj_func_freeproto(global_State *g, GCproto *pt) 47void 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}