summaryrefslogblamecommitdiff
path: root/java/jc/pkg-descr
blob: edf6a3e73859819e3b4937787b61250d2ec0f624 (plain) (tree)
1
2
3
4
5



                                                                   
                                                                   













                                                                       

                                 
JC is a Java virtual machine implementation that converts class
files into C source files using the Soot Java bytecode analysis
framework, compiles them with GCC, and loads them using a built-in
ELF object file loader. JC utilizes the GNU Classpath class library
and provides a fairly complete Java runtime including sophisticated
optimizations to increase runtime performance. JC also includes a
bytecode interpreter, and supports execution in either or mix ed
modes.

Although JC has good interpreter performance, JC doesn't try to be
fast in every situation. Instead, JC focuses on this question: how
fast can we go if we know some or all of the class files ahead of
time? The answer is: very fast! Optimizations that are just too
complex and expensive to perform at runtime are instead performed
at code generation time. JC's code generator is written in Java,
using the powerful Soot bytecode analysis framework. When combined
with the proven power of GCC's C optimizer the results are impressive.
As an additional benefit, JC contains very little architecture-specific
code and is highly portable.

WWW: http://jcvm.sourceforge.net/