Displaying 11 results from an estimated 11 matches for "allocateglobal".
2009 Jul 01
3
[LLVMdev] JIT allocates global data in function body memory
...big win there (clean up a few hacks to make things go in
> the correct locations).
I'm also guessing that Dale's client at Apple is using a custom memory
manager, since without doing that there's no way to get the size of
the code block in order to send it over the wire. Adding an
allocateGlobal method would probably allow them to trap it and also
send it over the wire, but they say they don't want to make any code
changes.
I'd like to get some guidance on what's acceptable before I send a
patch to llvm-commits, though.
Reid
2013 Oct 01
2
[LLVMdev] JITMemoryManager
...uint8_t *FunctionEnd) {
return mgr()->endFunctionBody(F, FunctionStart, FunctionEnd);
}
virtual uint8_t *allocateSpace(intptr_t Size, unsigned Alignment) {
return mgr()->allocateSpace(Size, Alignment);
}
virtual uint8_t *allocateGlobal(uintptr_t Size, unsigned Alignment) {
return mgr()->allocateGlobal(Size, Alignment);
}
virtual void deallocateFunctionBody(void *Body) {
return mgr()->deallocateFunctionBody(Body);
}
#if HAVE_LLVM < 0x0304
virtual uint8_t *startExceptionTable(const...
2013 Oct 02
0
[LLVMdev] JITMemoryManager
...uint8_t *FunctionEnd) {
> return mgr()->endFunctionBody(F, FunctionStart, FunctionEnd);
> }
> virtual uint8_t *allocateSpace(intptr_t Size, unsigned Alignment) {
> return mgr()->allocateSpace(Size, Alignment);
> }
> virtual uint8_t *allocateGlobal(uintptr_t Size, unsigned Alignment) {
> return mgr()->allocateGlobal(Size, Alignment);
> }
> virtual void deallocateFunctionBody(void *Body) {
> return mgr()->deallocateFunctionBody(Body);
> }
> #if HAVE_LLVM < 0x0304
> virtual uint8...
2013 Oct 02
3
[LLVMdev] JITMemoryManager
...End) {
>> return mgr()->endFunctionBody(F, FunctionStart, FunctionEnd);
>> }
>> virtual uint8_t *allocateSpace(intptr_t Size, unsigned Alignment) {
>> return mgr()->allocateSpace(Size, Alignment);
>> }
>> virtual uint8_t *allocateGlobal(uintptr_t Size, unsigned Alignment) {
>> return mgr()->allocateGlobal(Size, Alignment);
>> }
>> virtual void deallocateFunctionBody(void *Body) {
>> return mgr()->deallocateFunctionBody(Body);
>> }
>> #if HAVE_LLVM < 0x0304...
2009 Jul 01
0
[LLVMdev] JIT allocates global data in function body memory
...ew hacks to make things go in
>> the correct locations).
>
> I'm also guessing that Dale's client at Apple is using a custom memory
> manager, since without doing that there's no way to get the size of
> the code block in order to send it over the wire. Adding an
> allocateGlobal method would probably allow them to trap it and also
> send it over the wire, but they say they don't want to make any code
> changes.
>
> I'd like to get some guidance on what's acceptable before I send a
> patch to llvm-commits, though.
>
> Reid
> _____________...
2010 Jan 31
1
[LLVMdev] Boehm GC + static variables?
You should look at
http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ExecutionEngine/JITMemoryManager.h?view=markup
and see if inheriting from that and overriding allocateGlobal() will
do what you want.
I'm a little surprised the boehm gc doesn't already see the globals,
since there's a reference to their memory from the JMM, but maybe it
doesn't scan mmap regions by default.
On Sun, Jan 31, 2010 at 6:12 AM, James Williams <junk at giantblob.com> wr...
2009 Jul 01
0
[LLVMdev] JIT allocates global data in function body memory
On Mon, Jun 29, 2009 at 9:23 PM, Reid Kleckner<rnk at mit.edu> wrote:
>> That's me (and I'm not on IRC because I like messages to be
>> archived). The reason everything needs to go in the same buffer is
>> that we're JITting code on one machine, then sending it to another to
>> be executed, and references from one buffer to another won't work in
2010 Jan 31
0
[LLVMdev] Boehm GC + static variables?
I've implemented this by adding calls to GC_add_roots(<first global in
module>,<last global in module>+1) to the llvm.global_ctors before any other
static initialization code for the module.
This should be safe assuming that:
- global variables are laid out in memory in the order they appear in their
module (and ideally contiguously without being interleaved with any other
values)
2009 Jun 30
2
[LLVMdev] JIT allocates global data in function body memory
> That's me (and I'm not on IRC because I like messages to be
> archived). The reason everything needs to go in the same buffer is
> that we're JITting code on one machine, then sending it to another to
> be executed, and references from one buffer to another won't work in
> that environment. So that model needs to continue to work. If you
> want to generalize
2010 Jan 31
2
[LLVMdev] Boehm GC + static variables?
Hi,
I'm running LLVM bitcode generated by my compiler under lli. The bitcode is
linked against Boehm GC (lli -load=/usr/lib/libgc.so).
It looks like Boehm GC isn't scanning global variables and as a result
objects referenced only through globals are being prematurely collected. I
understand that Boehm GC needs to see the data segment containing my global
variables as a root. For native
2009 Jul 02
2
[LLVMdev] JIT allocates global data in function body memory
...gt;> the correct locations).
>>
>> I'm also guessing that Dale's client at Apple is using a custom
>> memory
>> manager, since without doing that there's no way to get the size of
>> the code block in order to send it over the wire. Adding an
>> allocateGlobal method would probably allow them to trap it and also
>> send it over the wire, but they say they don't want to make any code
>> changes.
>>
>> I'd like to get some guidance on what's acceptable before I send a
>> patch to llvm-commits, though.
>>
>...