Simple/ASimpleReply.md 在 main 分支 · SeaOfNodes/Simple

主要观点:对关于编译器相关讨论的回复,指出 V8 从开始就限制了自身,SoN 有诸多优势,如等价类别名等工具,在效果处理、控制流等方面比其他编译更简单高效,同时提到调试、复杂调度等方面的观点和做法,认为编译速度等问题可能有其他原因。
关键信息:

  • V8 抛弃等价类别名,导致后续问题。
  • 强类型语言中等价类别名免费且能带来稀疏干净的效果链。
  • SoN 中等价类别名直接用普通节点和边表示,效果处理更简单高效。
  • 控制效果节点的方法,如通过格和范围检查消除。
  • 调试不用图而用 ASCII 转储。
  • 复杂调度算法的修正。
  • 访问顺序用工作列表保证线性时间。
  • 其他方面如死代码消除、引入新控制流、确定循环内内容、编译速度等的观点。
    重要细节:
  • 强类型语言中等价类别名从解析器直接得出无需再处理。
  • Java/Simple/C 效果链稀疏干净,JS 因非强类型有工程权衡。
  • C2 中通过格和范围检查消除来优化控制效果节点。
  • 调试用正常 ASCII 转储,近期有更好的图调试场景。
  • 复杂调度算法修正后快速简单。
  • 访问顺序用工作列表及处理回边。
  • 各种优化在不同方面的作用和实现方式。
阅读 9
0 条评论