X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Message-ID: <46E24596.20408@ajrh.net> Date: Sat, 08 Sep 2007 02:47:50 -0400 From: Anthony Heading User-Agent: Thunderbird 2.0.0.6 (Windows/20070728) MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: Slowness problem due to sjlj-exceptions for Octave References: <20070905080321 DOT 29259AB0 DOT matsuoka AT mol DOT nagoya-u DOT ac DOT jp> <46DE0C86 DOT 61C0ABB0 AT dessent DOT net> <46DFFE96 DOT 70907 AT ajrh DOT net> <46E006AB DOT F600C446 AT dessent DOT net> <46E0D4F7 DOT 1050006 AT ajrh DOT net> <46E146D0 DOT 9C1F7289 AT dessent DOT net> In-Reply-To: <46E146D0.9C1F7289@dessent.net> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Junkmail-Status: score=10/50, host=mr08.lnh.mail.rcn.net X-Junkmail-SD-Raw: score=unknown, refid=str=0001.0A090206.46E245B0.0091,ss=1,fgs=0, ip=207.172.4.11, so=2006-12-09 10:45:40, dmn=5.3.14/2007-05-31 Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Brian Dessent wrote: > All of the actual processing of all window events happens through > messages passed to WndProc, but WndProc is never directly called > by user code. So if you want to communicate information between the > window procedure and the main function (such as: bad error happened, > we need to bail!) you wrap the message pump with a try/catch and > throw from the WndProc. Fair enough. I'd never expected that to work safely; instead I caught the exception inside WndProc, set a flag, returned normally, and checked the flag inside the pump. Given it's valid, your contingent arguments follow perfectly. > [...] And we can't offer a DW2 Cygwin gcc that uses SJLJ for > -mno-cygwin as they are really both the same back-end just with > different headers and runtimes. You raised the obvious point in a subsequent posting: back in February there seemed to be broad support to kill -mno-cygwin; if there were two backends, it might be possible to satisfy most people. Indeed in that very message, you wrote: > Here I meant to add that of course we have discussed deprecating > -mno-cygwin and offering a real MinGW cross in its place, which would > have its own back-end, and thus could have a different exception > handling model. But by the time you've done all that, you might as > well just package a separate gcc named "gcc-dw2" or whatever and have > them both installable in parallel, to please everybody. This is what > Danny did with his 4.2 MinGW releases. Agreed very largely. The only point I might highlight is one that Matsuoka-san mentioned with regard to Octave: using anything but a "default" compiler is confusing for e.g. application users creating plugin dlls. I think there's value in getting the packaging right, so that the bulk of the populace might be spared the joys of enlightenment about stack frame formats. Regards Anthony -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/