Exception Handling

From wiki.dwarfstd.org
Revision as of 11:40, 21 June 2013 by >Eager (New page: == C++ Exception Handling == The ''C++ ABI for IA-64: Exception Handling'' (no authors identified) describes a method for implementing exception handling (EH) as required by the ISO C++ S...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

C++ Exception Handling

The C++ ABI for IA-64: Exception Handling (no authors identified) describes a method for implementing exception handling (EH) as required by the ISO C++ Standard. Revision 1.22 of this document can be found [[1]]. This EH methodology is described for Intel Itanium (IA-64) processor, but has been adopted for use by other processors, including X86, PowerPC, and others.

The System V Application Binary Interface:AMD64 Architecture Processor Supplement, Edited by Michael Matz, Jan Hubicka, Andreas Jaeger, and Mark Mitchell, describes an implementation for the AMD64 architecture. Draft version 0.99.5 of this document, dated September 3, 2010, can be found [[2]] This document may include extensions to the Itanium document, but is incomplete. For example, Section 3.7 " Stack Unwind Algorithm" describes some aspects of data encoding but does not describe how to unwind the stack.

The C++ ABI method uses static data to identify the exception handlers and describe how to unwind the stack frames required to implement C++ exception handling. Alternate methods of implementing execute code to save the current program state before entering a try block, resulting in a less efficient implementation.