FX!32调研

FX!32 A Profile-Directed Binary Translator

Transparent operation

Transparency agent (DLL):调用FX!32 runtime来处理x86代码。

第一次执行某个程序时,完全是用仿真的方式来运行程序。

Runtime operation

尽可能地(whenever possible)把x86代码转换成Alpha代码。这一段还简单描述了FX!32运行流程

在运行中,会收集profile数据。

🤔JAVA虚拟机和FX!32设计的联系?(动静结合的鼻祖?)
在网上搜索JVM FX!32这俩关键词,
Welcome to the Opportunities of Binary Translation的一张图

The universe of binary translators
当年的JVM还是纯动态翻译,所以看来JVM和FX!32相似只是技术互相“借用”。

Cross-architecture interoperability

Jackets:解决Win NT和Win 32有相同的库但是调用接口不一样的问题。

Interface to native APIs

Runtime and background optimizer

Coordinating the process: the server

Creating the speed: binary translation

Profile-directed binary translators

Translator operation

Translation and optimization

Alternative solutions

Dynamic binary translators

Static binary translators

What does not work?

Performance