Modify trans to use an outer walk and ensure that we rotate as we
encounter each module. This is somewhat different than how it used to work; it should ensure a more equitable distribution of work than before. The reason is that, before, when we rotated, we would rotate before we had seen the full contents of the current module. So e.g. if we have `mod a { mod b { .. } .. }`, then we rotate when we encounter `b`, but we haven't processed the remainder of `a` yet. Unclear if this makes any difference in practice, but it seemed suboptimal. Also, this structure (with an outer walk over modules) is closer to what we will want for an incremental setting.
Showing
想要评论请 注册 或 登录