[LLVMdev] The same context; different memory space

Philip Reames listmail at philipreames.com
Mon Jun 9 14:48:49 PDT 2014


Jasmin,

I can not understand your question well enough to answer it, but it 
sounds likely you may be fundamentally misunderstanding how LLVM works.  
LLVM is compiler.  It does not control execution of the generated code.  
All of the discussion about stack frames is a non-issue.

Purely as a guess, I suspect you may be running into issues with symbol 
resolution.  If you declare the same symbol in two modules, they are NOT 
necessarily the same.  If you compile those modules separately, it is 
your responsibility to link them together properly or otherwise resolve 
the symbol addresses.

Philip


On 06/09/2014 12:16 PM, Jasmin Jahic wrote:
> Hello,
>
> I asked this question a few days ago, but it seems that thread died out:
>
> I have a MAIN program which includes LLVM libraries and loads one bc 
> file. From MAIN I execute different functions from the bc file using 
> LLVM interpreter.  On the LLVM website it is said:
> "LLVMContext is an opaque class in the LLVM API which clients can use 
> to operate multiple, isolated instances of LLVM concurrently within 
> the same address space." - It seems that this is not correct or I'm 
> not understanding it properly.
>
> One context is used to create two modules, and based on modules all 
> other things needed for the execution (engine builders, execution 
> engines, functions). When functions are executed (sequentially), they 
> are obviously executed in different memory space. I have verified this 
> over access to the global variable.
>
> However, if functions are executed using the same execution engine 
> (context, module and execution builder the same), then they are 
> executed in the same memory space. But using one execution engine is 
> not suitable for me, because one execution engine means one stack.
>
> One option is to use different stack frames. Before trying that, I 
> just wanted to ask is there a different way for sharing memory space 
> between more execution engines?
>
> Best regards,
> Jasmin
>
>
>
> _______________________________________________
> 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/20140609/3896ceac/attachment.html>


More information about the llvm-dev mailing list