2023.02.12

1. Introduction

我很赞同文章(2013)提出的二进制翻译的3个主要问题, 现在(2023)依旧是这3个主要问题吗?

  • ISA heterogeneity: the architectural heterogeneity between source and target ISAs.
  • Address difference: target addresses of the branch instructions in the target machine are different from the original ones in the source machine.
  • Context switches: DBT generates code on-the-fly, frequent context switches between the process of non-native code translation and the process of execution of generated native code leads to performance decline.

4. Hardware Support for DBT

  • 添加硬件flags解决x86 eflags
  • 用Jump-address LookUp Table(JLUT)解决跳转地址问题
  • 添加硬件scratchpad memory用于临时存储x86寄存器,降低上下文切换的开销