search for: throwing

Displaying 20 results from an estimated 9550 matches for "throwing".

2007 Oct 26
0
8 commits - doc/swfdec-sections.txt libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_interpret.c test/trace
...w "finally"; + }; +} catch (exception) { + trace (exception); +}; + +loadMovie ("FSCommand:quit", ""); commit 65fb16c53625ead227c6dfafd0d9da75a43b95a8 Author: Pekka Lampila <pekka.lampila at iki.fi> Date: Sat Oct 27 02:13:01 2007 +0300 Rename context->throwing to exception and throw_value to exception_value diff --git a/libswfdec/swfdec_as_context.c b/libswfdec/swfdec_as_context.c index 403e03d..663a15c 100644 --- a/libswfdec/swfdec_as_context.c +++ b/libswfdec/swfdec_as_context.c @@ -361,7 +361,7 @@ static void swfdec_as_context_do_mark (SwfdecAsConte...
2007 Sep 20
10
Element.addMethods functions swallowing exceptions (IE6 + 7)
IE6 and IE7 are not correctly handling the ''throw'' command for functions attached to Element via Element.addMethods. Firefox and Safari are fine. See the example below. For IE6: functions called with no attributes (ie: funcName()) correctly handle thrown errors. Funcions called with attributes (ie: funcName("foo")) will respond to the throw command and pass execution
2010 Nov 28
0
[LLVMdev] RFC: Exception Handling Proposal II
Hi John, >> I'm pointing out that if the invoke instruction >> is removed and catch information is attached to entire basic blocks, then if no >> care is taken then it is perfectly possible to use %x before it is defined as >> explained in my previous email, blowing up the entire LLVM system. Clearly the >> solution is to not allow this by not allowing values
2016 Jul 15
3
RFC: Strong GC References in LLVM
On Fri, Jul 15, 2016 at 12:21 PM, Sanjoy Das <sanjoy at playingwithpointers.com > wrote: > Hi Daniel, > > Daniel Berlin wrote: > > As a starting point, LLVM will conservatively not speculate such > > loads and stores; and will leave open the potential to upstream > > logic that will have a more precise sense of when these loads > and
2007 Nov 06
1
[LLVMdev] Two labels around one instruction in Codegen
Duncan Sands wrote: > Hi Nicolas, > > >> In order to have exceptions for non-call instructions (such as sdiv, >> load or stores), I'm modifying codegen so that it generates a BeginLabel >> and an EndLabel between the "may throwing" instruction. This is what the >> codegen of an InvokeInst does. >> > > the rule is that all instructions between eh begin labelN and eh end labelN > must unwind to the same landing pad. This is why invokes are bracketed by > such labels. There are also two other...
2009 Aug 16
2
[LLVMdev] Throwing function being marked nounwind under optimzation?
...dered to not throw in PruneEH.cpp. Very strange stuff. Thoughts on how to proceed in figuring out the root cause of what's going wrong? bool ShouldThrow; int throws() try { if (ShouldThrow) throw 7; return 123; } catch (...) { printf("'throws' threw an exception: rethrowing!\n"); throw; }
2014 May 02
3
[LLVMdev] Question about implementing exceptions, especially to the VMKit team
...his lets you elide the check on the pending exception word after calls by turning them into invokes that unwind into a landingpad containing a generic exception handler. This generic exception handler then checks the type of the pending exception word and handles the exception (which may involve rethrowing to the caller if the current frame doesn't have catch handler). Instead of relying on libgcc to unwind when you throw you can then parse the [call PC, generic exception handling PC] pairs from the .eh_frame section, and when throwing to your caller, look up the generic exception handling PC (u...
2010 Nov 28
5
[LLVMdev] RFC: Exception Handling Proposal II
On Nov 25, 2010, at 3:03 AM, Duncan Sands wrote: > I'm pointing out that if the invoke instruction > is removed and catch information is attached to entire basic blocks, then if no > care is taken then it is perfectly possible to use %x before it is defined as > explained in my previous email, blowing up the entire LLVM system. Clearly the > solution is to not allow this by not
2007 Nov 06
0
[LLVMdev] Two labels around one instruction in Codegen
Hi Nicolas, > In order to have exceptions for non-call instructions (such as sdiv, > load or stores), I'm modifying codegen so that it generates a BeginLabel > and an EndLabel between the "may throwing" instruction. This is what the > codegen of an InvokeInst does. the rule is that all instructions between eh begin labelN and eh end labelN must unwind to the same landing pad. This is why invokes are bracketed by such labels. There are also two other cases to consider: (1) potentially t...
2017 Jan 05
3
RFC: Allow readnone and readonly functions to throw exceptions
On 01/05/2017 03:10 PM, Reid Kleckner wrote: > On Thu, Jan 5, 2017 at 10:39 AM, Hal Finkel <hfinkel at anl.gov > <mailto:hfinkel at anl.gov>> wrote: > > I don't understand why that's desirable, and I think it would > severely limit our ability to infer these attributes for functions > that unwind. You'd need to prove things -- likely
2010 Jul 12
3
[LLVMdev] clang/g++ frontend: can __cxa_end_catch throw?
On 07/12/2010 00:23, Duncan Sands wrote: > IIRC, __cxa_end_catch may throw an exception because it runs the destructor > for the exception object, which can execute arbitrary user code and thus may > throw an exception. This is why it is sometimes correct to use invoke for it. > However in the case of your example it seems that llvm-gcc didn't optimize the > code as well as it
2007 Oct 26
0
3 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_interpret.c
...c/swfdec_as_context.c +++ b/libswfdec/swfdec_as_context.c @@ -809,6 +809,8 @@ start: check_block = TRUE; while (context->state < SWFDEC_AS_CONTEXT_ABORTED) { + // in case of an exception, skip blocks until exception is cleared or we + // run out of blocks while (context->throwing && frame->blocks->len > 0) { frame->pc = frame->block_end; swfdec_as_frame_check_block (frame); diff --git a/libswfdec/swfdec_as_interpret.c b/libswfdec/swfdec_as_interpret.c index 3ab6fc0..cf41ff0 100644 --- a/libswfdec/swfdec_as_interpret.c +++ b/libswfdec/swf...
2009 Aug 16
0
[LLVMdev] Throwing function being marked nounwind under optimzation?
...> > Thoughts on how to proceed in figuring out the root cause of what's > going wrong? > > > bool ShouldThrow; > > int throws() > try > { > if (ShouldThrow) throw 7; return 123; > } catch (...) { > printf("'throws' threw an exception: rethrowing!\n"); > throw; > } > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
2010 Nov 28
1
[LLVMdev] RFC: Exception Handling Proposal II
On Nov 28, 2010, at 9:50 AM, Duncan Sands wrote: >>> In Ada you can throw and exception inside a destructor and it does not lead >>> to program termination. >> >> Interesting. I assume that the personality still sees these as just cleanups, >> so this must be implemented by running the destructor in a handler which >> aborts both unwinds and throws the
2018 May 16
1
Detect exception throwing in basic blocks
Hello, For code: try { throw 42; } catch(int e){} Are there any helpers in LLVM API to give me info that in "try block" there is a throw which will be executed? I am interested in info "yes, this block throws". Thank you -------------- next part -------------- An HTML attachment was scrubbed... URL:
2011 Aug 04
2
[LLVMdev] RFC: Exception Handling Rewrite
...> EH table should be set up to disallow exceptions thrown for the > inlined contents of foo(). Our current scheme is to mark foo() as > "nounwind" and make it a normal "call" instruction. Some care will > have to be taken during inlining to keep the "no throwing" > attribute around for the code that cares about it. > > -bw >
2014 Feb 17
3
[LLVMdev] [cfe-dev] Unwind behaviour in Clang/LLVM
Hi all, I feel that there are two problems with the existing infrastructure: * The nounwind attribute is ambiguous for (1) not throwing exceptions and (2) not performing stack unwinding. I feel that it will be better to separate this in two different attributes * There is some problem when the function has both uwtable and nounwind. Although, I think it fine to keep the current definition of nounwind, however, the uwtable attribut...
2020 Aug 14
2
Exceptions and performance
...ot;nothrow") but never do in practice, than there would be functions that actually need error handling/failures. > So I did't get the point that "essentially every function can throw". Indeed by default most of the C++ functions may throw (and some of them may actually be non-throwing), but LLVM should (at least in theory) be able to correctly figure out which functions may actually throw as long as it has the definition, is that correct? As long as it has the definition of the entire call graph - which is unlikely without whole program analysis. > So if a function does not...
2014 Feb 15
2
[LLVMdev] [cfe-dev] Unwind behaviour in Clang/LLVM
I'd love to hear more details. Are you saying that this infinite loop is a limitation of EHABI table format, and not something that can be fixed in the compiler? Meanwhile, please notice that gcc behavior matches current clang behavior that I described above. We would not want to create an incompatibility. On Fri, Feb 14, 2014 at 8:42 PM, Logan Chien <tzuhsiang.chien at gmail.com>
2017 Mar 31
4
Dereferenceable load semantics & LICM
...on, and the conservativeness is biting us here. > Are there any plans to fix it in the future? The fix doesn't seem hard to Not to my knowledge. > write and I can do it, but I am not sure if it won't be too expensive. Maybe we can do it (relatively) cheaply:  - Remember the first throwing instruction in the header, instead of a    boolean, in LoopSafetyInfo  - In hoistRegion, remember if you've seen the first throwing    instruction yet  - Pass the above as a boolean parameter to isGuaranteedToExecute, and    instead of      if (Inst.getParent() == CurLoop->getHeader())    ...