Problem statement: I want to use WebAssembly compliant with specification X.Y.
Suggestion:
Store spec version the operator was introduced in the operators.Op structure, add to existing new*Op() functions
When disassembly happens, opcodes present before the spec version cause an error.
Change the ReadModule or DecodeModule function to take a new argument representing the spec version.
I don't think the working group are intending on supporting any non-backwards-compatible proposals, but in the event they do, we can load a different vm. method into vm.funcTable to do the different feature without any performance hit. (that said, this is not likely to ever happen according to the footnote here)
Problem statement: I want to use WebAssembly compliant with specification X.Y.
Suggestion:
operators.Op
structure, add to existing new*Op() functionsReadModule
orDecodeModule
function to take a new argument representing the spec version.I don't think the working group are intending on supporting any non-backwards-compatible proposals, but in the event they do, we can load a different vm. method into
vm.funcTable
to do the different feature without any performance hit. (that said, this is not likely to ever happen according to the footnote here)Thoughts?
A good testbed on this might be the sign-extension-ops proposal.