From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25331 invoked by alias); 27 Nov 2003 16:23:06 -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 25323 invoked from network); 27 Nov 2003 16:23:05 -0000 Received: from unknown (HELO mta04.fuse.net) (216.68.1.56) by sources.redhat.com with SMTP; 27 Nov 2003 16:23:05 -0000 Received: from dellpi.pinski.fam ([66.42.150.220]) by mta04.fuse.net (InterMail vM.5.01.06.05 201-253-122-130-105-20030824) with ESMTP id <20031127162304.DYCS13616.mta04.fuse.net@dellpi.pinski.fam>; Thu, 27 Nov 2003 11:23:04 -0500 Received: from [127.0.0.1] (IDENT:pinskia@localhost.pinski.fam [127.0.0.1]) by dellpi.pinski.fam (8.12.2/8.12.1) with ESMTP id hARGN15R016227; Thu, 27 Nov 2003 11:23:02 -0500 (EST) In-Reply-To: <87n0aiuto1.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> Mime-Version: 1.0 (Apple Message framework v606) Content-Type: text/plain; charset=US-ASCII; format=flowed Message-Id: Content-Transfer-Encoding: 7bit Cc: Jim Wilson , gcc-patches@gcc.gnu.org, Andrew Pinski , Richard.Earnshaw@arm.com From: Andrew Pinski Subject: Re: avoid unnecessary register saves for setjmp Date: Thu, 27 Nov 2003 17:11:00 -0000 To: "Zack Weinberg" X-SW-Source: 2003-11/txt/msg02171.txt.bz2 On Nov 27, 2003, at 00:01, 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, I know that Foundation and AppKit (Objective-C libraries) uses setjmp/longjmp and the Objective-C front-end emits it now with @try/@catch/@finally/@throw. (Apple does want to change it to dwarf-2 exceptions but cannot because backwards compatibility). Thanks, Andrew Pinski apinski@apple.com pinskia@gcc.gnu.org pinskia@physics.uc.edu