[Info-vax] JIT / Code Generation (was: Re: Oracle loses appeal in HP/Oracle Lawsuit)
Stephen Hoffman
seaohveh at hoffmanlabs.invalid
Fri Feb 15 11:33:22 EST 2013
On 2013-02-15 15:15:24 +0000, Paul Sture said:
> Given the discussions about the complexity of compilers for Itanium,
> generating machine code probably requires a fair bit of expertise, and
> that probably doesn't come cheap.
If you're rolling your own instruction generation, yeah, Itanium can be
an interesting coding project. Particularly if you want not-slow
executable code. One of the central tenets of the Itanium
IA-64/VLIW/EPIC architecture — which Poulson is walking back somewhat
with its "modest" out-of-order capabilities — was to push the
scheduling overhead into the compilers, too.
But... Oracle owns Java, and the Java JVM has a JIT.
There are also other JITs around. (Far fewer for Itanium, though.)
LuaJIT and llvm, for instance, have x86-64 support (The llvm
kaleidoscope example program shows how to add a JIT into your software,
too.) Microsoft reportedly had a CLR JIT for Itanium, too.
There are also cases where generating code is little more than spewing
out some assembler or even C code, and then building and loading that.
IIRC, Oracle did that back twenty-some years ago, from some vague
memories monitoring ancient VAX systems. (Haven't checked anything
recent, so I don't know what they're up to now.)
Itanium is very weird architecturally, and that derails the reuse of
many of the typical code optimization and scheduling sequences from
other "more traditional" platforms, though.
With Oracle's fondness for Java, I'd be surprised if they weren't at
least considering sending bytecode at the JVM, if not already doing it.
--
Pure Personal Opinion | HoffmanLabs LLC
More information about the Info-vax
mailing list