• Many
Java virtual machines feature dynamic recompilation. • Apple's
Rosetta for
Mac OS X on x86, allows
PowerPC code to be run on the
x86 architecture. • Later versions of the
Mac 68K emulator used in
classic Mac OS to run
680x0 code on the PowerPC hardware. •
Psyco, a
specializing compiler for
Python. • The HP
Dynamo project, an example of a transparent binary dynamic
optimizer. •
DynamoRIO, an
open-source successor to Dynamo that works with the
ARM,
x86-64 and
IA-64 (Itanium) instruction sets. • The
Vx32 virtual machine employs dynamic recompilation to create
OS-independent x86 architecture sandboxes for safe application
plugins. •
Microsoft Virtual PC for Mac, used to run x86 code on PowerPC. • FreeKEYB, an international DOS keyboard and console driver with many usability enhancements utilized
self-modifying code and
dynamic dead code elimination to minimize its in-memory image based on its user configuration (selected features, languages, layouts) and actual runtime environment (OS variant and version, loaded drivers, underlying hardware), automatically resolving dependencies, dynamically relocating and recombining code sections on byte-level granularity and optimizing opstrings based on semantic information provided in the source code, relocation information generated by special tools during assembly and profile information obtained at load time. • The backwards compatibility functionality of the
Xbox 360 (i.e. running games written for the original
Xbox) is widely assumed to use dynamic recompilation. • Apple's
Rosetta 2 for Apple silicon, permits many applications compiled for
x86-64-based processors to be translated for execution on Apple silicon. •
QEMU Emulators •
PCSX2, a
PlayStation 2 emulator, has a recompiler called "microVU", the successor of "SuperVU". • GCemu, a
GameCube emulator. • GEM, a
Game Boy emulator for
MSX uses an optimizing dynamic recompiler. • DeSmuME, a
Nintendo DS emulator, has a dynarec option. • Soywiz's Psp, a
PlayStation Portable emulator, has a dynarec option. •
Mupen64Plus, a multi-platform Nintendo 64 emulator. • Yabause, a multi-platform
Saturn emulator. •
PPSSPP, a multi-platform
PlayStation Portable emulator, uses a
JIT dynamic recompiler by default. •
PCem, an emulator for old pc platforms which can be used on Windows and Linux. It uses the recompiler to translate legacy cpu calls to modern cpu instructions and to gain some speed in emulation overall. •
86Box, a fork of PCem with the goal of a more accurate emulation. It is using the recompiler for the same purpose. ==See also==