Conversation

There was a window of time where it was unsafe due to a bad decision to prematurely drop the legacy approach before the replacement was deployed across all platforms. However, that was a long time ago, and it's definitely safe across platforms now. It was an old historical issue.
2
1
It's also important to note that there was always a guard page at the bottom of the stack, so most stack overflows were always reliably caught on normal platforms. Originally, all edge cases were also caught due to the explicit checks. Typical stack exhaustion was never unsafe.
1
Stack probes are needed to catch overflows overshooting the guard page, due to having more than a page worth of data on the stack that's untouched before later data is used. By the way, this is still an issue for Clang and most other LLVM frontends on non-Windows platforms...