[LLVMdev] lli in interpreter mode and external native libraries
thompson at email.arc.nasa.gov
Thu Oct 26 14:20:24 PDT 2006
Chris Lattner wrote:
> The JIT has a superset of this functionality. However, if there is JIT
> support for the host that you are interested in, you shouldn't have to use
> the interpreter at all.
For interpreting, yes, but model checking is weirder so it's greatly
beneficial to be able to heavily hack an interpreter.
>> I can't really move to using the JIT entirely because I want to replace
>> the memory model with something that supports backtracking -- this is
>> doable (fairly) straightforwardly with the interpreter, but it would
>> require some very complicated transformations to the code in order to do
>> this within the JIT environment, and it would be quite tricky to avoid
>> subtly breaking the semantics. That kind of approach is possible,
>> probably, but not really something I want to attack right now.
> Ok. The easiest (in some senses) approach would be to do what you say
> above. However, you could probably arrange for a mixed approach to work.
> in particular, you could have the JIT dynamically compile the FFI code you
> need by dynamically generating the "unpack from GenericValue" code for
> each callee you are interested in.
That's what I'm currently trying -- it looks reasonably straightforward.
More information about the llvm-dev