The first bug is that we shouldn't remove the worker from the worker cache when reloading, because it's not actually being removed. terminate() already does this for us in the case where it is needed.
The second bug is that we should set .loaded=false as soon as we clear the ports on a worker we're about to reload, because otherwise the creation of a new port can occur between the reload triggering and the re-initialization, and those ports would get lost.
--HG--
extra : transplant_source : a%DF%D4%C5%E9%CD%E2%9B%FA%07%9E%22%D4mU%60%2B%A6Z%3A