MCPcopy Create free account
hub / github.com/DFHack/dfhack / traversestrongtable

Function traversestrongtable

depends/lua/src/lgc.c:433–448  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

431
432
433static void traversestrongtable (global_State *g, Table *h) {
434 Node *n, *limit = gnodelast(h);
435 unsigned int i;
436 for (i = 0; i < h->sizearray; i++) /* traverse array part */
437 markvalue(g, &h->array[i]);
438 for (n = gnode(h, 0); n < limit; n++) { /* traverse hash part */
439 checkdeadkey(n);
440 if (ttisnil(gval(n))) /* entry is empty? */
441 removeentry(n); /* remove it */
442 else {
443 lua_assert(!ttisnil(gkey(n)));
444 markvalue(g, gkey(n)); /* mark key */
445 markvalue(g, gval(n)); /* mark value */
446 }
447 }
448}
449
450
451static lu_mem traversetable (global_State *g, Table *h) {

Callers 1

traversetableFunction · 0.85

Calls 1

removeentryFunction · 0.85

Tested by

no test coverage detected