Subject: Re: gcc-dw2? or fast sjlj-exceptions EH
From: Tatsuro MATSUOKA <[email-masked]>
To: Eric Blake <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Wed, 12 Sep 2007 11:29:57 +0900
List-Id: <cygwin.cygwin.com>

Eric Blake <[email-masked]> wrote:
(2007/09/12 09:29)

>I think you are misunderstanding a fundamental concept.  sjlj exception
>handling is inherently slower than stack-tracing exception handling,
>because it must assume the worst and store the entire stack state (the
>'sj' or setjump) prior to any call site where an exception might occur,
>whether or not an exception actually happens (the 'lj' or longjump part).
> Dwarf error handling, on the other hand, is a form of stack-tracing,
>where there is NO penalty UNLESS there was an exception.  Exception
>handling is slower, because it must crawl backwards through the stack to
>find all catch points with handlers to run, but more efficient when there
>is no exception because you don't waste time saving state that never gets
>jumped to.
>
>In other words, the ONLY way to speed up octave is to avoid sjlj
>exceptions.  And there are two ways to do that - either switch to
>stack-based exceptions (such as dwarf), or avoid exceptions to begin with.
> The octave maintainer has already expressed a reluctance to disable
>exceptions, and the current gcc for cygwin, 3.4.4, doesn't have a way to
>use anything other than sjlj, so you will just have to wait.

Dear Eric Blake 
I really appreciate for your comprehensible reply.
I'll wait for a while.

Sincerely yours

Tasturo MATSUOKA

--
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/