Efficient Code Generation in a Region-Based Dynamic Binary Translator

被引:0
作者
Spink, Tom [1 ]
Wagstaff, Harry [1 ]
Franke, Bjoern [1 ]
Topham, Nigel [1 ]
机构
[1] Univ Edinburgh, Sch Informat, Inst Comp Syst Architecture, Edinburgh EH8 9YL, Midlothian, Scotland
基金
英国工程与自然科学研究理事会;
关键词
Design; experimentation; measurement; performance; Dynamic binary translation; region-based just-in-time compilation; alias analysis; COMPILATION TECHNIQUE;
D O I
10.1145/2666357.2597810
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Region-based JIT compilation operates on translation units comprising multiple basic blocks and, possibly cyclic or conditional, control flow between these. It promises to reconcile aggressive code optimisation and low compilation latency in performance-critical dynamic binary translators. Whilst various region selection schemes and isolated code optimisation techniques have been investigated it remains unclear how to best exploit such regions for efficient code generation. Complex interactions with indirect branch tables and translation caches can have adverse effects on performance if not considered carefully. In this paper we present a complete code generation strategy for a region-based dynamic binary translator, which exploits branch type and control flow profiling information to improve code quality for the common case. We demonstrate that using our code generation strategy a competitive region-based dynamic compiler can be built on top of the LLVM JIT compilation framework. For the ARM V5T target ISA and SPEC CPU 2006 benchmarks we achieve execution rates of, on average, 867 MIPS and up to 1323 MIPS on a standard X86 host machine, outperforming state-of-the-art QEMU-ARM by delivering a speedup of 264%.
引用
收藏
页码:3 / 12
页数:10
相关论文
共 31 条
  • [1] [Anonymous], P ANN DES AUT C DAC
  • [2] [Anonymous], IBM TECHDOCS WHITE P
  • [3] A brief history of just-in-time
    Aycock, J
    [J]. ACM COMPUTING SURVEYS, 2003, 35 (02) : 97 - 113
  • [4] Dynamo: A transparent dynamic optimization system
    Bala, V
    Duesterwald, E
    Banerjia, S
    [J]. ACM SIGPLAN NOTICES, 2000, 35 (05) : 1 - 12
  • [5] Bellard F, 2005, USENIX Association Proceedings of the FREENIX/Open Source Track, P41
  • [6] Generalized Just-In-Time Trace Compilation using a Parallel Task Farm in a Dynamic Binary Translator
    Boehm, Igor
    von Koch, Tobias J. K. Edler
    Kyle, Stephen
    Franke, Bjoern
    Topham, Nigel
    [J]. ACM SIGPLAN NOTICES, 2011, 46 (06) : 74 - 85
  • [7] An infrastructure for adaptive dynamic optimization
    Bruening, D
    Garnett, T
    Amarasinghe, S
    [J]. CGO 2003: INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION, 2003, : 265 - 275
  • [8] Bruening Derek., 2000, Proceedings of the 2000 ACM Workshop on Feedback-Directed and Dynamic Optimization FDDO-3, P13
  • [9] Chun-Chen Hsu, 2011, 2011 International Conference on Parallel Processing, P226, DOI 10.1109/ICPP.2011.57
  • [10] Recovery of jump table case statements from binary code
    Cifuentes, C
    Van Emmerik, M
    [J]. SEVENTH INTERNATIONAL WORKSHOP ON PROGRAM COMPREHENSION, PROCEEDINGS, 1999, : 192 - 199