Caterpillar

Daily Thought - 2024-08-29

< back to list

A while ago, I hinted at some additional solution being required to fully make conditionals work. The problem that this solution needs to address is call stack reconstruction, specifically when involving multi-branch functions. And this is what I'd like to talk about today, finally.

So you're reconstructing the call stack. You suspect there's a gap, but the last function you know of happens to have multiple branches. And if more than one of those have tail calls, which are at the root of call graphs that lead to the next known function in the call stack, then you can't know what is missing in between.

You need additional information to reconstruct the call stack. And since the situation I just described can be detected at compile-time, I think that the compiler can provide that information, by arranging for hints to be left on the call stack. I have some ideas for making that happen, which I'd like to talk about tomorrow.

<< previous thoughtnext thought >>