[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