Displaying 20 results from an estimated 29 matches for "emitdwarftable".
2011 Apr 19
2
[LLVMdev] Crash in llvm::JITDwarfEmitter::EmitDwarfTable on 2.8 and 2.9 release but not on trunk?
Hello,
I'd like some advice on a crash that we have observed on MacOSX with the 2.8 and 2.9 releases of LLVM, but not on the top of trunk. The crash is a null-deref in llvm::JITDwarfEmitter::EmitDwarfTable :
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000000
0x0000000100852203 in llvm::JITDwarfEmitter::EmitDwarfTable () at context.h:491
(gdb) bt
#0 0x0000000100852203 in llvm::JITDwarfEmitter::EmitDwarfTable () at context.h:49...
2011 Apr 19
0
[LLVMdev] Crash in llvm::JITDwarfEmitter::EmitDwarfTable on 2.8 and 2.9 release but not on trunk?
...n my side.
Christophe
On 19 avr. 2011, at 17:38, Christophe de Dinechin wrote:
> Hello,
>
>
> I'd like some advice on a crash that we have observed on MacOSX with the 2.8 and 2.9 releases of LLVM, but not on the top of trunk. The crash is a null-deref in llvm::JITDwarfEmitter::EmitDwarfTable :
>
> Program received signal EXC_BAD_ACCESS, Could not access memory.
> Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000000
> 0x0000000100852203 in llvm::JITDwarfEmitter::EmitDwarfTable () at context.h:491
> (gdb) bt
> #0 0x0000000100852203 in llvm::JITDwarfEmitter::Emi...
2012 Sep 24
0
[LLVMdev] [llvm-commits] Fwd: Re: [PATCH] Fix for bug in JIT exception table allocation
...ActualSize);
> > > > - BufferEnd = BufferBegin+ActualSize;
> > > > - EmittedFunctions[F.getFunction()].ExceptionTable = BufferBegin;
> > > > - uint8_t *EhStart;
> > > > - uint8_t *FrameRegister = DE->EmitDwarfTable(F, *this, FnStart, FnEnd,
> > > > - EhStart);
> > > > + while (true) {
> > > > + BufferBegin = CurBufferPtr =
> > > > MemMgr->startExceptionTable(F.getFunction(),
> > > > +
> >...
2010 Jan 22
2
[LLVMdev] Exception handling question
...tion(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
...6
> 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 will link to bitcode and that the result is a script
that runs lli. I kind of just expected JIT to work, particu...
2010 Jan 22
2
[LLVMdev] Exception handling question
...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 will link to bitcode and that the result is a script
> that runs lli. I kind of...
2012 Aug 21
2
[LLVMdev] [PATCH] Fix for bug in JIT exception table allocation (no test yet)
...rPtr = MemMgr->startExceptionTable(F.getFunction(),
- ActualSize);
- BufferEnd = BufferBegin+ActualSize;
- EmittedFunctions[F.getFunction()].ExceptionTable = BufferBegin;
- uint8_t *EhStart;
- uint8_t *FrameRegister = DE->EmitDwarfTable(F, *this, FnStart, FnEnd,
- EhStart);
+ while (true) {
+ BufferBegin = CurBufferPtr = MemMgr->startExceptionTable(F.getFunction(),
+ ActualSize);
+ BufferEnd = BufferBegin+Act...
2012 Aug 22
1
[LLVMdev] [PATCH] Fix for bug in JIT exception table allocation (no test yet)
On Aug 21, 2012, at 2:12 PM, Michael Muller <mmuller at enduden.com> wrote:
>
> Hi, I found a bug in the code that generates exception tables, I've attached
> what I think is the correct fix.
>
> When you run out of space writing to a buffer, the buffer management code
> simply stops writing at the end of the buffer. It is the responsibility of
> the caller to
2012 Aug 23
0
[LLVMdev] [PATCH] Fix for bug in JIT exception table allocation (no test yet)
Eric Christopher wrote:
>
> On Aug 21, 2012, at 2:12 PM, Michael Muller <mmuller at enduden.com> wrote:
>
> >
> > Hi, I found a bug in the code that generates exception tables, I've attached
> > what I think is the correct fix.
> >
> > When you run out of space writing to a buffer, the buffer management code
> > simply stops writing at the
2010 Jan 22
0
[LLVMdev] Exception handling question
...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 will link to bitcode and that the result is a script that runs lli. I kind of just expected JIT to work, partic...
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
2008 Feb 04
0
[LLVMdev] Exception handling in JIT
...r = CurBufferPtr;
> +
> + BufferBegin = CurBufferPtr = MemMgr-
> >startExceptionTable(F.getFunction(),
> +
> ActualSize);
> + BufferEnd = BufferBegin+ActualSize;
> + unsigned char* FrameRegister = DE->EmitDwarfTable(F, *this,
> FnStart, FnEnd);
> + MemMgr->endExceptionTable(F.getFunction(), BufferBegin,
> CurBufferPtr, FrameRegister);
> + BufferBegin = SavedBufferBegin;
> + BufferEnd = SavedBufferEnd;
> + CurBufferPtr = SavedCurBufferPtr;
> +
> + TheJIT->Registe...
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:
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
2008 Mar 30
3
[LLVMdev] Being able to know the jitted code-size before emitting
Hi everyone,
vmkit requires to know the size of a jitted method before emitting the
method. This allows to allocate the correct size for the method. The
attached patch creates this functionality when the flag SizedMemoryCode
is on.
In order to implement this functionality, i had to virtualize some
MachineCodeEmitter functions.
Is it OK to commit the patch?
Thanks,
Nicolas
--------------
2010 Jan 25
2
[LLVMdev] Exception handling question
...000d66d32 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",
EHFramePtr=@0x7fffffffd8b0) at JITDwarfEmitter.cpp:55
#8 0x0000000000d46599 in finishFunction (this=0x1788380, F=...) at
J...
2008 Apr 01
2
[LLVMdev] Being able to know the jitted code-size before emitting
...<< sys::disassembleBuffer(FnStart, FnEnd-FnStart,
>> (uintptr_t)FnStart);
>> #endif
>> +
>> if (ExceptionHandling) {
>> uintptr_t ActualSize;
>> + if (SizedMemoryCode) {
>> + SizeEmitter sz(LabelLocations);
>> + DE->EmitDwarfTable(F, sz, FnStart, FnEnd);
>> + ActualSize = sz.getCurrentPCValue();
>> + }
>> SavedBufferBegin = BufferBegin;
>> SavedBufferEnd = BufferEnd;
>> SavedCurBufferPtr = CurBufferPtr;
>> -
>> +
>> BufferBegin = CurBufferPtr = MemMgr-...
2008 Mar 31
0
[LLVMdev] Being able to know the jitted code-size before emitting
...assembled code:\n"
> << sys::disassembleBuffer(FnStart, FnEnd-FnStart,
> (uintptr_t)FnStart);
> #endif
> +
> if (ExceptionHandling) {
> uintptr_t ActualSize;
> + if (SizedMemoryCode) {
> + SizeEmitter sz(LabelLocations);
> + DE->EmitDwarfTable(F, sz, FnStart, FnEnd);
> + ActualSize = sz.getCurrentPCValue();
> + }
> SavedBufferBegin = BufferBegin;
> SavedBufferEnd = BufferEnd;
> SavedCurBufferPtr = CurBufferPtr;
> -
> +
> BufferBegin = CurBufferPtr = MemMgr-
> >startExceptionTable(F.g...
2010 Jan 22
2
[LLVMdev] Exception handling question
...gt;>> 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 will link to bitcode and that the result is a script
&...