logoalt Hacker News

throwaway27448today at 12:41 AM2 repliesview on HN

How do you differentiate the two? What is the benefit of such a distinction? Why not use eg threaded emulation vs recompiled emulation?


Replies

drunken_thortoday at 1:03 AM

In my limited understanding, static recompiling is like JIT transpilation from one arch to another where emulation runs each instruction calling behaviour depending on the instruction. As for tradeoffs my knowledge is not wide enough to declare anything certain.

show 1 reply
dmitrygrtoday at 12:58 AM

Emulation visits instructions as they are executed. Static recompilation will (at translation time) visit instructions that can be discovered, even if they never run.

eg:

   if (rand64() == 0x123456789abcdef0ull)
      baz = bar;
an emulator will likely never visit that assignment. A static recompiler will translate it.
show 2 replies