| 414 | |
| 415 | |
| 416 | static void traversestrongtable (global_State *g, Table *h) { |
| 417 | Node *n, *limit = gnodelast(h); |
| 418 | int i; |
| 419 | for (i = 0; i < h->sizearray; i++) /* traverse array part */ |
| 420 | markvalue(g, &h->array[i]); |
| 421 | for (n = gnode(h, 0); n < limit; n++) { /* traverse hash part */ |
| 422 | checkdeadkey(n); |
| 423 | if (ttisnil(gval(n))) /* entry is empty? */ |
| 424 | removeentry(n); /* remove it */ |
| 425 | else { |
| 426 | lua_assert(!ttisnil(gkey(n))); |
| 427 | markvalue(g, gkey(n)); /* mark key */ |
| 428 | markvalue(g, gval(n)); /* mark value */ |
| 429 | } |
| 430 | } |
| 431 | } |
| 432 | |
| 433 | |
| 434 | static lu_mem traversetable (global_State *g, Table *h) { |
no test coverage detected