artiq-zynq/src/llvm_libunwind/src
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
..
AddressSpace.hpp Libunwind: use dyld instead of static linker symbols for unwind section. 2020-06-30 17:12:02 +08:00
CMakeLists.txt Copied LLVM Libunwind from commit 3e6ec2a 2020-06-30 16:52:49 +08:00
CompactUnwinder.hpp Copied LLVM Libunwind from commit 3e6ec2a 2020-06-30 16:52:49 +08:00
DwarfInstructions.hpp Copied LLVM Libunwind from commit 3e6ec2a 2020-06-30 16:52:49 +08:00
DwarfParser.hpp Copied LLVM Libunwind from commit 3e6ec2a 2020-06-30 16:52:49 +08:00
EHHeaderParser.hpp Copied LLVM Libunwind from commit 3e6ec2a 2020-06-30 16:52:49 +08:00
RWMutex.hpp Copied LLVM Libunwind from commit 3e6ec2a 2020-06-30 16:52:49 +08:00
Registers.hpp Copied LLVM Libunwind from commit 3e6ec2a 2020-06-30 16:52:49 +08:00
Unwind-EHABI.cpp runtime/eh_artiq: use forced unwind 2022-01-14 13:35:24 +08:00
Unwind-EHABI.h Copied LLVM Libunwind from commit 3e6ec2a 2020-06-30 16:52:49 +08:00
Unwind-seh.cpp Copied LLVM Libunwind from commit 3e6ec2a 2020-06-30 16:52:49 +08:00
Unwind-sjlj.c Copied LLVM Libunwind from commit 3e6ec2a 2020-06-30 16:52:49 +08:00
UnwindCursor.hpp Copied LLVM Libunwind from commit 3e6ec2a 2020-06-30 16:52:49 +08:00
UnwindLevel1-gcc-ext.c Copied LLVM Libunwind from commit 3e6ec2a 2020-06-30 16:52:49 +08:00
UnwindLevel1.c Copied LLVM Libunwind from commit 3e6ec2a 2020-06-30 16:52:49 +08:00
UnwindRegistersRestore.S Copied LLVM Libunwind from commit 3e6ec2a 2020-06-30 16:52:49 +08:00
UnwindRegistersSave.S Copied LLVM Libunwind from commit 3e6ec2a 2020-06-30 16:52:49 +08:00
Unwind_AppleExtras.cpp Copied LLVM Libunwind from commit 3e6ec2a 2020-06-30 16:52:49 +08:00
assembly.h Copied LLVM Libunwind from commit 3e6ec2a 2020-06-30 16:52:49 +08:00
config.h Copied LLVM Libunwind from commit 3e6ec2a 2020-06-30 16:52:49 +08:00
dwarf2.h Copied LLVM Libunwind from commit 3e6ec2a 2020-06-30 16:52:49 +08:00
libunwind.cpp Copied LLVM Libunwind from commit 3e6ec2a 2020-06-30 16:52:49 +08:00
libunwind_ext.h Copied LLVM Libunwind from commit 3e6ec2a 2020-06-30 16:52:49 +08:00