[fpc-devel] Const optimization is a serious bug

Flávio Etrusco flavio.etrusco at gmail.com
Sat Jul 9 19:35:44 CEST 2011


On Fri, Jul 8, 2011 at 7:05 AM, Jonas Maebe <jonas.maebe at elis.ugent.be> wrote:
(...)
> The main problem here is that FPC's exception handling is based on
> setjump/longjump. This technique has a relatively high overhead for "try",
> but low overhead when an exception actually occurs (of course, since
> exceptions are supposed to happen only exceptionally, that's not a really
> good selling point). The main reason we use it is because it's easy to
> implement.
>
> A better approach would be to use SEH-based exception handling (which has no
> overhead at all for "try", and a high overhead in case an exception occurs),
> but that woud require
> a) support for generating EH frames for all platforms (it's currently only
> supported for a number of i386 and x86-64 platforms)
> b) support for parsing EH frames on all platforms and performing exception
> handling based on that
>
> This is definitely something we want, but nobody has found the time yet to
> implement it.
(...)

Isn't this unfortunately encumbered by patents?
http://wiki.winehq.org/CompilerExceptionSupport
http://yro.slashdot.org/story/05/05/12/1947213/Winelib-Hobbled-by-Exception-Handling-Patent

-Flávio



More information about the fpc-devel mailing list