Hotspot on PPC

Paul Hohensee - Java SE Paul.Hohensee at Sun.COM
Fri Jun 1 08:15:07 PDT 2007


CC_INTERP must be set to build the C++ interpreter, but you also need
some machine-dependent assembly code glue to make it work.  We haven't open
sourced the latter since we don't support the former.

You can build a vm without the compilers.  Use one of the 'core' targets 
like
'productcore'.

We supported ia64 in 1.4.2, but dropped it in 5.0, so yes, we have old ia64
sources.  The ia64 vm was a server-only 64-bit vm, which means it 
incorporated
the server optimizing compiler.  It used a C++ interpreter instead of what
we call a template interpreter, which latter is an interpreter written 
in assembly
code.  The other platforms we support (sparc32, sparc64, x86 and x64) all
use template interpreters for performance.  We used a C++ interpreter
for ia64 for time-to-market reasons (as Bob said): it already existed as a
skunk works project and correct ia64 assembly is 'interesting' to write.

I'm not aware of any plans to open source the PPC 5.0 port.

Paul

Gary Benson wrote:
> Bob Vandette wrote:
>   
>> When we did the original IA64 port of Hotspot, we decided to use
>> a "C" interpreter in order to get the port done quicker.  On
>> architectures with many CPU registers, the "C" interpreter is
>> actually just as fast or even faster than the generated assembly
>> version.  We use the GCC computed goto in order to avoid the typical
>> dispatching overhead of switch statements.  This interpreter is in
>> hotspot/src/share/vm/interpreter/cInterpretMethod.hpp.  The problem
>> is that the only architecture that uses the cInterpreter is IA64 and
>> as far as I know, this code isn't open sourced.  You'd need to see
>> the glue logic that exists in the CPU directory to use this
>> interpreter.
>>     
>
> That's interesting.  I found an environment variable that seems to
> switch it on, CC_INTERP, but it's still trying to suck in machine-
> dependent stuff.  Am I missing something, or is it simply that the
> build system is not set up to build without the JITs?
>
> Also, does this mean you have a working IA64 JDK internally?  Does
> it exclusively use the C interpreter or was a JIT written later?
> If it's possible to run OpenJDK with a C interpreter then of course
> I'd love to know :)
>
>   
>> I don't know if you are aware of a Java 5 version of PowerPC that
>> is on our Java SE Embedded site.  It is a hotspot implementation
>> of Java SE 5.0 for Linux platforms.  It uses the Hotspot client
>> JIT compiler and is only 32 bit but it has passed the fully JCK
>> certification.
>>     
>
> Interesting.  Are there any plans to open source it?
>
> Cheers,
> Gary
>   



More information about the hotspot-dev mailing list