/* sweep a list until a live object (or end of list)  */
static GCObject** sweeptolive(lua_State *L, GCObject **p)
/* sweep a list until a live object (or end of list)  */
static GCObject** sweeptolive(lua_State *L, GCObject **p)
{
    p = sweeplist(L, p, 1, NULL);
  } while (p == old);
  return p;
}