mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-30 02:25:19 +00:00
[WinEH] Run cleanup handlers when an exception is thrown
Generate tables in the .xdata section representing what actions to take when an exception is thrown. This currently fills in state for cleanups, catch handlers are still unfinished. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@233636 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -80,13 +80,15 @@ protected:
|
||||
/// `false' otherwise.
|
||||
bool callToNoUnwindFunction(const MachineInstr *MI);
|
||||
|
||||
void computePadMap(const SmallVectorImpl<const LandingPadInfo *> &LandingPads,
|
||||
RangeMapType &PadMap);
|
||||
|
||||
/// Compute the call-site table. The entry for an invoke has a try-range
|
||||
/// containing the call, a non-zero landing pad and an appropriate action.
|
||||
/// The entry for an ordinary call has a try-range containing the call and
|
||||
/// zero for the landing pad and the action. Calls marked 'nounwind' have
|
||||
/// no entry and must not be contained in the try-range of any entry - they
|
||||
/// form gaps in the table. Entries must be ordered by try-range address.
|
||||
|
||||
void computeCallSiteTable(SmallVectorImpl<CallSiteEntry> &CallSites,
|
||||
const SmallVectorImpl<const LandingPadInfo *> &LPs,
|
||||
const SmallVectorImpl<unsigned> &FirstActions);
|
||||
|
Reference in New Issue
Block a user