gcjx llvm backend
Bryce McKinlay
mckinlay@redhat.com
Mon Nov 28 22:58:00 GMT 2005
Mike Emmel wrote:
>>Cool. Just to make sure I understand this correctly, you'd
>>be adding support to the standalone GCJX compiler (stuff
>>in the "gcjx" folder) to optinally emit LLVM bytecode,
>>apart from the usual JVM bytecode, right?
>>>>>>>Yes but llvm is also a full compiler backend so you can do
>llvm bytecode->jit and direct machine code.
>The one part thats not quite there would be to integrate with the java
>bytecode interpeter
>to convert to llvm on the fly ie a java jit. My primary use case is
>for compiled java libraries and large java programs if those can be
>compiled to llvm bytecode and readily jited to high quality machine
>code with caching I'm not sure that a complex java bytecode jit is
>really needed. Hotspot spends 99% of its time jitting the core class
>libraries yet one more time.
>>
Note that as of Sun's Java 1.5, Hotspot now has a precompiled cache of
the core class libraries - so they've actually implemented a kind of
pre-compilation in order to improve startup time. Of course, it can
still go back and recompile parts of those classes with runtime
optimizations, inlining, etc as needed.
In any case, LLVM integration is a really cool project - using LLVM and
sharing parts of gcjx with libgcj so that the same code can be used to
implement AOT compilation and runtime (JIT) compilation could hold some
interesting possibilities.
Bryce
More information about the Java
mailing list