From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11400 invoked by alias); 28 Nov 2003 03:02:55 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 11393 invoked from network); 28 Nov 2003 03:02:54 -0000 Received: from unknown (HELO nile.gnat.com) (205.232.38.5) by sources.redhat.com with SMTP; 28 Nov 2003 03:02:54 -0000 Received: from [216.220.103.156] (unknown [216.220.103.156]) by nile.gnat.com (Postfix) with ESMTP id 25443F2940; Thu, 27 Nov 2003 22:02:54 -0500 (EST) In-Reply-To: <871xrtd7ai.fsf@egil.codesourcery.com> References: <1069490758.1024.191.camel@leaf.tuliptree.org> <200311221436.hAMEauN16800@pc960.cambridge.arm.com> <20031122162654.GA6032@nevyn.them.org> <87n0aiuto1.fsf@egil.codesourcery.com> <871xrtd7ai.fsf@egil.codesourcery.com> Mime-Version: 1.0 (Apple Message framework v606) Content-Type: text/plain; charset=US-ASCII; format=flowed Message-Id: <5B267A00-214F-11D8-A3D8-000A959A128E@gnat.com> Content-Transfer-Encoding: 7bit Cc: Jim Wilson , gcc-patches@gcc.gnu.org, Andrew Pinski , Richard.Earnshaw@arm.com From: Geert Bosch Subject: Re: avoid unnecessary register saves for setjmp Date: Fri, 28 Nov 2003 05:15:00 -0000 To: "Zack Weinberg" X-SW-Source: 2003-11/txt/msg02221.txt.bz2 On Nov 27, 2003, at 12:56, Zack Weinberg wrote: >>> I'm going to take this opportunity to throw in a suggestion I've made >>> before, which is that setjmp/longjmp should - always, not just when >>> special variants are used - be converted by the front end into >>> invocations of the exception-unwinding facility, which gives us tons >>> more control. (Obviously this only works with DWARF2 exception >>> handling.) >> >> But what about backwards compatibility aka use of setjmp/longjmp >> through libraries, > > This is a major stumbling block, yes. Another issue is that traditional setjmp/longjmp is much faster than exception-unwinding if a large number of longjmp calls is made. I could agree with Zack that it is a good goal to have the default be using DWARF2-based exception handling, but we should always have the fallback option of using traditional setjmp/longjmp. -Geert