The first thing a catch handler does is call this.
"personality" function, specific to each language. This one, of course, is specific to DMD.
Called when fibers switch contexts.
Called by D code to throw an exception via
Look up classType in Action Table.
Look at the chain of inflight exceptions and pick the class type that'll be looked for in catch clauses.
Get Pointer to Thrown Object if type of thrown object is implicitly convertible to the catch type.
Decode Signed LEB128.
Read and extract information from the LSDA (aka gcc_except_table section). The dmd Call Site Table is structurally different from other implementations. It is organized as nested ranges, and one ip can map to multiple ranges. The most nested candidate is selected when searched. Other implementations have one candidate per ip.
Decode Unsigned LEB128.
Access C++ std::type_info's virtual functions from D, being careful to not require linking with libstd++ or interfere with core.stdcpp.typeinfo. So, give it a different name.
The C++ version of D's ExceptionHeader wrapper
Wrap the unwinder's data with our own compiler specific struct with our own data.
C++ Support ****************************
Distributed under the Boost Software License 1.0. (See accompanying file LICENSE)
Copyright (c) 2015-2016 by D Language Foundation
Exception handling support for Dwarf-style portable exceptions.