I thought this was going to be about a toy emulator/hobby project, but it's apparently about an emulator used in Time Travel Debugging!
It's similarly am x86-on-x86 JIT / emulator but (and I'm sure WinDbg's TTD is similar) most of what you want to do there is just code copying for any instructions that don't need special instrumentation.
And you want to run entirely in the cache of JITted code so you're close to native speed, rather than exit to C code and make decisions.
Working on the JIT in TTD was a lot of fun though, and it's a shame it didn't make sense to keep it around.
I'm surprised a JIT wasn't worth it but, from what I'm aware of, I can see a few reasons why the trade offs are different.