2020.3.3
这篇文章谈到了Digital Bridge的设计,可能会和dbt的静态翻译器有些关系。
两种本地代码的Code Cache
- Block Cache用于存放基本块的本地代码,x86tomips里有见到过这个;
- Trace Cache用于存放热路径代码;
有3种profiling
- block profiling:简单,不能给出控制转移方向偏好;
- edge profiling:复杂度始终,能提供控制转移方向偏好,被用在Digital Bridge的热路径的判断依据;
- path profiling:需要分析程序的控制流结构,算法复杂度高;
热路径提供的优化可能性
- 基于模式的指令组合优化翻译(应该就是x86tomips里的flag pattern)的范围扩大;
- 延迟标志位计算优化的代码可以减少;