From d40bc4ad433b45445bbdf2d187f853d67cb9eb9a Mon Sep 17 00:00:00 2001 From: Bill Wendling Date: Sat, 22 Sep 2007 10:17:08 +0000 Subject: Validation fixes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42232 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/ExceptionHandling.html | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'docs') diff --git a/docs/ExceptionHandling.html b/docs/ExceptionHandling.html index d3b157d..0b1c651 100644 --- a/docs/ExceptionHandling.html +++ b/docs/ExceptionHandling.html @@ -72,21 +72,20 @@ C/C++.

Exception handling for most programming languages is designed to recover from conditions that rarely occur during general use of an application. To that end, exception handling should not interfere with the main flow of an -application's algorithm by performing checkpointing tasks such as saving +application's algorithm by performing checkpointing tasks such as saving the current pc or register state.

The Itanium ABI Exception Handling Specification defines a methodology for providing outlying data in the form of exception tables without inlining -speculative exception handling code in the flow of an application's main +speculative exception handling code in the flow of an application's main algorithm. Thus, the specification is said to add "zero-cost" to the normal execution of an application.

A more complete description of the Itanium ABI exception handling runtime support of can be found at Itanium C++ ABI: -Exception Handling. A description of the exception frame format can be -found at Exception Frames, with details of the Dwarf specification at Dwarf 3 Standard. A description for the C++ exception table formats can be found at @@ -243,7 +242,7 @@ selector.

Finally, the entry and exit of catch code is bracketed with calls to __cxa_begin_catch and __cxa_end_catch. __cxa_begin_catch takes a exception structure reference as an argument -and returns the value of the exception object. __cxa_end_catch +and returns the value of the exception object. __cxa_end_catch takes a exception structure reference as an argument. This function clears the exception from the exception space. Note: a rethrow from within the catch may replace this call with a __cxa_rethrow.

@@ -438,7 +437,7 @@ all functions in the unit.

An exception table contains information about what actions to take when an -exception is thrown in a particular part of a function's code. There is +exception is thrown in a particular part of a function's code. There is one exception table per function except leaf routines and functions that have only calls to non-throwing functions will not need an exception table.

@@ -455,7 +454,7 @@ only calls to non-throwing functions will not need an exception table.

    -
  1. Testing/Testing/Testing.

  2. +
  3. Testing/Testing/Testing.

-- cgit v1.1