WASM byte code is structured into a tree, which means an interpreter loop wouldn't perform well. You'd really want to flatten it into a simpler bytecode before interpreting it -- and you'd want to do other transforms on it before optimizing it.
I don't think WASM bytecode is a good format for execution, and it's only mediocre as a compilation target.