LLDSAL: A Low-Level Domain-Specific Aspect Language for Dynamic Code-Generation and Program Modification
Dynamic binary translation frameworks enable late modifications of binary programs. The binary translator needs to generate dynamic code at run-time for trampolines, translated control flow instructions, additional run-time checks, and lookups. The code must be efficient, low-level, and cannot rely on any calling conventions. A Low-Level Domain Specific Aspect Language (LLDSAL) is a natural fit to specify dynamically generated code snippets at compile time. The code is then generated by the translator on demand at run-time and integrated into the translated application code. The LLDSAL is tightly coupled to a host language and provides full access to data structures of the host language.