diff options
Diffstat (limited to 'src/lj_gc.h')
-rw-r--r-- | src/lj_gc.h | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/lj_gc.h b/src/lj_gc.h index 3f71e9b7..af8c476b 100644 --- a/src/lj_gc.h +++ b/src/lj_gc.h | |||
@@ -81,8 +81,10 @@ LJ_FUNC void lj_gc_barriertrace(global_State *g, uint32_t traceno); | |||
81 | static LJ_AINLINE void lj_gc_barrierback(global_State *g, GCtab *t) | 81 | static LJ_AINLINE void lj_gc_barrierback(global_State *g, GCtab *t) |
82 | { | 82 | { |
83 | GCobj *o = obj2gco(t); | 83 | GCobj *o = obj2gco(t); |
84 | lua_assert(isblack(o) && !isdead(g, o)); | 84 | lj_assertG(isblack(o) && !isdead(g, o), |
85 | lua_assert(g->gc.state != GCSfinalize && g->gc.state != GCSpause); | 85 | "bad object states for backward barrier"); |
86 | lj_assertG(g->gc.state != GCSfinalize && g->gc.state != GCSpause, | ||
87 | "bad GC state"); | ||
86 | black2gray(o); | 88 | black2gray(o); |
87 | setgcrefr(t->gclist, g->gc.grayagain); | 89 | setgcrefr(t->gclist, g->gc.grayagain); |
88 | setgcref(g->gc.grayagain, o); | 90 | setgcref(g->gc.grayagain, o); |
@@ -107,8 +109,8 @@ static LJ_AINLINE void lj_gc_barrierback(global_State *g, GCtab *t) | |||
107 | lj_gc_barrierf(G(L), obj2gco(p), obj2gco(o)); } | 109 | lj_gc_barrierf(G(L), obj2gco(p), obj2gco(o)); } |
108 | 110 | ||
109 | /* Allocator. */ | 111 | /* Allocator. */ |
110 | LJ_FUNC void *lj_mem_realloc(lua_State *L, void *p, MSize osz, MSize nsz); | 112 | LJ_FUNC void *lj_mem_realloc(lua_State *L, void *p, GCSize osz, GCSize nsz); |
111 | LJ_FUNC void * LJ_FASTCALL lj_mem_newgco(lua_State *L, MSize size); | 113 | LJ_FUNC void * LJ_FASTCALL lj_mem_newgco(lua_State *L, GCSize size); |
112 | LJ_FUNC void *lj_mem_grow(lua_State *L, void *p, | 114 | LJ_FUNC void *lj_mem_grow(lua_State *L, void *p, |
113 | MSize *szp, MSize lim, MSize esz); | 115 | MSize *szp, MSize lim, MSize esz); |
114 | 116 | ||
@@ -116,13 +118,13 @@ LJ_FUNC void *lj_mem_grow(lua_State *L, void *p, | |||
116 | 118 | ||
117 | static LJ_AINLINE void lj_mem_free(global_State *g, void *p, size_t osize) | 119 | static LJ_AINLINE void lj_mem_free(global_State *g, void *p, size_t osize) |
118 | { | 120 | { |
119 | g->gc.total -= (MSize)osize; | 121 | g->gc.total -= (GCSize)osize; |
120 | g->allocf(g->allocd, p, osize, 0); | 122 | g->allocf(g->allocd, p, osize, 0); |
121 | } | 123 | } |
122 | 124 | ||
123 | #define lj_mem_newvec(L, n, t) ((t *)lj_mem_new(L, (MSize)((n)*sizeof(t)))) | 125 | #define lj_mem_newvec(L, n, t) ((t *)lj_mem_new(L, (GCSize)((n)*sizeof(t)))) |
124 | #define lj_mem_reallocvec(L, p, on, n, t) \ | 126 | #define lj_mem_reallocvec(L, p, on, n, t) \ |
125 | ((p) = (t *)lj_mem_realloc(L, p, (on)*sizeof(t), (MSize)((n)*sizeof(t)))) | 127 | ((p) = (t *)lj_mem_realloc(L, p, (on)*sizeof(t), (GCSize)((n)*sizeof(t)))) |
126 | #define lj_mem_growvec(L, p, n, m, t) \ | 128 | #define lj_mem_growvec(L, p, n, m, t) \ |
127 | ((p) = (t *)lj_mem_grow(L, (p), &(n), (m), (MSize)sizeof(t))) | 129 | ((p) = (t *)lj_mem_grow(L, (p), &(n), (m), (MSize)sizeof(t))) |
128 | #define lj_mem_freevec(g, p, n, t) lj_mem_free(g, (p), (n)*sizeof(t)) | 130 | #define lj_mem_freevec(g, p, n, t) lj_mem_free(g, (p), (n)*sizeof(t)) |