Dynamic Translator

Program-Transformation.Org: The Program Transformation Wiki
A translator which performs its transformations as the program is running. Because the user is waiting for the program to actually run while the translation is happening, many expensive optimizations such as CommonSubexpressionElimination? can't be performed, or at least are postponed until the translator is very sure that the returns will be realised.

However, the translator is very aware of where the hot spots are in the program, and what frequently calls what. It turns out that code placement is the most effective optimization for dynamic translators.

Despite the lack of traditional optimizations, dynamic translators are capable of comparable performance compared with StaticTranslators.

Examples include Java and other JITs (JustInTime dynamic compilers, which translate from some VirtualMachine representation such as Java ByteCodes to native instructions), DynamicOptimizers? such as Hewlett Packard's Dynamo, and dynamic binary translators (see BinaryTranslation).

-- MikeVanEmmerik - 01 Dec 2001