Dynamic recompilation explained

In computer science, dynamic recompilation is a feature of some emulators and virtual machines, where the system may recompile some part of a program during execution. By compiling during execution, the system can tailor the generated code to reflect the program's run-time environment, and potentially produce more efficient code by exploiting information that is not available to a traditional static compiler.

Uses

Most dynamic recompilers are used to convert machine code between architectures at runtime. This is a task often needed in the emulation of legacy gaming platforms. In other cases, a system may employ dynamic recompilation as part of an adaptive optimization strategy to execute a portable program representation such as Java or .NET Common Language Runtime bytecodes. Full-speed debuggers also utilize dynamic recompilation to reduce the space overhead incurred in most deoptimization techniques, and other features such as dynamic thread migration.

Tasks

The main tasks a dynamic recompiler has to perform are:

A dynamic recompiler may also perform some auxiliary tasks:

Applications

Emulators

See also

External links

Notes and References

  1. Web site: HP Labs' technical report on Dynamo. 2006-01-22 . 2008-07-07 . https://web.archive.org/web/20080707003649/http://www.hpl.hp.com/techreports/1999/HPL-1999-77.html. dead.
  2. Web site: DynamoRIO Dynamic Instrumentation Tool Platform . 2016-04-12 . 2019-09-05 . https://web.archive.org/web/20190905070811/http://www.dynamorio.org/home.html . dead .
  3. Web site: DynamoRIO. GitHub. 15 October 2021.
  4. Web site: PCSX 2. 2009-04-15 . 2005-10-29 . https://web.archive.org/web/20051029050226/http://www.pcsx2.net/. dead.
  5. Web site: GCemu. petebernert. SourceForge. 3 October 2015 .
  6. Web site: Gameboy Emulator for MSX | The New Image . GEM . 2014-01-12.
  7. Web site: DeSmuME v0.9.9.
  8. Web site: Publicado por Carlos Ballesteros Velasco . Soywiz's PSP Emulator: Release : Soywiz's Psp Emulator 2013-07-28 (r525) . Pspemu.soywiz.com . 2013-07-28 . 2014-01-12.
  9. http://pandorawiki.org/Mupen64plus_dynamic_recompiler Mupen64Plus
  10. Web site: SH2.
  11. Web site: PPSSPP - PPSSPP - PSP emulator for Android, Windows, Linux, iOS, MacOSX. 2021-11-17. ppsspp.org.