Do typical emulators compile ahead of time? Just-in-time?
If not, why? This approach (ahead of time compilation) appears to have huge benefits.
Interpretation involves writing a VM that represents the state of various parts of the machine, and executes instructions that change the state of the VM, with varying levels of accuracy.