Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
simplify interpreter-stacktraces code (JuliaLang#34019)
The unwinder and debuggers thought that our assembly code here was not quite correct. Rather than attempt to fix that, let the compiler generate it so we don't need to maintain it anymore. This was previously also not particularly optimal for an interpreter to need a couple extra function calls (by indirect pointer too) to setup the call frame, so now we avoid that. This simplifies the design by adding a new flag bit to the existing pgcstack frames. In the future, we may end up generalizing this support to handle stack allocation of arbitrary objects, but for now we implement just enough support for our current needs. It's unclear why dbghelp StackWalk glitches here a couple times (it is reporting the stack pointer instead of the instruction pointer as the return address), but this design is robust against that now (even though I've manually verified that that particular glitch still happens with this patch). fix JuliaLang#33877
- Loading branch information