** If key is not marked, mark its entry as dead. This allows key to be ** collected, but keeps its entry in the table. A dead node is needed ** when Lua looks up for a key (it may be part of a chain) and when ** traversing a weak table (key might be removed from the table during ** traversal). Other places never manipulate dead keys, because its ** associated nil value is enough to signal that th
| 123 | ** empty. |
| 124 | */ |
| 125 | static void removeentry (Node *n) { |
| 126 | lua_assert(ttisnil(gval(n))); |
| 127 | if (valiswhite(gkey(n))) |
| 128 | setdeadvalue(wgkey(n)); /* unused and unmarked key; remove it */ |
| 129 | } |
| 130 | |
| 131 | |
| 132 | /* |
no outgoing calls
no test coverage detected