Displaying 9 results from an estimated 9 matches for "unwindinfo".
2009 May 18
4
[LLVMdev] Getting exceptions to work?
...ossible example that I can think of.
If anyone on this list can tell me what changes I need to make to the
following code to get it to work (i.e. return 0 instead of a bus error),
it would make my life immensely better.
; ModuleID = 'ExceptionTest'
%Object = type {}
%UnwindInfo = type { i64, void (i32, %UnwindInfo *)*, i16, i16 }
%Throwable = type { %Object, %UnwindInfo }
define i32 @main(i32, i8**) nounwind {
entry:
invoke fastcc void @throwSomething() to label %nounwind unwind
label %catch
catch:
ret i32 0
nounwind:...
2009 May 18
0
[LLVMdev] Getting exceptions to work?
....
>
> If anyone on this list can tell me what changes I need to make to the
> following code to get it to work (i.e. return 0 instead of a bus
> error), it would make my life immensely better.
>
> ; ModuleID = 'ExceptionTest'
> %Object = type {}
> %UnwindInfo = type { i64, void (i32, %UnwindInfo *)*, i16, i16 }
> %Throwable = type { %Object, %UnwindInfo }
>
> define i32 @main(i32, i8**) nounwind {
> entry:
> invoke fastcc void @throwSomething() to label %nounwind unwind
> label %catch
>
> catch:
>...
2009 May 19
5
[LLVMdev] Getting exceptions to work?
...this list can tell me what changes I need to make to the
>> following code to get it to work (i.e. return 0 instead of a bus
>> error), it would make my life immensely better.
>>
>> ; ModuleID = 'ExceptionTest'
>> %Object = type {}
>> %UnwindInfo = type { i64, void (i32, %UnwindInfo *)*, i16, i16 }
>> %Throwable = type { %Object, %UnwindInfo }
>>
>> define i32 @main(i32, i8**) nounwind {
>> entry:
>> invoke fastcc void @throwSomething() to label %nounwind unwind
>> label %catch
>...
2009 May 19
0
[LLVMdev] Getting exceptions to work?
...hat changes I need to make to the
>>> following code to get it to work (i.e. return 0 instead of a bus
>>> error), it would make my life immensely better.
>>>
>>> ; ModuleID = 'ExceptionTest'
>>> %Object = type {}
>>> %UnwindInfo = type { i64, void (i32, %UnwindInfo *)*, i16, i16 }
>>> %Throwable = type { %Object, %UnwindInfo }
>>>
>>> define i32 @main(i32, i8**) nounwind {
>>> entry:
>>> invoke fastcc void @throwSomething() to label %nounwind unwind
>>&...
2009 May 21
0
[LLVMdev] Getting exceptions to work?
...ing 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
call void @print(i8* bitcast ([6 x i8]* @str_throw to i8 *))
%throw = call i32 @_Unwind_RaiseException(%UnwindInfo* %unwindInfo)
call void @print(i8* bitcast ([6 x i8]* @str_abort to i8 *))
ret void
}
This is...
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*),
>>
2009 May 24
1
[LLVMdev] Getting exceptions to work?
...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
> call void @print(i8* bitcast ([6 x i8]* @str_throw to i8 *))
> %throw = call i32 @_Unwind_RaiseException(%UnwindInfo* %unwindInfo)
> call void @print(i8* bitcast ([6 x i8]* @str_abort to i8 *))
>...
2013 Mar 10
0
[LLVMdev] [lld] Atom and its unwind information
...8/2013 5:44 PM, Nick Kledzik wrote:
>> On Mar 8, 2013, at 2:52 PM, Shankar Easwaran <shankare at codeaurora.org> wrote:
>>> Hi Nick,
>>>
>>> I was looking at ld64 source code and the atom deals with additional information such as
>>>
>>> a) UnwindInfo
>> If you are using dwarf unwind info, the dwarf FDE is just another atom (in .eh_frame section). We'll need a special reference in function atoms to their FDE atom, so that they get dead stripped or coalesced as a group (that is what ld64 does).
> Do you mean typeCode atoms here ? Ye...
2016 Jul 04
3
Status of stack walking in LLVM on Win64?
> These is metadata for epilogues (UWOP_EPILOG) but it is only available on Windows 8.1 and newer.
I'm aware of this.
I believe it is so sampling profilers can walk the kernel stack including through paged code -- i.e. the epilogue data is not paged, while the related epilogue code might be.
Do you see it used, i.e. in usermode? (where the pdata/xdata/code are all equally paged).
It