[LLVMdev] Re: LLVM-based JVM JIT for libgcj
jp at hapra.at
Tue Apr 18 13:48:16 PDT 2006
I am really glad that someone has found time to step into that :-).
Tom Tromey wrote:
> I recently wrote an LLVM-based JIT plugin for libgcj and I thought
> it'd be worthwhile to mention it here.
> It is in cvs on sourceforge, but afaics anonymous cvs there is pretty
> broken at the moment... so if you want a copy, ask and I will email it
> to you.
wow. that is really nice.
I was looking for some contractor for working more on LLVM, but it is
sad that I did not succeed as far.
I would definitely like to look into it.
> Basically I hacked libgcj to (optionally) dynamically load JIT module
> at startup. If a JIT is loaded then bytecode is passed to it rather
> than to the libgcj bytecode interpreter.
> The LLVM JIT is pretty raw at the moment. It can run "hello world"
> and a few microbenchmarks (empty loops, method calls, that sort of
> thing). I haven't tested it seriously yet. On my little benchmarks
> it is 5x-6x faster than our interpreter.
> Exception handling definitely does not work, I didn't even try to
> implement it yet. I've been thinking about having some kind of simple
> bridge between the LLVM and GCC worlds here -- very inefficient, but
> at least I could get it working rather quickly. Long term I'm hoping
> someone else will be solving this problem... :-)
I would offer some help. But as I have always told because of a lack of
money supporting me, I have just my very scarce free time.
> FWIW I actually did this work twice, once for libjit and once for
> LLVM. I'm happy to provide a comparison, from a jit-writing
> perspective, if you're interested.
Yes very much! How did you find writing it directly in SSA-form. What is
the footprint of libjit compared to the more heavy LLVM jit? How about
recompiling in libjit? Has it support for CFG, dataflow analysis?
> Thanks for writing LLVM. It is awesome to be able to add a JIT to
> libgcj this easily.
Yes kudos to the LLVM people!
More information about the llvm-dev