I like the idea, and it could work in many cases, but it's hard to make it truly universal. For example languages like Lua, Java and C# have finalizers, and JavaScript GCs do not, so you can't reuse the outer GC. Other possible issues are weak refs, etc.
So even if we duplicate by compiling another GC, we are enabling new types of GCing, it isn't an exact clone.
So even if we duplicate by compiling another GC, we are enabling new types of GCing, it isn't an exact clone.