diff options
Diffstat (limited to 'src/lj_func.c')
-rw-r--r-- | src/lj_func.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/lj_func.c b/src/lj_func.c index 27a8322f..284bd3b3 100644 --- a/src/lj_func.c +++ b/src/lj_func.c | |||
@@ -28,7 +28,7 @@ GCproto *lj_func_newproto(lua_State *L) | |||
28 | pt->trace = 0; | 28 | pt->trace = 0; |
29 | setmref(pt->k, NULL); | 29 | setmref(pt->k, NULL); |
30 | setmref(pt->bc, NULL); | 30 | setmref(pt->bc, NULL); |
31 | pt->uv = NULL; | 31 | setmref(pt->uv, NULL); |
32 | pt->sizebc = 0; | 32 | pt->sizebc = 0; |
33 | pt->sizekgc = 0; | 33 | pt->sizekgc = 0; |
34 | pt->sizekn = 0; | 34 | pt->sizekn = 0; |
@@ -39,8 +39,8 @@ GCproto *lj_func_newproto(lua_State *L) | |||
39 | pt->lastlinedefined = 0; | 39 | pt->lastlinedefined = 0; |
40 | pt->lineinfo = NULL; | 40 | pt->lineinfo = NULL; |
41 | pt->varinfo = NULL; | 41 | pt->varinfo = NULL; |
42 | pt->uvname = NULL; | 42 | setmref(pt->uvname, NULL); |
43 | pt->chunkname = NULL; | 43 | setgcrefnull(pt->chunkname); |
44 | return pt; | 44 | return pt; |
45 | } | 45 | } |
46 | 46 | ||
@@ -51,10 +51,10 @@ void LJ_FASTCALL lj_func_freeproto(global_State *g, GCproto *pt) | |||
51 | pt->sizekn*(MSize)sizeof(lua_Number); | 51 | pt->sizekn*(MSize)sizeof(lua_Number); |
52 | lj_mem_free(g, mref(pt->k, GCRef) - nkgc, sizek); | 52 | lj_mem_free(g, mref(pt->k, GCRef) - nkgc, sizek); |
53 | lj_mem_freevec(g, proto_bc(pt), pt->sizebc, BCIns); | 53 | lj_mem_freevec(g, proto_bc(pt), pt->sizebc, BCIns); |
54 | lj_mem_freevec(g, pt->uv, pt->sizeuv, uint16_t); | 54 | lj_mem_freevec(g, proto_uv(pt), pt->sizeuv, uint16_t); |
55 | lj_mem_freevec(g, pt->lineinfo, pt->sizelineinfo, int32_t); | 55 | lj_mem_freevec(g, pt->lineinfo, pt->sizelineinfo, int32_t); |
56 | lj_mem_freevec(g, pt->varinfo, pt->sizevarinfo, struct VarInfo); | 56 | lj_mem_freevec(g, pt->varinfo, pt->sizevarinfo, struct VarInfo); |
57 | lj_mem_freevec(g, pt->uvname, pt->sizeuvname, GCstr *); | 57 | lj_mem_freevec(g, mref(pt->uvname, GCRef), pt->sizeuvname, GCRef); |
58 | lj_trace_freeproto(g, pt); | 58 | lj_trace_freeproto(g, pt); |
59 | lj_mem_freet(g, pt); | 59 | lj_mem_freet(g, pt); |
60 | } | 60 | } |
@@ -169,7 +169,7 @@ GCfunc *lj_func_newL_gc(lua_State *L, GCproto *pt, GCfuncL *parent) | |||
169 | nuv = fn->l.nupvalues; | 169 | nuv = fn->l.nupvalues; |
170 | base = L->base; | 170 | base = L->base; |
171 | for (i = 0; i < nuv; i++) { | 171 | for (i = 0; i < nuv; i++) { |
172 | uint32_t v = pt->uv[i]; | 172 | uint32_t v = proto_uv(pt)[i]; |
173 | GCupval *uv; | 173 | GCupval *uv; |
174 | if ((v & 0x8000)) { | 174 | if ((v & 0x8000)) { |
175 | uv = func_finduv(L, base + (v & 0xff)); | 175 | uv = func_finduv(L, base + (v & 0xff)); |