As part of bug #170628 I'm tuning how we call GC for fast memories: running the GC could free some up. The code currently calls collectAllGarbage in the current VM.
We could be smarter though:
1. We pass in the *current* VM to call a GC on. Nothing tells us that the current VM is holding onto a fast memory, it could be any VM. Should we instead iterate all of them, and GC the ones which are using wasm?
2. collectSync(Full) and custom eager destruction of wasm memories could be better. That would mean that we have a separate space where we track all fast memories, so we can sweep the dead ones without sweeping everything else.