陆地在望:离开节点海洋
V8的最终优化编译器Turbofan以使用节点海洋 (SoN)而闻名,这是少数几个在生产环境中使用的大规模编译器之一。然而,从大约三年前开始,我们逐步放弃节点海洋,采用一种更传统的控制流图 (CFG) 中间表示 (IR),我们将其命名为Turboshaft。目前,Turbofan的整个JavaScript后端已经改用Turboshaft,而WebAssembly的整个管道也采用了Turboshaft。Turbofan的两个部分仍然使用一些节点海洋:一个是内置管道,我们正在慢慢被Turboshaft替换;另一个是JavaScript管道的前端,我们正在用另一个基于控制流图的IR(Maglev)代替。本文将阐述我们为何离开节点海洋的原因。