[LLVMdev] Eager JIT

Evan Cheng evan.cheng at apple.com
Mon Jul 7 10:28:42 PDT 2008


Sure, you can turn off lazy compilation. Take a look at  
NoLazyCompilation in lli.cpp.

Evan

On Jul 7, 2008, at 6:08 AM, Nicolas Capens wrote:

> Hi all,
>
> Is there any way to generate the binary code for a whole module at  
> once? Currently I always get lazy compilation one function at a time.
>
> The reason I would like to generate the whole module at once is  
> because I create some functions at run-time and then minimize the  
> memory footprint by deallocating all LLVM objects. I’ve written my  
> own JITMemoryManager to ensure that the binary code itself does not  
> get deleted. Unfortunately, with lazy compilation the stub tries to  
> call an LLVM method while everything else has already been deleted.
>
> It looks like JIT::getPointerToFunctionOrStub is responsibe for  
> creating the stubs, and I’ve tried overloading it to emit the  
> function instead of a stub, but unfortunately the JIT class has a  
> private constructor, making it impossible to create a derived class.
>
> Is there any other way to achieve this without changing LLVM code?  
> Or does this sound like a feature worth adding to LLVM itself?
>
> Thanks a lot,
>
> Nicolas Capens
>
> P.S: MSVC users, please comment on my previous e-mail “MSVC solution  
> relative paths”. Thanks.
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20080707/6df0f71d/attachment.html>


More information about the llvm-dev mailing list