It makes complete sense to ask for GC support. Even if it's never used to implement GC-d languages targeting WebAssembly, it's still important for integration with the Javascript GC.
(I imagine the threat here is that the more things can be deployed as web apps, the less they depend on any particular desktop OS.)
How would you implement determining the root set? So how would you detect which local variables reference an object? The Gc needs to keep these objects alive.
AFAIK even conservative root-scanning is not possible right now. Please correct me if I am wrong: With the current bytecodes it is only possible to access the heap but not the stack. To make things worse, object references could also be in registers.
WebAssembly is mostly about being a faster-to-parse version of asm.js. asm.js is an easier-to-optimize subset of Javascript. If it were easy to transform any arbitrary Javascript into asm.js, then browser makers would just apply that transformation themselves (or more likely, write the optimizations so they don't target only a subset).
This issue was closed 12 hours ago: https://github.com/WebAssembly/design/issues/219
I know it's cliche and been written about ad nauseum, but this really does feel like the trojan horse threat to MS, Apple and Android.