-
- if (ws->scan_bd != NULL && ws->scan_bd != ws->todo_bd)
- {
- ASSERT(ws->scan_bd->u.scan == ws->scan_bd->free);
- // we're not going to evac any more objects into
- // this block, so push it now.
- push_scanned_block(ws->scan_bd, ws);
- ws->scan_bd = NULL;
- // we might be able to scan the todo block now.
- did_something = rtsTrue;
- }
-
- if (did_something) break;