Pushing the limits of RISC-V emulation (shuklaayu.sh)

20 points by shuklaayush 7 days ago

4 comments:

by dmitrygr an hour ago

At the end it is not emulation but static recompilation (which is, arguably, cooler)

by throwaway27448 21 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?

by dmitrygr 3 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.
by throwaway27448 a few seconds ago

Hm. What is the utility of this distinction?

Data from: Hacker News, provided by Hacker News (unofficial) API