[LLVMdev] IR code generation and JIT execution in a multithread environment

Evan Cheng evan.cheng at apple.com
Mon Jan 12 19:35:14 PST 2009


On Jan 12, 2009, at 8:10 AM, Edgar Geisler wrote:

> Hi Everyone,
>
> my goal is to create a service with multiple threads, each of them
> generating IR code and JIT'ing/executing it in their threads
> and some threads will share generated code through a code  
> repository...
>
> 1. Is there a guideline/docu out there, which describes  
> serialization of
> some LLVM objects,
> especially llvm::ExecutionEngine, llvm::ModuleProvider, llvm::Module?
> 2. Since llvm::ExecutionEngine can contain multiple  
> llvm::ModuleProvider
> instances,
> is it a good idea to keep it as a base of a code repository?
> 3. Is the memory consumption by the llvm::ExecutionEngine controllable
> (i.e. via LRU algorithm for llvm::ModuleProvider instances)?

Default implementation doesn't do a lot. I think it tries to coalesce  
freed memory blocks, but not much more. You can provide your own  
memory manager though.

Evan

>
>
> Best regards
> Edgar Geisler
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list