rts/CheckUnload: Don't prepare to unload if we can't unload
Previously prepareUnloadCheck
would move the objects
list to
old_objects
even when profiling (where we cannot unload). This caused
us to vacate the objects
list during major GCs, losing track of loaded
objects. Fix this by ensuring that prepareUnloadCheck
and
checkUnload
both use the same short-cutting logic.