X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=docs%2FExceptionHandling.html;h=57b0c4d84887555b480bed8cabfa2007842aafcb;hb=1d33bb310865528f5b1a303e33891366457bc0ef;hp=a0ecbfd2aae76296c68a2c386363339a79ba2831;hpb=8036ca47e27c22055cf8d708358b2e48b2a63e3b;p=oota-llvm.git diff --git a/docs/ExceptionHandling.html b/docs/ExceptionHandling.html index a0ecbfd2aae..57b0c4d8488 100644 --- a/docs/ExceptionHandling.html +++ b/docs/ExceptionHandling.html @@ -121,8 +121,8 @@ exceptions, the exception handling ABI provides a mechanism for supplying personalities. An exception handling personality is defined by way of a personality function (ex. for C++ __gxx_personality_v0) which receives the context of the exception, an exception structure containing -the exception object type and value, and a reference the exception table for the -current function. The personality function for the current compile unit is +the exception object type and value, and a reference to the exception table for +the current function. The personality function for the current compile unit is specified in a common exception frame.

The organization of an exception table is language dependent. For C++, an @@ -186,7 +186,7 @@ a C++ RTTI type info structure.

-

A call within the scope of a try statement can potential raise an exception. +

A call within the scope of a try statement can potentially raise an exception. In those circumstances, the LLVM C++ front-end replaces the call with an invoke instruction. Unlike a call, the invoke has two potential continuation points; where to continue when the call succeeds as per normal, and @@ -195,7 +195,7 @@ unwinding of a throw.

The term used to define a the place where an invoke continues after an exception is called a landing pad. LLVM landing pads are conceptually -alternative entry points into where a exception structure reference and a type +alternative function entry points where a exception structure reference and a type info index are passed in as arguments. The landing pad saves the exception structure reference and then proceeds to select the catch block that corresponds to the type info of the exception object.