X-Recipient: archive-cygwin@delorie.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 <anthony@ajrh.net>
User-Agent: Thunderbird 2.0.0.6 (Windows/20070728)
MIME-Version: 1.0
To: cygwin@cygwin.com
Subject: Re: Slowness problem due to  sjlj-exceptions for Octave
References: <20070905080321.29259AB0.matsuoka@mol.nagoya-u.ac.jp> <46DE0C86.61C0ABB0@dessent.net> <46DFFE96.70907@ajrh.net> <46E006AB.F600C446@dessent.net> <46E0D4F7.1050006@ajrh.net> <46E146D0.9C1F7289@dessent.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@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.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/

