My take: sea of nodes has no objective benefits over CFG/SSA. Like, none whatsoever. It’s all feels. And it has lots of objective downsides, which are summarized quite nicely in the V8 folks post about dropping it.
Let me dig into the no objective benefits bit: there does not exist a compiler transformation or analysis that would be easier to write in the sea of nodes representation. Not even one. Contrast this with SSA versus the alternatives, where SSA saves you hella lines of code that you would otherwise be writing to track use def chains.
Let me dig into the no objective benefits bit: there does not exist a compiler transformation or analysis that would be easier to write in the sea of nodes representation. Not even one. Contrast this with SSA versus the alternatives, where SSA saves you hella lines of code that you would otherwise be writing to track use def chains.