similar to: [LLVMdev] Unwinds gone missing

Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] Unwinds gone missing"

2008 Dec 19
0
[LLVMdev] Unwinds gone missing
Hi Talin, Talin wrote: > After much delay, I have finally reached the point in my work where I > need to implement some kind of exception handling. I understand that > "unwind" is currently unimplemented and will remain so for the > forseeable future. > > In the mean time, are there any examples available for implementing Java > or Python-style exceptions using
2008 Dec 23
3
[LLVMdev] Unwinds gone missing
Can you point out to me where in the VMKit code I should be looking? I spent some additional time reading the docs, and I have some specific questions: 1) I'm trying to figure out the relationship between the __cxa_throw function, and the _Unwind_RaiseException function mentioned in the ABI doc. My guess is that _Unwind_RaiseException is the language-neutral implementation of stack unwinding,
2008 Dec 29
0
[LLVMdev] Unwinds gone missing
Hi Talin, > 1) I'm trying to figure out the relationship between the __cxa_throw > function, and the _Unwind_RaiseException function mentioned in the ABI doc. > My guess is that _Unwind_RaiseException is the language-neutral > implementation of stack unwinding, and __cxa_throw is the C++ exception > semantics that are implemented on top of it. If that is the case, should I >
2008 Dec 23
0
[LLVMdev] Unwinds gone missing
On Friday 19 December 2008 07:45:27 Talin wrote: > I understand that "unwind" is currently unimplemented... Is it? I was just reading the documentation about LLVM's exception handling and it sounded ideal for my needs. How much of it does not work as the docs imply? > and will remain so for the forseeable future... Surely C++-style exception handling is a priority? What
2008 Dec 26
2
[LLVMdev] Unwinds gone missing
Jon Harrop wrote: > > Is it? I was just reading the documentation about LLVM's exception > handling > and it sounded ideal for my needs. How much of it does not work as the > docs > imply? > Jon, I ran into this issue in September and re-ignited this discussion in another thread, here: http://www.nabble.com/Unwinds-Gone-Wild-td18747589.html
2008 Sep 27
4
[LLVMdev] Unwinds Gone Wild
Duncan Sands wrote: >> I can't find any information about cxa_throw at all, not even a type >> signature. If I could, could I just call it as if it were unwind, and it >> would be caught by invoke? >> > > cxa_throw comes from the gcc C++ runtime. In order to see how to throw > and catch things correctly using it, compile some C++ examples down to >
2008 Jul 31
2
[LLVMdev] Unwinds Gone Wild
On Thu, Jul 31, 2008 at 2:19 AM, Duncan Sands <baldrick at free.fr> wrote: > Hi, > > > Can anyone tell me if invoke/unwind is stable in 2.3? I'm seeing some > > really weird stuff -- unwinds are ending up in seemingly arbitrary > places... > > definitely not inside the caller's unwind block My target is x86. > > codegen doesn't know how to
2008 Sep 26
1
[LLVMdev] Unwinds Gone Wild
Marc de Kruijf wrote: > > Can anyone tell me if invoke/unwind is stable in 2.3? I'm seeing some > really weird stuff -- unwinds are ending up in seemingly arbitrary > places... > definitely not inside the caller's unwind block My target is x86. > > As a simple test, I tried to compile the following code and I got a > segmentation fault. It looks good to me.
2008 Jul 31
4
[LLVMdev] Unwinds Gone Wild
Can anyone tell me if invoke/unwind is stable in 2.3? I'm seeing some really weird stuff -- unwinds are ending up in seemingly arbitrary places... definitely not inside the caller's unwind block My target is x86. As a simple test, I tried to compile the following code and I got a segmentation fault. It looks good to me. Can someone help me out or is this a bug? define i32 @foo() {
2008 Sep 29
6
[LLVMdev] Unwinds Gone Wild
On Mon, Sep 29, 2008 at 1:50 AM, Duncan Sands <baldrick at free.fr> wrote: > /* snip */ Just for another voice in here. 'unwind' and its kin would also be useful for me, especially since this is on platforms without GCC (nor is GCC used in any way in any step anywhere). Why does it generate GCC only constructs anyway, that does not sound very much like the multi-platform that
2008 Dec 26
0
[LLVMdev] Unwinds gone missing
From what I understand, the unwind instruction is implemented only for the interpreter: there is a -lowerunwind pass for compiling to other systems which will either lower unwind and invoke to setjmp/ longjmp (slow) or turn invokes into calls and unwinds into abort()s. On 26 Dec 2008, at 15:19, Matt Giuca wrote: > > > Jon Harrop wrote: >> >> Is it? I was just reading
2008 Sep 26
0
[LLVMdev] Unwinds Gone Wild
> If you look at the generated x86 machine code, it looks like unwind is > compiled into nothing at all: Yes, unwind is currently not supported by the code generators. This is bad, but not that easy to fix (hopefully one day...). > I can't find any information about cxa_throw at all, not even a type > signature. If I could, could I just call it as if it were unwind, and it >
2008 Sep 29
1
[LLVMdev] Unwinds Gone Wild
Duncan Sands wrote: > > since libgcc is available everywhere llvm is, it's as multi-platform > as llvm! If we didn't use libgcc then we'd have to introduce an llvm > runtime library. Since it would just duplicate the functionality of > libgcc, it would introduce an additional maintenance burden without > bringing any real advantage AFAICS. > So if there's
2009 Jun 15
6
[LLVMdev] unwind/invoke design
The documentation of unwind/invoke is quite clear and does exactly what I need: unwinding the stack. I don't need it to carry an object back. I don't need it to figure out what the type of the object is or what catch() blocks it matches. I just need it to unwind the stack. The rest is my job as a part of the runtime. Unfortunately, I have learned that while this works with the bytecode
2008 Jul 31
0
[LLVMdev] Unwinds Gone Wild
Hi, > Can anyone tell me if invoke/unwind is stable in 2.3? I'm seeing some > really weird stuff -- unwinds are ending up in seemingly arbitrary places... > definitely not inside the caller's unwind block My target is x86. codegen doesn't know how to handle "unwind" on any target. You need to call the libgcc unwinding routines directly (or indirectly by
2008 Sep 29
0
[LLVMdev] Unwinds Gone Wild
Hi, > Why does it generate GCC only constructs anyway, that does not sound > very much like the multi-platform that LLVM is targeting. since libgcc is available everywhere llvm is, it's as multi-platform as llvm! If we didn't use libgcc then we'd have to introduce an llvm runtime library. Since it would just duplicate the functionality of libgcc, it would introduce an
2009 May 20
3
[LLVMdev] Getting exceptions to work?
Duncan Sands wrote: > Hi Talin, > >> So I tried what you suggested, and it just gives me a bus error: >> >> %eh_select34 = call i32 (i8*, i8*, ...)* >> @llvm.eh.selector.i32 ( >> i8* %eh_ptr, >> i8* bitcast (i32 (i32, i32, i64, i8*, %UnwindContext*)* >> @__gcc_personality_v0 to i8*), >>
2008 Sep 29
0
[LLVMdev] Unwinds Gone Wild
I guess Duncan's answer in this thread is the best answer to give: <<Once that [The exception handling stuff needed by llvm-gcc] was done I guess everyone took a breather and kind of forgot about unwind>> So yes, ultimately, unwind will be supported and clang/llvm should provide its own unwinding runtime. Patches welcome :) Cheers, Nicolas OvermindDL1 wrote: > On Mon, Sep
2009 May 21
0
[LLVMdev] Getting exceptions to work?
Hi Talin, if you change @throwSomething so that it prints a message if the _Unwind_RaiseException call returns, then you will see that it does in fact return. define internal fastcc void @throwSomething() { entry: %throwable = malloc %Throwable call fastcc void @Throwable.construct(%Throwable* %throwable) %unwindInfo = getelementptr %Throwable* %throwable, i32 0, i32 1
2008 Dec 26
1
[LLVMdev] Unwinds gone missing
Alastair Lynn wrote: > > From what I understand, the unwind instruction is implemented only > for the interpreter: there is a -lowerunwind pass for compiling to > other systems which will either lower unwind and invoke to setjmp/ > longjmp (slow) or turn invokes into calls and unwinds into abort()s. > Ah cheers, Alastair. That could be very useful (at least for me