[LLVMdev] Introduction and questions

Gary Benson gbenson at redhat.com
Wed Apr 2 04:23:04 PDT 2008


Gordon Henriksen wrote:
> On 2008-04-02, at 05:55, Gary Benson wrote:
> > I've been working on making a non-architecture specific port of
> > OpenJDK these past few months.  It's interpreter-only at present,
> > and very slow, and I'd like to use LLVM to add some kind of JIT to
> > it.
> >
> > So far I'm just trying to figure out how it would all slot in. The
> > existing code in OpenJDK is written to accomodate different JITs,
> > so integrating peripheral stuff like garbage collection seems
> > pretty simple, but method dispatch seems like it will be tricky.
> > The examples I've seen require an ExecutionEngine to execute code.
> > Is it possible to bypass this and get a function pointer?  So you
> > could use it like this:
> >
> >  typedef void (*function_t)(methodOop method, JavaThread *thread);
> >  function_t func = [some LLVM call here];
> >  func(method, thread);
> >
> > That would solve pretty much all my problems :)
> 
> The getPointerToFunctionOrStub method that does what you want in the
> JIT.
> 
> http://llvm.org/docs/doxygen/html/classllvm_1_1JIT.html#a6

Perfect, thank you!

Cheers,
Gary

-- 
http://gbenson.net/



More information about the llvm-dev mailing list