基于IR JIT框架的新PHP JIT实现 – PHP-8.4/9 的新 JIT 引擎

💡 原文中文,约700字,阅读约需2分钟。
📝

内容提要

该文章介绍了基于IR框架的新JIT实现,可以更好地优化和分配寄存器,使生成的本机代码更高效。IR框架将与PHP分开开发,并可能接受其他项目的贡献。

🎯

关键要点

  • 该文章介绍了基于IR框架的新JIT实现。
  • 新JIT实现生成中间表示(IR),并将低级任务委托给IR框架。
  • IR的使用提高了优化和寄存器分配的效率,生成的本机代码更高效。
  • PHP不需要关注底层细节,支持新目标(如RISCV)变得更容易。
  • IR框架将与PHP分开开发,可能接受其他项目的贡献。
  • 缺点包括JIT编译速度变慢,Wordpress的函数JIT编译速度慢了4倍。
  • IR框架的必要部分嵌入到php-src中,不会引入新的依赖项。
  • 新的JIT实现通过了所有CI工作流程,但仍然不成熟,可能导致失败。
  • 为了降低风险,旧的JIT实现不会被删除,用户可以通过配置使用旧的实现。
➡️

继续阅读