重そうなバグに取りかかる
named let や letrec の最適化で let 境界を超えて jump してしまうバグがある。これを直すのが明日の目標。
tail context 情報と同じようにスタック消費量を渡して jump の前にその分だけ shift する。もしくは let 境界を越えることを検知して最適化をやめる。どちらかの対応が必要。この問題が「重い」という印象なのは、最適化フェーズが整理されていないのと pass2 と pass3 をまたがった現象であることが原因と分析。
named let や letrec の最適化で let 境界を超えて jump してしまうバグがある。これを直すのが明日の目標。
tail context 情報と同じようにスタック消費量を渡して jump の前にその分だけ shift する。もしくは let 境界を越えることを検知して最適化をやめる。どちらかの対応が必要。この問題が「重い」という印象なのは、最適化フェーズが整理されていないのと pass2 と pass3 をまたがった現象であることが原因と分析。