avoid unnecessary register saves for setjmp

Chris Lattner sabre@nondot.org
Thu Nov 27 20:28:00 GMT 2003


On Thu, 27 Nov 2003, Zack Weinberg wrote:
> Chris Lattner <sabre@nondot.org> writes:
> > On Thu, 27 Nov 2003, Zack Weinberg wrote:
> > Also, ideally, longjmp should run cleanups in intervening stackframes,
> > which the LLVM implementation does, just like for pthreads cancellation.
>
> Right.  (The IA64 psABI seems to anticipate that some people expect it
> *not* to, by providing longjmp_unwind.)

Really?  That seems to be directly against the C++ notion of construction
and destruction: that non-heap objects are guaranteed to be destroyed in
LIFO order.  I guess that people are used to not having longjmp work
"correctly"? :)

-Chris

-- 
http://llvm.cs.uiuc.edu/
http://www.nondot.org/~sabre/Projects/



More information about the Gcc-patches mailing list