delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2007/09/08/02:48:43

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 <anthony AT ajrh DOT net>
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>
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: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019