[LLVMdev] How does JIT/lli work with bc file?

Heming Cui hc2428 at columbia.edu
Thu Dec 31 02:40:59 PST 2009


Dear all,
    Actually, the thing I am concerned is: can "-force-interpreter" handle
the clone() libc call in a program? Since the clone() libc call is written
in assembly language (in clone.S in glibc), as a result, when the CLONE_VM
flag is added to clone(), the child *thread* will call the sub routine (the
first argument in the clone() libc call) directly via assembly language in
clone.S, then the LLVM intepreter might lose control to the execution of the
sub routine? Is this the case?

On Wed, Dec 30, 2009 at 11:26 PM, Eli Friedman <eli.friedman at gmail.com>wrote:

> On Wed, Dec 30, 2009 at 7:53 PM, Heming Cui <heming at cs.columbia.edu>
> wrote:
> > Dear all,
> >      I hope you enjoy your christmas! Recently I started to play lli with
> > bc. I found that the lli only calls the main() function in bc file and
> then
> > does nothing before the main() function returns, which means that the
> > JIT::runFunction() function is involved only once with the main()
> function
> > in bc file. If this was true, then lli does not have any control
> > to the execution of program. Is this the case?
>
> In JIT mode, yes.
>
> >      What I was thinking lli would do is fetching each LLVM IR
> instruction
> > and "execute" it with some tricks. Is there any option for JIT/lli to
> work
> > like this?
>
> If you pass -force-interpreter to lli, you should get something closer
> to what you're looking for.
>
> -Eli
>
>


-- 
Regards,
Heming Cui
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20091231/5e4e7242/attachment.html>


More information about the llvm-dev mailing list