Ruby: Proposal to Upstream ZJIT
a year ago
- #JIT
- #Compiler
- #Ruby
- 关于将ZJIT(Shopify开发的下一代Ruby JIT)上游化的提案
- ZJIT引入静态单赋值(SSA)中间表示(IR)以实现更好的优化和模块化
- 旨在克服YJIT在内联和跨指令优化方面的局限性
- 设计上更便于Shopify外部贡献者参与,促进社区协作
- 当前状态:早期开发阶段,支持x86-64和arm64架构,计划兼容Ruby 3.5
- 目标包括快速JIT间调用、多态内联缓存和死代码消除
- 长期目标涵盖激进内联、垃圾回收优化和分配消除
- 合并策略拟保留YJIT作为默认选项,ZJIT通过命令行开关启用
- Matz(Ruby创始人)支持上游化,认可团队的技术路线
- 讨论包含方法级JIT相比基本块版本(LBBV)在优化和性能分析上的优势