Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] Question about memory allocation in JIT"
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
2009 Jul 01
0
[LLVMdev] Question about memory allocation in JIT
On Wed, Jul 1, 2009 at 9:07 AM, Merkulov Aleksey<steel1.0 at mail.ru> wrote:
> 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 MachineCodeEmitter interface
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
--------------
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 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
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 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
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 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 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.
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 Nov 22
3
[LLVMdev] MachineCodeEmitter Patch
Here is the corrected version.
Thomas Jablin wrote:
> Actually, there is a problem with the patch. Please delay review.
>
> Thomas Jablin wrote:
>
>> Hi,
>> The following code:
>>
>> #include<stdio.h>
>>
>> char bigArray[0x1000000];
>>
>> int main(int argc, char **argv) {
>> printf("mem: 0x%x\n", (unsigned)
2008 Nov 22
2
[LLVMdev] MachineCodeEmitter Patch
Hi,
The following code:
#include<stdio.h>
char bigArray[0x1000000];
int main(int argc, char **argv) {
printf("mem: 0x%x\n", (unsigned) bigArray);
return 0;
}
causes lli to silently fail, even though it compiles correctly with
llc. The reason is that in JITEmitter.cpp only checks to see if
CurBufferPtr == BufferEnd at the beginning of the function and not after
all
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
2008 Nov 22
0
[LLVMdev] MachineCodeEmitter Patch
Actually, there is a problem with the patch. Please delay review.
Thomas Jablin wrote:
> Hi,
> The following code:
>
> #include<stdio.h>
>
> char bigArray[0x1000000];
>
> int main(int argc, char **argv) {
> printf("mem: 0x%x\n", (unsigned) bigArray);
> return 0;
> }
>
> causes lli to silently fail, even though it compiles correctly with
2008 Dec 08
0
[LLVMdev] MachineCodeEmitter Patch
Looks good. Do you have commit privilege?
Evan
On Nov 22, 2008, at 1:19 PM, Thomas Jablin wrote:
> Here is the corrected version.
>
> Thomas Jablin wrote:
>> Actually, there is a problem with the patch. Please delay review.
>>
>> Thomas Jablin wrote:
>>
>>> Hi,
>>> The following code:
>>>
>>> #include<stdio.h>
2008 Dec 08
1
[LLVMdev] MachineCodeEmitter Patch
Thanks. I do not have commit privilege.
Tom
----- Original Message -----
From: "Evan Cheng" <evan.cheng at apple.com>
To: "LLVM Developers Mailing List" <llvmdev at cs.uiuc.edu>
Sent: Monday, December 8, 2008 5:39:33 PM GMT -05:00 US/Canada Eastern
Subject: Re: [LLVMdev] MachineCodeEmitter Patch
Looks good. Do you have commit privilege?
Evan
On Nov 22, 2008, at
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 Sep 28
2
[LLVMdev] Accounting for code size
In my quest to account for memory, I've now come to the in-memory IR,
and the generated code. I want to book the generated code memory
against the agent that is generating the code.
I see that LLVM's Function class [1] has a size function; what does
this represent and can I use it to account for the space used by the
in-memory IR?
As for generated code, the JIT [2] class simply returns a