In methods scan_stacks there is a check with an early return that may prevent the sweeper from restarting. The comment describes that the intention is to prevent early return when flushing is in progress. A call to should_compile_jobs() is used for deciding that. That is a faulty indication since compilations is active during normal flushing, and it's not until the final emergency flushing that compilations are actually stopped. This causes the reclamation of flushed methods to be unnecessarily slow.