[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.12.2 New Backend Exception Support

This subsection discusses various aspects of the design of the data-driven model being implemented for the exception handling backend.

The goal is to generate enough data during the compilation of user code, such that we can dynamically unwind through functions at run time with a single routine (__throw) that lives in libgcc.a, built by the compiler, and dispatch into associated exception handlers.

This information is generated by the DWARF 2 debugging backend, and includes all of the information __throw needs to unwind an arbitrary frame. It specifies where all of the saved registers and the return address can be found at any point in the function.

Major disadvantages when enabling exceptions are:



This document was generated by system on December, 2 2004 using texi2html