search for: memorymanager

Displaying 20 results from an estimated 43 matches for "memorymanager".

2015 May 29
2
[LLVMdev] MCJit interface question
...and zero or more EH handler functions extracted from the MSIL method). The CoreCLR requires the jit to notify it of the size of the unwind info descriptors for each function in the module before reserving the memory it will be loaded into. So we need a call (or calls) from the Jit/loader into the MemoryManager that runs at-or-before reserveAllocationSpace, is conceptually similar to registerEHFrames in that it's reserving EH frames, but that additionally needs to separate out the per-function information. A few options come to mind: 1. Add a needsToReserveEHFrames callback on MemoryManager (t...
2015 May 30
2
[LLVMdev] MCJit interface question
...and zero or more EH handler functions extracted from the MSIL method). The CoreCLR requires the jit to notify it of the size of the unwind info descriptors for each function in the module before reserving the memory it will be loaded into. So we need a call (or calls) from the Jit/loader into the MemoryManager that runs at-or-before reserveAllocationSpace, is conceptually similar to registerEHFrames in that it's reserving EH frames, but that additionally needs to separate out the per-function information. A few options come to mind: 1. Add a needsToReserveEHFrames callback on MemoryManager (t...
2015 May 29
0
[LLVMdev] MCJit interface question
...ndler functions extracted from the MSIL method). The CoreCLR > requires the jit to notify it of the size of the unwind info descriptors > for each function in the module *before* reserving the memory it will be > loaded into. So we need a call (or calls) from the Jit/loader into the > MemoryManager that runs at-or-before reserveAllocationSpace, is > conceptually similar to registerEHFrames in that it's reserving EH frames, > but that additionally needs to separate out the per-function information. > > > > A few options come to mind: > > 1. Add a needsToReserv...
2015 Jun 04
2
[LLVMdev] MCJit interface question
...and zero or more EH handler functions extracted from the MSIL method). The CoreCLR requires the jit to notify it of the size of the unwind info descriptors for each function in the module before reserving the memory it will be loaded into. So we need a call (or calls) from the Jit/loader into the MemoryManager that runs at-or-before reserveAllocationSpace, is conceptually similar to registerEHFrames in that it's reserving EH frames, but that additionally needs to separate out the per-function information. A few options come to mind: 1. Add a needsToReserveEHFrames callback on MemoryManager (t...
2010 Sep 30
3
[LLVMdev] JIT with MC - structure
...olks, Attached with this email, you will find a patch not directly applicable (it doesn't compile like this) which (try to) enhance the structure of a possible JIT with the MC framework. Basically : - MCJIT : - Main class implementing ExecutionEngine interface - owns and creates : - a MemoryManager (will be a reuse of the JITMemoryManager mechanism) - a MCJITStreamer - a PassManager for scheduling of an AsmPrinter (MCLowering) using the streamer - MCJITStreamer - owns and creates : - a MCAssember - a MCJITObjectWriter - a mem_raw_ostream - knows : - the MCJIT : to...
2015 May 30
2
[LLVMdev] MCJit interface question
...and zero or more EH handler functions extracted from the MSIL method). The CoreCLR requires the jit to notify it of the size of the unwind info descriptors for each function in the module before reserving the memory it will be loaded into. So we need a call (or calls) from the Jit/loader into the MemoryManager that runs at-or-before reserveAllocationSpace, is conceptually similar to registerEHFrames in that it's reserving EH frames, but that additionally needs to separate out the per-function information. A few options come to mind: 1. Add a needsToReserveEHFrames callback on MemoryManager (t...
2015 Jun 04
2
[LLVMdev] MCJit interface question
...and zero or more EH handler functions extracted from the MSIL method). The CoreCLR requires the jit to notify it of the size of the unwind info descriptors for each function in the module before reserving the memory it will be loaded into. So we need a call (or calls) from the Jit/loader into the MemoryManager that runs at-or-before reserveAllocationSpace, is conceptually similar to registerEHFrames in that it's reserving EH frames, but that additionally needs to separate out the per-function information. A few options come to mind: 1. Add a needsToReserveEHFrames callback on MemoryManager (t...
2009 Jun 30
2
[LLVMdev] JIT allocates global data in function body memory
...ses? Or is everything PC-relative on your platform, so all that matters is that globals and the code are in the same relative positions? How are you getting the size of the code you need to copy? MachineCodeInfo didn't exist when you wrote this patch, so I assume you've written your own JITMemoryManager. Even then, if you JIT more than one function, and they share any globals, you have to deal with multiple calls into the MemoryManager and functions that use globals allocated inside other buffers. You should be able to deal with having separate calls to allocate global space and allocate code spac...
2016 May 24
2
ORC and MCJIT clients: Heads up, API breaking changes in the pipeline.
...ill now shadow symbols that might have been found via findSymbol. It is unlikely that anyone is relying on non-shadowing so I don't expect any trouble here, but if you do see any changes in symbol resolution after this change (which I expect to land today) this is something to have in mind. 2) MemoryManager deregisterEHFrames will be removed. Memory managers should own their registered EH frames and deregister them on destruction. This will bring EH frame ownership in line with memory ownership: memory managers are already responsible for freeing the memory that they've allocated when they are de...
2016 May 27
1
ORC and MCJIT clients: Heads up, API breaking changes in the pipeline.
...ight > have been found via findSymbol. It is unlikely that anyone is relying > on non-shadowing so I don't expect any trouble here, but if you do see > any changes in symbol resolution after this change (which I expect to > land today) this is something to have in mind. > > 2) MemoryManager deregisterEHFrames will be removed. > > Memory managers should own their registered EH frames and deregister > them on destruction. This will bring EH frame ownership in line with > memory ownership: memory managers are already responsible for freeing > the memory that they've al...
2009 Jun 30
0
[LLVMdev] JIT allocates global data in function body memory
...only one way to do things; I won't object to what you do as long as it doesn't break what we're using now. > How are you getting the size of the code you need to copy? > MachineCodeInfo didn't exist when you wrote this patch, so I assume > you've written your own JITMemoryManager. Even then, if you JIT more > than one function, and they share any globals, you have to deal with > multiple calls into the MemoryManager and functions that use globals > allocated inside other buffers. You should be able to deal with having > separate calls to allocate global space an...
2008 May 07
1
[BioC] RCurl loading problem with 64 bit linux distribution
...a0 d CallEntries 0000000000208c00 D CurlErrorNames 000000000020aac0 D CurlInfoNames 0000000000209740 D CurlOptionNames U Curl_base64_decode U Curl_base64_encode U INTEGER U LENGTH U LOGICAL 000000000020aee8 B OptionMemoryManager U PRINTNAME U RAW 0000000000003f70 T RCreateNamesVec 00000000002086a0 d RCurlErrorBuffer 0000000000003fe0 T RCurlVersionInfoToR 0000000000006d00 T RCurl_addMemoryAllocation 0000000000006c90 T RCurl_addMemoryTicket 0000000000006b50 T RCurl_getMemoryManager 000000000...
2008 May 07
1
[BioC] RCurl loading problem with 64 bit linux distribution
...a0 d CallEntries 0000000000208c00 D CurlErrorNames 000000000020aac0 D CurlInfoNames 0000000000209740 D CurlOptionNames U Curl_base64_decode U Curl_base64_encode U INTEGER U LENGTH U LOGICAL 000000000020aee8 B OptionMemoryManager U PRINTNAME U RAW 0000000000003f70 T RCreateNamesVec 00000000002086a0 d RCurlErrorBuffer 0000000000003fe0 T RCurlVersionInfoToR 0000000000006d00 T RCurl_addMemoryAllocation 0000000000006c90 T RCurl_addMemoryTicket 0000000000006b50 T RCurl_getMemoryManager 000000000...
2015 Apr 09
3
[LLVMdev] Looking for advice on how to debug a problem with C++ style exception handling code that my compiler generates.
Hi, I’m looking for advice on how to debug a problem with my exception handling code. I’m asking a specific question here - but general advice on how to debug something like this would be greatly appreciated. Is there any way to get a list of landing pad clauses that are active at a particular point in a program? I'd like to get something like a backtrace but listing all active landing pad
2009 Jun 30
0
[LLVMdev] JIT allocates global data in function body memory
...atch to work around this behavior on Apple ARM > platforms: > http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ExecutionEngine/JIT/JIT.cpp?view=diff&pathrev=72630&r1=58687&r2=58688 > > So what should the right long-term behavior be? It makes sense to me > to use the JITMemoryManager for this so that clients of the JIT can > customize allocation instead of using malloc or new char[]. On the > other hand, that complicates the API and requires a homegrown malloc > implementation in the DefaultMemoryManager. > > Reid > ___________________________________________...
2014 May 28
2
[LLVMdev] how to call the function in hosting code from JITted IR code..?
Dears, I'm trying to call the function that defined in the host application from IR code, but LLVM is saying that there is no such function... I've seen the tutorial of Kaleidoscope, and defined the function as extern "C" { void test1(void) { cout << "test function in the host application \n" ; } } ...in the host application. Would you please let me give any
2018 May 16
1
LLVM JIT 3.9 vs 6.0: How to emitAndFinalize multiple modules correctly?
Hi all, I am having hard time figuring out how I should use the API for JIT in LLVM 6. In LLVM 3.9 I am used to adding all objects at once and emitAndFinalizing them all: handle = objectLayer.addObjectSet(objectFiles, memoryManager, resolver); objectLayer.emitAndFinalize(handle); In LLVM 6.0 the objects are added one by one: auto handle = objectLayer.addObject(objectFile, resolver).get(); objectLayer.emitAndFinalize(handle); The problem is that emitAndFinalize in this case works for one module and JIT exits on "LLVM E...
2016 Mar 08
3
Deleting function IR after codegen
...use of LLVM involves an app that JITs program after program and will quickly swamp memory if everything is retained. It is crucial to aggressively throw everything away but the functions we still need to execute. I've been faking it with old JIT (llvm 3.4/3.5) by using a custom subclass of JITMemoryManager that squirrels away the jitted binary code so that when I free the Modules, ExecutionEngine, and MemoryManager, the real memory that got allocated for the binary code is hidden and does not get deallocated. Currently I'm struggling with bringing my code base up to MCJIT without losing this abi...
2016 May 12
2
Orc/MCJIT: Relocations vs pointers to functions
...you didn't mean to expose. Having a smaller > symbol lookup space may improve performance too. > Option (2) would work, but there's no advantage vs option (3). > > So I recommend option 3. :) > > If you're using MCJIT you can override the findSymbol method on the > MemoryManager. If you're using ORC you can pass a custom resolver to > addModuleSet. > > Cheers, > Lang. > > > On Wed, May 11, 2016 at 6:47 AM, Paweł Bylica <chfast at gmail.com> wrote: > >> Hi LLVM, Lang. >> >> I'm looking for a advice here. And I truly un...
2009 Jun 30
3
[LLVMdev] JIT allocates global data in function body memory
...or. There's even a patch to work around this behavior on Apple ARM platforms: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ExecutionEngine/JIT/JIT.cpp?view=diff&pathrev=72630&r1=58687&r2=58688 So what should the right long-term behavior be? It makes sense to me to use the JITMemoryManager for this so that clients of the JIT can customize allocation instead of using malloc or new char[]. On the other hand, that complicates the API and requires a homegrown malloc implementation in the DefaultMemoryManager. Reid