Re:Show HN: I wrote a WebAssembly Interpreter and Toolkit in C
by haberman on Monday January 09, 2023 @12:29PM
(#34312959)
Yes our solution was to make all fallback functions into tail calls. It solves the problem, but requires a lot of discipline and can be a bit awkward.
I recently saw this, which is a very interesting approach for using non-tail-call fallback functions without trashing the code: https://chromium-review.googlesource.com/c/v8/v8/+/4116584
An instruction handler here being a dispatch function. It handles a single instruction.
Reading your post it says so under Limitations. Opaque calls trashes performance. I guess we agree, but then again I was just reading my assembly, so I had no reason to doubt myself.