| 431 | |
| 432 | |
| 433 | static 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 | |
| 451 | static lu_mem traversetable (global_State *g, Table *h) { |
no test coverage detected