search for: allocateglobal

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. >> >...