^ "DynamoRIO Dynamic Instrumentation Tool Platform".^ "HP Labs' technical report on Dynamo".Comparison of platform virtualization software. PPSSPP, a multi-platform PlayStation Portable emulator, uses a JIT dynamic recompiler by default.Yabause, a multi-platform Saturn emulator.Mupen64Plus, a multi-platform Nintendo 64 emulator.Soywiz's Psp, a PlayStation Portable emulator, has a dynarec option.DeSmuME, a Nintendo DS emulator, has a dynarec option.GEM, a Game Boy emulator for MSX uses an optimizing dynamic recompiler.PCSX2, a PlayStation 2 emulator, has a recompiler called "microVU", the successor of "SuperVU".Apple's Rosetta 2 for Apple silicon, permits many applications compiled for x86-64-based processors to be translated for execution on Apple silicon.running games written for the original Xbox) is widely assumed to use dynamic recompilation. The backwards compatibility functionality of the Xbox 360 (i.e.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.Microsoft Virtual PC for Mac, used to run x86 code on PowerPC.The Vx32 virtual machine employs dynamic recompilation to create OS-independent x86 architecture sandboxes for safe application plugins.DynamoRIO, an open-source successor to Dynamo that works with the ARM, x86-64 and IA-64 (Itanium) instruction sets.The HP Dynamo project, an example of a transparent binary dynamic optimizer.Psyco, a specializing compiler for Python.Later versions of the Mac 68K emulator used in classic Mac OS to run 680x0 code on the PowerPC hardware.Apple's Rosetta for Mac OS X on x86, allows PowerPC code to be run on the x86 architecture.Many Java virtual machines feature dynamic recompilation.See Wikipedia's guide to writing better articles for further suggestions. Please improve the article by adding more descriptive text and removing less pertinent examples. This article may contain indiscriminate, excessive, or irrelevant examples. Optimizing higher-level code structures to run efficiently on the target hardware (see below).Providing an interface to virtualized support hardware, for example a GPU.Updating of elapsed cycle counts on platforms with cycle count registers.Emitting machine code for the target platformĪ dynamic recompiler may also perform some auxiliary tasks:.Reading in machine code from the source platform.The main tasks a dynamic recompiler has to perform are: 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. 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. This is a task often needed in the emulation of legacy gaming platforms. Most dynamic recompilers are used to convert machine code between architectures at runtime. 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. 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. ( Learn how and when to remove this template message) Please consider expanding the lead to provide an accessible overview of all important aspects of the article. This article's lead section may be too short to adequately summarize the key points.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |