From 24429ed1f5c52258700e2e16c898c1dd9b8c4203 Mon Sep 17 00:00:00 2001
From: Mike Pall <mike>
Date: Tue, 29 Dec 2009 04:36:35 +0100
Subject: Fix alloc/free sizes of internal GCRef arrays.

---
 src/lj_func.c  | 2 +-
 src/lj_gc.c    | 2 +-
 src/lj_parse.c | 2 +-
 src/lj_state.c | 2 +-
 src/lj_str.c   | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

(limited to 'src')

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)
 void LJ_FASTCALL lj_func_freeproto(global_State *g, GCproto *pt)
 {
   MSize nkgc = round_nkgc(pt->sizekgc);
-  MSize sizek = nkgc*(MSize)sizeof(GCobj *) +
+  MSize sizek = nkgc*(MSize)sizeof(GCRef) +
 		pt->sizekn*(MSize)sizeof(lua_Number);
   lj_mem_free(g, pt->k.gc - nkgc, sizek);
   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)
     GCproto *pt = gco2pt(o);
     gc_traverse_proto(g, pt);
     return sizeof(GCproto) + sizeof(BCIns) * pt->sizebc +
-			     sizeof(GCobj *) * pt->sizekgc +
+			     sizeof(GCRef) * pt->sizekgc +
 			     sizeof(lua_Number) * pt->sizekn +
 			     sizeof(int16_t) * pt->sizeuv +
 			     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)
   checklimitgt(fs, fs->nkn, BCMAX_D+1, "constants");
   checklimitgt(fs, fs->nkgc, BCMAX_D+1, "constants");
   nkgc = round_nkgc(fs->nkgc);
-  sizek = (MSize)(nkgc*sizeof(MRef) + fs->nkn*sizeof(lua_Number));
+  sizek = (MSize)(nkgc*sizeof(GCRef) + fs->nkn*sizeof(lua_Number));
   kstart = lj_mem_newt(fs->L, sizek, GCRef);
   if (nkgc) setgcrefnull(kstart[0]);  /* May be uninitialized otherwise. */
   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)
     lua_assert(gcref(g->gc.root) == obj2gco(L));
     lua_assert(g->strnum == 0);
     lj_trace_freestate(g);
-    lj_mem_freevec(g, g->strhash, g->strmask+1, GCstr *);
+    lj_mem_freevec(g, g->strhash, g->strmask+1, GCRef);
     lj_str_freebuf(g, &g->tmpbuf);
     lj_mem_freevec(g, L->stack, L->stacksize, TValue);
     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)
       p = next;
     }
   }
-  lj_mem_freevec(g, g->strhash, g->strmask+1, GCstr *);
+  lj_mem_freevec(g, g->strhash, g->strmask+1, GCRef);
   g->strmask = newmask;
   g->strhash = newhash;
 }
-- 
cgit v1.2.3-55-g6feb