forked from M-Labs/artiq-zynq
pca006132
8923feceac
This patches ports the LLVM libunwind newly added forced unwinding function. This enables us to run forced unwinding to obtain correct backtrace when uncaught exceptions occur. This patch also changes the exception handling scheme from the standard two-phase unwinding to single phase using forced unwinding. This brings some performance improvement and prepared for later nested exception support. For nested exceptions, we will have to record the backtrace regardless if the exception is an uncaught exception, as there can be another exception being thrown while executing the finally block for caught exceptions, and we will lose the backtrace if we don't store it earlier before running the cleanup pads. |
||
---|---|---|
.. | ||
mach-o | ||
__libunwind_config.h | ||
libunwind.h | ||
unwind.h |