Back to News
Advertisement
Advertisement

⚡ Community Insights

Discussion Sentiment

50% Positive

Analyzed from 110 words in the discussion.

Trending Topics

#emulation#static#recompilation#distinction#recompiling#instruction#instructions#visit#never#emulator

Discussion (5 Comments)Read Original on HackerNews

dmitrygrabout 1 hour ago
At the end it is not emulation but static recompilation (which is, arguably, cooler)
throwaway2744838 minutes ago
How do you differentiate the two? What is the benefit of such a distinction? Why not use eg threaded emulation vs recompiled emulation?
drunken_thor15 minutes ago
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.
dmitrygr20 minutes ago
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.
throwaway2744817 minutes ago
Hm. What is the utility of this distinction?

Anyway, qemu certainly seems like it would fall under your definition of "emulator" despite obviously dynamically recompiling.