Epstein Files Full PDF

CLICK HERE
Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
teknopedia

  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
Flag Counter
  1. World Encyclopedia
  2. Dynamic recompilation - Wikipedia
Dynamic recompilation - Wikipedia
From Wikipedia, the free encyclopedia
On-the-fly translation of code between CPUs
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
icon
This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Dynamic recompilation" – news · newspapers · books · scholar · JSTOR
(January 2014) (Learn how and when to remove this message)
This article contains weasel words: vague phrasing that often accompanies biased or unverifiable information. Such statements should be clarified or removed. (January 2014)
This article may contain original research. Please improve it by verifying the claims made and adding inline citations. Statements consisting only of original research should be removed. (June 2021) (Learn how and when to remove this message)
icon
This article's lead section may be too short to adequately summarize the key points. Please consider expanding the lead to provide an accessible overview of all important aspects of the article. (June 2021)
(Learn how and when to remove this message)

Program execution
General concepts
  • Code
  • Translation
    • Compiler
    • Compile time
    • Optimizing compiler
  • Linking
  • Execution
    • Runtime system
    • Executable
    • Interpreter
    • Virtual machine
  • Intermediate representation (IR)
Types of code
  • Source code
  • Object code
  • Bytecode
  • Machine code
  • Microcode
Compilation strategies
  • Ahead-of-time (AOT)
  • Just-in-time (JIT)
    • Tracing just-in-time
    • Compile and go system
  • Precompilation
  • Transcompilation
  • Recompilation
  • Meta-tracing
Notable runtimes
  • Android Runtime (ART)
  • BEAM (Erlang)
  • Common Language Runtime (CLR) and Mono
  • CPython and PyPy
  • crt0 (C target-specific initializer)
  • Java virtual machine (JVM)
  • LuaJIT
  • Objective-C and Swift's
  • V8 and Node.js
  • Zend Engine (PHP)
Notable compilers & toolchains
  • GNU Compiler Collection (GCC)
  • LLVM and Clang
  • MSVC
  • Glasgow Haskell Compiler (GHC)
  • v
  • t
  • e

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

[edit]

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

[edit]

The main tasks a dynamic recompiler has to perform are:

  • Reading in machine code from the source platform
  • Emitting machine code for the target platform

A dynamic recompiler may also perform some auxiliary tasks:

  • Managing a cache of recompiled code
  • Updating of elapsed cycle counts on platforms with cycle count registers
  • Management of interrupt checking
  • Providing an interface to virtualized support hardware, for example a GPU
  • Optimizing higher-level code structures to run efficiently on the target hardware (see below)

Applications

[edit]
This article may contain excessive or irrelevant examples. Please help improve it by removing less pertinent examples and elaborating on existing ones. (June 2021) (Learn how and when to remove this message)
  • 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.[1]
  • DynamoRIO, an open-source successor to Dynamo that works with the ARM, x86-64 and IA-64 (Itanium) instruction sets.[2][3]
  • 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.[4]
  • 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

[edit]
  • PCSX2,[5] a PlayStation 2 emulator, has a recompiler called "microVU", the successor of "SuperVU".
  • GCemu,[6] a GameCube emulator.
  • GEM,[7] a Game Boy emulator for MSX uses an optimizing dynamic recompiler.
  • DeSmuME,[8] a Nintendo DS emulator, has a dynarec option.
  • Soywiz's Psp,[9] a PlayStation Portable emulator, has a dynarec option.
  • Mupen64Plus, a multi-platform Nintendo 64 emulator.[10]
  • Yabause, a multi-platform Saturn emulator.[11]
  • PPSSPP, a multi-platform PlayStation Portable emulator, uses a JIT dynamic recompiler by default.[12]
  • 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

[edit]
  • Binary recompiler
  • Binary translation
  • Comparison of platform virtualization software
  • Just-in-time compilation
  • Instrumentation (computer programming)

References

[edit]
  1. ^ "HP Labs' technical report on Dynamo". Archived from the original on 2008-07-07. Retrieved 2006-01-22.
  2. ^ "DynamoRIO Dynamic Instrumentation Tool Platform". Archived from the original on 2019-09-05. Retrieved 2016-04-12.
  3. ^ "DynamoRIO". GitHub. 2021-10-15.
  4. ^ Paul, Matthias R.; Frinke, Axel C. (1997-10-13) [first published 1991], FreeKEYB - Enhanced DOS keyboard and console driver (User Manual) (v6.5 ed.)
  5. ^ "PCSX 2". Archived from the original on 2005-10-29. Retrieved 2009-04-15.
  6. ^ petebernert (2015-10-03). "GCemu". SourceForge.
  7. ^ "Gameboy Emulator for MSX | The New Image". GEM. Retrieved 2014-01-12.
  8. ^ "DeSmuME v0.9.9".
  9. ^ Publicado por Carlos Ballesteros Velasco (2013-07-28). "Soywiz's PSP Emulator: Release : Soywiz's Psp Emulator 2013-07-28 (r525)". Pspemu.soywiz.com. Retrieved 2014-01-12.
  10. ^ Mupen64Plus
  11. ^ "SH2".
  12. ^ "PPSSPP - PPSSPP - PSP emulator for Android, Windows, Linux, iOS, MacOSX". ppsspp.org. Retrieved 2021-11-17.

External links

[edit]
  • Dynamic recompiler tutorial. Archive at the Wayback Machine (archived 11 June 2021).
  • Blog posts about writing a MIPS to PPC dynamic recompiler.
Retrieved from "https://teknopedia.ac.id/w/index.php?title=Dynamic_recompilation&oldid=1314454552"
Categories:
  • Virtualization
  • Compiler construction
  • Emulation software
Hidden categories:
  • Articles with short description
  • Short description is different from Wikidata
  • Articles needing additional references from January 2014
  • All articles needing additional references
  • Articles with weasel words from January 2014
  • Articles that may contain original research from June 2021
  • All articles that may contain original research
  • Wikipedia introduction cleanup from June 2021
  • All pages needing cleanup
  • Articles covered by WikiProject Wikify from June 2021
  • All articles covered by WikiProject Wikify
  • Articles with multiple maintenance issues
  • Use dmy dates from July 2019
  • Articles with too many examples from June 2021
  • All articles with too many examples
  • Wikipedia articles with style issues from June 2021

  • indonesia
  • Polski
  • العربية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصرى
  • Nederlands
  • 日本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українська
  • Tiếng Việt
  • Winaray
  • 中文
  • Русский
Sunting pranala
url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url url
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id