How do you differentiate the two? What is the benefit of such a distinction? Why not use eg threaded emulation vs recompiled emulation?
eg:
if (rand64() == 0x123456789abcdef0ull)
baz = bar;
an emulator will likely never visit that assignment. A static recompiler will translate it.Anyway, qemu certainly seems like it would fall under your definition of "emulator" despite obviously dynamically recompiling.
distinction is that an emulator is much simpler, while a static recompiler is a lot more work and thus ~30% more cool