Compacting garbage collection with ambiguous roots | Synapse