aboutsummaryrefslogtreecommitdiff
path: root/lgc.c
diff options
context:
space:
mode:
Diffstat (limited to 'lgc.c')
-rw-r--r--lgc.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/lgc.c b/lgc.c
index 8e76ccd7..2e749902 100644
--- a/lgc.c
+++ b/lgc.c
@@ -252,12 +252,13 @@ void luaC_fix (lua_State *L, GCObject *o) {
252 252
253 253
254/* 254/*
255** create a new collectable object (with given type and size) and link 255** create a new collectable object (with given type, size, and offset)
256** it to 'allgc' list. 256** and link it to 'allgc' list.
257*/ 257*/
258GCObject *luaC_newobj (lua_State *L, int tt, size_t sz) { 258GCObject *luaC_newobjdt (lua_State *L, int tt, size_t sz, size_t offset) {
259 global_State *g = G(L); 259 global_State *g = G(L);
260 GCObject *o = cast(GCObject *, luaM_newobject(L, novariant(tt), sz)); 260 char *p = cast_charp(luaM_newobject(L, novariant(tt), sz));
261 GCObject *o = cast(GCObject *, p + offset);
261 o->marked = luaC_white(g); 262 o->marked = luaC_white(g);
262 o->tt = tt; 263 o->tt = tt;
263 o->next = g->allgc; 264 o->next = g->allgc;
@@ -265,6 +266,11 @@ GCObject *luaC_newobj (lua_State *L, int tt, size_t sz) {
265 return o; 266 return o;
266} 267}
267 268
269
270GCObject *luaC_newobj (lua_State *L, int tt, size_t sz) {
271 return luaC_newobjdt(L, tt, sz, 0);
272}
273
268/* }====================================================== */ 274/* }====================================================== */
269 275
270 276