What do you mean by JIT cache in this case -- like an inline data cache, or like a cache for the jitted binary code?

The latter, though I'm just using it as an example really. I think for most emulator core designs today you wind up dumping a lot of ephemeral state when you rewind or load state (and sometimes even saving state has some overhead due to synchronization.)