Lines Matching refs:h
158 static int traversetable (global_State *g, Table *h) { in traversetable() argument
163 if (h->metatable) in traversetable()
164 markobject(g, h->metatable); in traversetable()
165 mode = gfasttm(g, h->metatable, TM_MODE); in traversetable()
170 h->marked &= ~(KEYWEAK | VALUEWEAK); /* clear bits */ in traversetable()
171 h->marked |= cast_byte((weakkey << KEYWEAKBIT) | in traversetable()
173 h->gclist = g->weak; /* must be cleared after GC, ... */ in traversetable()
174 g->weak = obj2gco(h); /* ... so put in the appropriate list */ in traversetable()
179 i = h->sizearray; in traversetable()
181 markvalue(g, &h->array[i]); in traversetable()
183 i = sizenode(h); in traversetable()
185 Node *n = gnode(h, i); in traversetable()
283 Table *h = gco2h(o); in propagatemark() local
284 g->gray = h->gclist; in propagatemark()
285 if (traversetable(g, h)) /* table is weak? */ in propagatemark()
287 return sizeof(Table) + sizeof(TValue) * h->sizearray + in propagatemark()
288 sizeof(Node) * sizenode(h); in propagatemark()
353 Table *h = gco2h(l); in cleartable() local
354 int i = h->sizearray; in cleartable()
355 lua_assert(testbit(h->marked, VALUEWEAKBIT) || in cleartable()
356 testbit(h->marked, KEYWEAKBIT)); in cleartable()
357 if (testbit(h->marked, VALUEWEAKBIT)) { in cleartable()
359 TValue *o = &h->array[i]; in cleartable()
364 i = sizenode(h); in cleartable()
366 Node *n = gnode(h, i); in cleartable()
373 l = h->gclist; in cleartable()