[LLVMdev] LLVM-based JVM JIT for libgcj

Tom Tromey tromey at redhat.com
Tue Apr 18 18:21:14 PDT 2006


Chris> Are you using a debug or a release build?  A release build (built with
Chris> make ENABLE_OPTIMIZED=1) is often 10x to 20x smaller than a debug
Chris> build, and links correspondingly faster.  On some machines, a release
Chris> build builds *faster* than a debug build because the debug symbols are
Chris> so huge. The only thing you lose with a release build is the ability
Chris> to step into LLVM libraries in a debugger.

Ok, I rebuilt with ENABLE_OPTIMIZED=1.  This did make a huge
difference -- my rebuild went down to 8 seconds (from 16 minutes... I
timed it this time; my earlier guess was off a bit).

Unfortunately it turns out I do need the debugging capabilities.
Darn.

Chris> I'd suggest sticking with llvm-config and not using shared
Chris> libraries.

I didn't dig into the Makefiles... are the libraries and whatnot built
-fPIC?  I ask because I want to dynamically load this code into
libgcj.  JVMs pretty much have to be shared libraries (or have a
separate version which is a shared library), at least if you want to
support the invocation API.

Chris> It would be straight-forward to add a new "easy" interface for
Chris> creating LLVM instructions.  Would something like this work well for
Chris> you?

I considered doing this myself but in the end didn't have much need
for it.  Anyway, don't add it on my account, I doubt I have too many
more problems like this in my code :-)

Tom




More information about the llvm-dev mailing list