DAISY: dynamic compilation for 100% architectural compatibility
Proceedings of the 24th annual international symposium on Computer architecture
Introduction to Algorithms
FX!32: A Profile-Directed Binary Translator
IEEE Micro
Precise Exception Semantics in Dynamic Compilation
CC '02 Proceedings of the 11th International Conference on Compiler Construction
Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization
Using Annotations to Reduce Dynamic Optimization Time
Using Annotations to Reduce Dynamic Optimization Time
Proceedings of the 36th annual IEEE/ACM International Symposium on Microarchitecture
Implementing a Java TM Virtual Machine in the Java Programming Language
Implementing a Java TM Virtual Machine in the Java Programming Language
The Accuracy of Initial Prediction in Two-Phase Dynamic Binary Translators
Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization
Pin: building customized program analysis tools with dynamic instrumentation
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Using program metadata to support SDT in object-oriented applications
Proceedings of the 4th workshop on the Implementation, Compilation, Optimization of Object-Oriented Languages and Programming Systems
Metaman: system-wide metadata management
Proceedings of the Workshop on Binary Instrumentation and Applications
Dynamic register promotion of stack variables
CGO '11 Proceedings of the 9th Annual IEEE/ACM International Symposium on Code Generation and Optimization
SINOF: A dynamic-static combined framework for dynamic binary translation
Journal of Systems Architecture: the EUROMICRO Journal
A methodology for binary encoding of citation metadata
International Journal of Metadata, Semantics and Ontologies
Hi-index | 0.00 |
A dynamic binary translator offers solutions for translating and running source architecture binaries on target architecture at runtime. Regardless of its growing popularity, practical dynamic binary translators usually suffer from the limited optimizations performed when generating the translated code due to the lack of useful information available in the executable files and the requirement to conform to the binary-level compatibility. Trying to generate more efficient translated code, we propose in this paper a novel method of passing performance critical information to a dynamic binary translator through the metadata section generated during the static compilation phase. With the performance critical metadata, the dynamic binary translator is able to perform aggressive optimizations to generate higher quality code. We implemented a general and extensible framework in GCC 4.0 and IA-32® Execution Layer, and selected metadata related to memory optimizations as our target. The metadata enables IA-32 EL to perform memory optimizations such as registerization, memory ordering relaxation and address disambiguation of memory instructions. Experimental data shows an overall performance improvement of 15.03% for SPECfp2000 and 1.21% for SPECint2000. For some specific benchmarks, the performance improvement is even up to 37.09%.