Displaying 20 results from an estimated 3000 matches similar to: "[LLVMdev] JIT relocations and stub memory issue"
2009 Jun 11
1
[LLVMdev] [unladen-swallow] Re: Why does the x86-64 JIT emit stubs for external calls?
On Thu, Jun 11, 2009 at 12:54 PM, Evan Cheng<evan.cheng at apple.com> wrote:
>
>
>
> On Jun 10, 2009, at 12:17 PM, Jeffrey Yasskin wrote:
>
>> In X86CodeGen.cpp, the following code appears in the handler used for
>> CALL64pcrel32 instructions:
>>
>> // Assume undefined functions may be outside the Small codespace.
>> bool NeedStub =
2009 Jul 01
0
[LLVMdev] [PATCH][RFC] Bug #4406: stubs for external functions should be registered even if DlsymStubs are disabled
See http://llvm.org/bugs/show_bug.cgi?id=4406
The testcase at http://llvm.org/bugs/attachment.cgi?id=3141 needs to be
updated to free the machine code with:
ee->freeMachineCodeForFunction(cast<Function>(ll_main));
Once that's done, though, the AssertingVH is still triggered on
destruction of the Module.
It turns out that the stub for the external "write" is not
2008 Mar 31
0
[LLVMdev] Being able to know the jitted code-size before emitting
Hi,
Two questions. 1) How are you computing size of the method being
jitted? 2) Why not simply add the functionality of allocating emission
buffer of specific size to MachineCodeEmitter instead?
Thanks,
Evan
On Mar 30, 2008, at 12:05 PM, Nicolas Geoffray wrote:
> Hi everyone,
>
> vmkit requires to know the size of a jitted method before emitting
> the method. This allows to
2008 Apr 01
2
[LLVMdev] Being able to know the jitted code-size before emitting
Hi Evan,
Evan Cheng wrote:
> 1) How are you computing size of the method being
> jitted?
I add a new pass with addSimpleCodeEmitter, with the emitter being a
SizeEmitter. Since the target calls the emitter with functions such as
writeByte, writeWord, etc.... the SizeEmitter class implements these
function by incrementing a counter.
At the end of the pass, the code size of the
2008 Apr 01
0
[LLVMdev] Being able to know the jitted code-size before emitting
On Apr 1, 2008, at 12:50 AM, Nicolas Geoffray wrote:
> Hi Evan,
>
> Evan Cheng wrote:
>> 1) How are you computing size of the method being
>> jitted?
>
> I add a new pass with addSimpleCodeEmitter, with the emitter being a
> SizeEmitter. Since the target calls the emitter with functions such as
> writeByte, writeWord, etc.... the SizeEmitter class implements these
2008 Apr 04
3
[LLVMdev] Being able to know the jitted code-size before emitting
Evan Cheng wrote:
> On Apr 1, 2008, at 12:50 AM, Nicolas Geoffray wrote:
>
>
> That's a hack. :-)
It is if you think that code emitter should only be used for actually
writing somewhere the data. It is not if you find it another useful
utility ;-)
> Some targets already have ways to compute the exact
> size of a function. See ARM::GetFunctionSize()
2008 Apr 05
2
[LLVMdev] Being able to know the jitted code-size before emitting
Evan Cheng wrote:
>
> Let's see. ARM has it already. PPC has getNumBytesForInstruction so
> you only need to add one to compute function size. Also you only need
> to implement it for targets that support JIT right now, which leaves
> Alpha and X86. I'm guessing Alpha is using fixed encoding so it should
> be pretty easy. Or you can just punt it and let the target
2008 Apr 05
0
[LLVMdev] Being able to know the jitted code-size before emitting
On Apr 4, 2008, at 11:16 PM, Nicolas Geoffray
<nicolas.geoffray at lip6.fr> wrote:
> Evan Cheng wrote:
>>
>> Let's see. ARM has it already. PPC has getNumBytesForInstruction so
>> you only need to add one to compute function size. Also you only need
>> to implement it for targets that support JIT right now, which leaves
>> Alpha and X86. I'm
2008 Apr 04
0
[LLVMdev] Being able to know the jitted code-size before emitting
On Apr 4, 2008, at 5:50 AM, Nicolas Geoffray wrote:
> Evan Cheng wrote:
>> On Apr 1, 2008, at 12:50 AM, Nicolas Geoffray wrote:
>>
>>
>> That's a hack. :-)
>
> It is if you think that code emitter should only be used for actually
> writing somewhere the data. It is not if you find it another useful
> utility ;-)
Except it's pretty slow at it. :-)
2008 Apr 07
2
[LLVMdev] Being able to know the jitted code-size before emitting
Hi Evan,
Evan Cheng wrote:
>
> I don't think the duplication is going to be top much of a problem. If
> it is, I'll bug you about refactoring. :)
>
>
I don't mean to show how lazy I can be, but I also need to know the size
of the exception table emitted in memory (JITDwarfEmitter.cpp).
Reviewing it a little, I can not see how things won't be duplicated.
2009 Jul 03
0
[LLVMdev] Question about memory allocation in JIT
+llvmdev
2009/7/3 Merkulov Aleksey <steel1.0 at mail.ru>:
>> > Hello! Working with LLVM JIT-compiler I found a small bug and I'd like to correct it. Namely, on some tests LLVM fails with message "JIT: Ran out of space for generated machine code!"
>>
>> I'm working on a patch to fix this, although I've heard DOE may change
>> the
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
--------------
2009 Jul 01
3
[LLVMdev] Question about memory allocation in JIT
Hello! Working with LLVM JIT-compiler I found a small bug and I'd like to correct it. Namely, on some tests LLVM fails with message "JIT: Ran out of space for generated machine code!"
This error emerges because the test creates big static array. Global variables are placed into memory block for function, that is first seen using given variable. Besides, during memory allocation
2007 Dec 11
0
[LLVMdev] Exception handling in JIT
On Dec 10, 2007, at 9:52 AM, Nicolas Geoffray wrote:
> 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 :)
Very nice! I don't know enough about EH, someone else
2009 Jun 11
0
[LLVMdev] Why does the x86-64 JIT emit stubs for external calls?
On Jun 10, 2009, at 12:17 PM, Jeffrey Yasskin wrote:
> In X86CodeGen.cpp, the following code appears in the handler used for
> CALL64pcrel32 instructions:
>
> // Assume undefined functions may be outside the Small
> codespace.
> bool NeedStub =
> (Is64BitMode &&
> (TM.getCodeModel() == CodeModel::Large ||
>
2009 Jun 10
3
[LLVMdev] Why does the x86-64 JIT emit stubs for external calls?
In X86CodeGen.cpp, the following code appears in the handler used for
CALL64pcrel32 instructions:
// Assume undefined functions may be outside the Small codespace.
bool NeedStub =
(Is64BitMode &&
(TM.getCodeModel() == CodeModel::Large ||
TM.getSubtarget<X86Subtarget>().isTargetDarwin())) ||
Opcode == X86::TAILJMPd;
2008 Apr 07
0
[LLVMdev] Being able to know the jitted code-size before emitting
On Apr 7, 2008, at 3:02 AM, Nicolas Geoffray wrote:
> Hi Evan,
>
> Evan Cheng wrote:
>>
>> I don't think the duplication is going to be top much of a problem.
>> If
>> it is, I'll bug you about refactoring. :)
>>
>>
>
> I don't mean to show how lazy I can be, but I also need to know the
> size
> of the exception table
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
2007 Dec 12
3
[LLVMdev] Exception handling in JIT
Hi Evan,
My apologies: I've been so excited on sharing the functionality that I
forgot to review my patch!
Evan Cheng wrote:
> On Dec 10, 2007, at 9:52 AM, Nicolas Geoffray wrote:
>
>
>> 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
2008 Feb 04
0
[LLVMdev] Exception handling in JIT
Looks sane. Thanks.
Evan
On Feb 1, 2008, at 1:24 AM, Nicolas Geoffray wrote:
> 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
> Index: