MCPcopy Create free account
hub / github.com/F-Stack/f-stack / retraversegrays

Function retraversegrays

freebsd/contrib/openzfs/module/lua/lgc.c:581–590  ·  view source on GitHub ↗

** retraverse all gray lists. Because tables may be reinserted in other ** lists when traversed, traverse the original lists to avoid traversing ** twice the same table (which is not wrong, but inefficient) */

Source from the content-addressed store, hash-verified

579** twice the same table (which is not wrong, but inefficient)
580*/
581static void retraversegrays (global_State *g) {
582 GCObject *weak = g->weak; /* save original lists */
583 GCObject *grayagain = g->grayagain;
584 GCObject *ephemeron = g->ephemeron;
585 g->weak = g->grayagain = g->ephemeron = NULL;
586 propagateall(g); /* traverse main gray list */
587 propagatelist(g, grayagain);
588 propagatelist(g, weak);
589 propagatelist(g, ephemeron);
590}
591
592
593static void convergeephemerons (global_State *g) {

Callers 1

atomicFunction · 0.85

Calls 2

propagatelistFunction · 0.85
propagateallFunction · 0.70

Tested by

no test coverage detected