用于 Rust 的通用即时编译器。
制作 Just-In-Time 编译器是一项复杂的工作,带来了大量的安全问题,而且为了获得更好的性能结果,通常需要为此付出代价。HolyJit 的目的是消除这种权衡!简单性和安全性不再需要因为性能原因而牺牲。
HolyJit 扩展了 Rust 编译器,以复制其函数的内部表示,并将其转换为 HolyJit 库提供的 JIT 编译器可使用的表示形式。作为用户,这意味着要在 JIT 编译的代码中内联函数,只需用 jit! 宏标注它:
JIT 编译器的安全问题源于以下几点: * 将运行时代码分解为一组宏汇编函数。 * 编译器优化的正确性。 由于 HolyJit 扩展了 Rust 编译器,以提取编译器的有效知识,因此不再存在由于代码重复导致的正确性问题。 此外,提供给 JIT 编译器的代码与用户在 Rust 语言中编写的代码一样安全。 由于 HolyJit 旨在成为一个可轻松嵌入到其他项目中的 JIT 库,因此编译器优化的正确性应当是其主要目标。
暂无开放 Issues,或尚未同步最近议题。