Cédric Venet
2009-Sep-06 09:37 UTC
[LLVMdev] [Fwd: Re: An alternate implementation of exceptions]
-------------- next part -------------- An embedded message was scrubbed... From: "Mikael Lyngvig" <mikael at lyngvig.org> Subject: Re: [LLVMdev] An alternate implementation of exceptions Date: Sun, 6 Sep 2009 09:53:29 +0200 (CEST) Size: 6388 URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090906/ca20be9e/attachment.eml>
Török Edwin
2009-Sep-06 10:30 UTC
[LLVMdev] [Fwd: Re: An alternate implementation of exceptions]
On 2009-09-06 12:37, Cédric Venet wrote:> > > ------------------------------------------------------------------------ > > Subject: > Re: [LLVMdev] An alternate implementation of exceptions > From: > "Mikael Lyngvig" <mikael at lyngvig.org> > Date: > Sun, 6 Sep 2009 09:53:29 +0200 (CEST) > To: > Cédric Venet <cedric.venet at laposte.net> > > To: > Cédric Venet <cedric.venet at laposte.net> > > > Hi Cédric, > > Do you mind forwarding this email to the list? I can't seem to find the > list address anywhere. > > Thanks in advance (even if you don't forward it :-). > > Cheers, > Mikael > > > >> The last few mail didn't go to the mailing list it seems, it is not the >> reply to by default... >> >> Mikael Lyngvig a écrit : >> >>> Hi, >>> >>> I've been playing around myself for the past few hours. I got something >>> like this: >>> >>> 1. OpenWatcom C++ v1.8: three times speedup. >>> 2. Microsoft Visual C++ v9.0: 10 PERCENT speedup. >>> >>> I am having trouble linking with GCC - it complains about unresolved >>> symbols (__cxa_allocate_exception, etc.). >>> >>> But it seems that my initial findings, of four to five times speedup, >>> were >>> only caused by the fact that I only tried out the OpenWatcom compiler. >>> Apparently this compiler's exception handling is very slow, which could >>> probably be guessed from the fact that it explicitly calls setjmp() in >>> try >>> blocks and longjmp() in throw statements. >>> >>> But, still, this is testing the standard C method of explicitly checking >>> the return code. As no compiler generates the stc/ret and jc >>> instruction >>>Could LLVM codegen use the carry flag for a return of i1? Actually for a multiple return instruction where one of the returned values is an i1? Best regards, --Edwin