harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Archie Cobbs <arc...@dellroad.org>
Subject Re: JIT vs. WAT
Date Fri, 13 May 2005 02:07:26 GMT
Nick Lothian wrote:
>>GCJ begins to fall short where you wish to use Java's dynamic 
>>loading/linking capabilities.  Classes must be loaded 
> Most modern Java programs make extensive use of dynamic loading &
> linking, and that usage is increasing.
> Recent releases of the Sun VM have put a lot of emphasis on speeding up
> the performance of reflection and this has been one of the big
> performance boosters in these VMs.

IMHO both JITs and pre-compiling have their place.. it depends
on the application whether one is definitely better than the other.

Ideally, the design of harmony would allow for people to pursue
both approaches and the two could coexist peacefully. E.g., it
may be common for people to precompile all of the core classes,
leaving everything else for runtime. This is where a well thought
out design can lead to a very powerful and flexible system...
there will be people who care about optimizing their particular
scenario, and hopefully all such people can contribute to make
the overall system more valuable to everyone, etc.

Just rambling here.. imagine a "code object" contained executable
machine code plus meta-data describing the assumptions behind
any optimizations taken. Then the filesysytem could contain
pre-compiled code objects that could be used, if appropriate,
at runtime. New code objects would be created at runtime by
the JIT, and optionally cached.

Then the core VM becomes just a code object executor. It calls
out to the JIT, the "JIT cache", etc. on demand and provides any
relevant runtime information, etc.


Archie Cobbs      *        CTO, Awarix        *      http://www.awarix.com

View raw message