Zero's a hero - portable Java VM passes TCK
The Zero project, which aims to bring Java's HotSpot virtual machine to platforms other than Intel x86 and SPARC, has announced that Zero has passed a major milestone; a Zero based OpenJDK for Fedora 10 on 32bit and 64 bit PowerPC has now passed the Java SE 6 TCK (Technology Compatibility Kit) making it officially compatible with Java SE 6.
Zero is a zero-assembler port of Java's Hotspot, removing the need to port assembler code when porting Java to another architecture that isn't currently supported by Hotspot. This though comes with a cost. Gary Benson, main developer of Zero at Red Hat, who fund Zero, says in his blog "Zero’s speed can make it a standing joke, but I’d like to use these passes to emphasise that Zero isn’t just a neat hack – it’s production quality code that hasn’t been optimised yet". For some users though, having a working Java virtual machine is more important than having a fast one. As of last December, Zero could run, in interpreter only mode, on Alpha, ARM, IA-64, MIPS, PowerPC, x86-64 and zSeries platforms.
For higher performance in future, Shark, a JIT (just-in-time) compiler for Zero, is being developed. Shark uses the LLVM compiler infrastructure to allow Java code to be just-in-time compiled, without introducing any platform specific code. However Shark is still in development and would need LLVM to be available on any platform that was to use it.