forked from M-Labs/nac3
1
0
Fork 0
nac3/src/llvm_libunwind
pca006132 8923feceac runtime/eh_artiq: use forced unwind
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.
2022-01-14 13:35:24 +08:00
..
cmake Copied LLVM Libunwind from commit 3e6ec2a 2020-06-30 16:52:49 +08:00
docs Copied LLVM Libunwind from commit 3e6ec2a 2020-06-30 16:52:49 +08:00
include runtime/eh_artiq: use forced unwind 2022-01-14 13:35:24 +08:00
src runtime/eh_artiq: use forced unwind 2022-01-14 13:35:24 +08:00
test Copied LLVM Libunwind from commit 3e6ec2a 2020-06-30 16:52:49 +08:00
.arcconfig Copied LLVM Libunwind from commit 3e6ec2a 2020-06-30 16:52:49 +08:00
.clang-format Copied LLVM Libunwind from commit 3e6ec2a 2020-06-30 16:52:49 +08:00
CMakeLists.txt Copied LLVM Libunwind from commit 3e6ec2a 2020-06-30 16:52:49 +08:00
LICENSE.TXT Copied LLVM Libunwind from commit 3e6ec2a 2020-06-30 16:52:49 +08:00