Displaying 15 results from an estimated 15 matches for "emitcommonehframe".
2010 Jan 22
2
[LLVMdev] Exception handling question
...lvm::Function*, llvm::MutexGuard const&) + 62
7 lli 0x0000000000d3f9c6 llvm::JIT::getPointerToFunction(llvm::Function*)
+ 686
8 lli 0x0000000000d67c86
llvm::ExecutionEngine::getPointerToGlobal(llvm::GlobalValue const*) + 70
9 lli 0x0000000000d62805
llvm::JITDwarfEmitter::EmitCommonEHFrame(llvm::Function const*) const + 613
10 lli 0x0000000000d60ac3
llvm::JITDwarfEmitter::EmitDwarfTable(llvm::MachineFunction&,
llvm::JITCodeEmitter&, unsigned char*, unsigned char*, unsigned char*&) + 335
...
Ciao,
Duncan.
2010 Jan 22
0
[LLVMdev] Exception handling question
...> const&) + 62
> 7 lli 0x0000000000d3f9c6
> llvm::JIT::getPointerToFunction(llvm::Function*) + 686
> 8 lli 0x0000000000d67c86
> llvm::ExecutionEngine::getPointerToGlobal(llvm::GlobalValue const*) + 70
> 9 lli 0x0000000000d62805
> llvm::JITDwarfEmitter::EmitCommonEHFrame(llvm::Function const*) const + 613
> 10 lli 0x0000000000d60ac3
> llvm::JITDwarfEmitter::EmitDwarfTable(llvm::MachineFunction&,
> llvm::JITCodeEmitter&, unsigned char*, unsigned char*, unsigned char*&) +
> 335
> ...
>
Thanks for looking at this.
Yes, I realise th...
2010 Jan 22
2
[LLVMdev] Exception handling question
...gt;> 7 lli 0x0000000000d3f9c6
>> llvm::JIT::getPointerToFunction(llvm::Function*) + 686
>> 8 lli 0x0000000000d67c86
>> llvm::ExecutionEngine::getPointerToGlobal(llvm::GlobalValue const*) + 70
>> 9 lli 0x0000000000d62805
>> llvm::JITDwarfEmitter::EmitCommonEHFrame(llvm::Function const*) const + 613
>> 10 lli 0x0000000000d60ac3
>> llvm::JITDwarfEmitter::EmitDwarfTable(llvm::MachineFunction&,
>> llvm::JITCodeEmitter&, unsigned char*, unsigned char*, unsigned char*&) +
>> 335
>> ...
>>
> Thanks for lookin...
2010 Jan 22
0
[LLVMdev] Exception handling question
...n*, llvm::MutexGuard const&) + 62
> 7 lli 0x0000000000d3f9c6 llvm::JIT::getPointerToFunction(llvm::Function*) + 686
> 8 lli 0x0000000000d67c86 llvm::ExecutionEngine::getPointerToGlobal(llvm::GlobalValue const*) + 70
> 9 lli 0x0000000000d62805 llvm::JITDwarfEmitter::EmitCommonEHFrame(llvm::Function const*) const + 613
> 10 lli 0x0000000000d60ac3 llvm::JITDwarfEmitter::EmitDwarfTable(llvm::MachineFunction&, llvm::JITCodeEmitter&, unsigned char*, unsigned char*, unsigned char*&) + 335
> ...
> Thanks for looking at this.
>
> Yes, I realise this w...
2010 Jan 22
0
[LLVMdev] Exception handling question
2010/1/22 Duncan Sands <baldrick at free.fr>
> Hi James,
>
>
> Yes - sorry I was unclear. I have pruned everything down to a pretty
>> minimal test:
>> - LLVM 2.6 compiled from source
>> - A slightly modified version of Duncan's example ll assembly posted
>> earlier
>> - A minimal personality function (just a call to fprintf()) in a separate
2010 Jan 22
3
[LLVMdev] Exception handling question
Hi James,
> Yes - sorry I was unclear. I have pruned everything down to a pretty
> minimal test:
> - LLVM 2.6 compiled from source
> - A slightly modified version of Duncan's example ll assembly posted earlier
> - A minimal personality function (just a call to fprintf()) in a
> separate C file compiled with gcc-llvm
> - A single C++ function in a third file that simply
2007 Dec 11
0
[LLVMdev] Exception handling in JIT
...unsigned char* StartFunction,
> + unsigned char* EndFunction);
> +
> + void EmitFrameMoves(intptr_t BaseLabelPtr,
> + const std::vector<MachineMove> &Moves);
> +
> + unsigned char* EmitCommonEHFrame(const Function* Personality);
> +
> + unsigned char* EmitEHFrame(const Function* Personality,
> + unsigned char* StartBufferPtr,
> + unsigned char* StartFunction,
> + unsigned char* EndFuncti...
2007 Dec 10
2
[LLVMdev] Exception handling in JIT
Hi everyone,
Here's a patch that enables exception handling when jitting. I've
copy/pasted _many_code from lib/Codegen/DwarfWriter.cpp, so we may need
to factorize it, but the functionality is there and I'm very happy with
it :)
lli should now be able to execute the output from llvm-gcc when using
exceptions (the UnwindInst instruction is not involved in this patch).
Just add the
2008 Feb 04
0
[LLVMdev] Exception handling in JIT
...unsigned char* StartFunction,
> + unsigned char* EndFunction);
> +
> + void EmitFrameMoves(intptr_t BaseLabelPtr,
> + const std::vector<MachineMove> &Moves);
> +
> + unsigned char* EmitCommonEHFrame(const Function* Personality);
> +
> + unsigned char* EmitEHFrame(const Function* Personality,
> + unsigned char* StartBufferPtr,
> + unsigned char* StartFunction,
> + unsigned char* EndFunction,
>...
2008 Feb 01
2
[LLVMdev] Exception handling in JIT
Dear all,
Here's a new patch with Evan's comments (thx Evan!) and some cleanups.
Now the (duplicated) exception handling code is in a new file:
lib/ExecutionEngine/JIT/JITDwarfEmitter.
This patch should work on linux/x86 and linux/ppc (tested).
Nicolas
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: jit-exceptions.patch
URL:
2007 Dec 12
3
[LLVMdev] Exception handling in JIT
...unsigned char* StartFunction,
>> + unsigned char* EndFunction);
>> +
>> + void EmitFrameMoves(intptr_t BaseLabelPtr,
>> + const std::vector<MachineMove> &Moves);
>> +
>> + unsigned char* EmitCommonEHFrame(const Function* Personality);
>> +
>> + unsigned char* EmitEHFrame(const Function* Personality,
>> + unsigned char* StartBufferPtr,
>> + unsigned char* StartFunction,
>> + unsi...
2010 Jan 22
0
[LLVMdev] Exception handling question
Interesting. Was this the reason you were getting the recursive compilation error in JIT::runJITOnFunctionUnlocked(...) (isAlreadyCodeGenerating)?
Do you have the time to try your test with 2.7?
Garrison
On Jan 22, 2010, at 17:37, James Williams wrote:
> I've worked around this issue in my test case by simply calling my personality function on program to ensure it's JIT'ed
2010 Jan 25
2
[LLVMdev] Exception handling question
...d=...) at JIT.cpp:624
#4 0x0000000000d3e6a6 in llvm::JIT::getPointerToFunction
(this=0x1781e90, F=0x17196b0) at JIT.cpp:680
#5 0x0000000000d66d32 in llvm::ExecutionEngine::getPointerToGlobal
(this=0x1781e90, GV=0x17196b0) at ExecutionEngine.cpp:473
#6 0x0000000000d618b1 in llvm::JITDwarfEmitter::EmitCommonEHFrame
(this=0x177a3c0, Personality=0x17196b0)
at JITDwarfEmitter.cpp:522
#7 0x0000000000d5fb6f in llvm::JITDwarfEmitter::EmitDwarfTable
(this=0x177a3c0, F=..., jce=...,
StartFunction=0x7ffff7f4c090 "H\203\354\bH\270 @\376\367\377\177",
EndFunction=0x7ffff7f4c0b6 "\315\315c\374\037...
2010 Jan 22
2
[LLVMdev] Exception handling question
...0x0000000000d3f9c6
>>> llvm::JIT::getPointerToFunction(llvm::Function*) + 686
>>> 8 lli 0x0000000000d67c86
>>> llvm::ExecutionEngine::getPointerToGlobal(llvm::GlobalValue const*) + 70
>>> 9 lli 0x0000000000d62805
>>> llvm::JITDwarfEmitter::EmitCommonEHFrame(llvm::Function const*) const + 613
>>> 10 lli 0x0000000000d60ac3
>>> llvm::JITDwarfEmitter::EmitDwarfTable(llvm::MachineFunction&,
>>> llvm::JITCodeEmitter&, unsigned char*, unsigned char*, unsigned char*&) +
>>> 335
>>> ...
>>>...
2010 Jan 22
3
[LLVMdev] Exception handling question
I've worked around this issue in my test case by simply calling my
personality function on program to ensure it's JIT'ed before any unwind
happens.
-- James
2010/1/22 Garrison Venn <gvenn.cfe.dev at gmail.com>
> No, there is no magic. :-)
>
> To me though, the tools are magic, because I have no clue what they are
> doing without looking at them and using them.
>