Is there any special process in Hotspot to adapt 64 bit address?

Paul Hohensee Paul.Hohensee at Sun.COM
Fri Feb 20 18:59:19 PST 2009


Hotspot has supported 64-bit platforms since 2000.  Currently,
Sun supports sparc64 and x64, Intel and Oracle support ia64,
and various licensees support other 64-bit architectures.

I'm not sure I understand what you're asking.  64-bit jvms use either
full width 64-bit addresses to reference objects in the heap, or they
use 32-bit offsets from the heap base (so-called "narrow" addresses)
and convert them to full width addresses as necessary.  In the latter case,
heap sizes in current 64-bit jvms are restricted to up to 32gb, depending
on the implementation.

So there's no conversion from 64-bit to 32-bit addresses in a 64-bit
jvm.  I suppose a 64-bit emulator running in 32-bit mode (i.e., the
emulator itself is a 32-bit program emulating a 64-bit program)
might want to do something like that, but it would be restricted to
"small" 64-bit programs, for some value of "small".

There's also the special case of a 64-bit jvm running with < 4gb heap
with a heap base address of zero.  In that case, narrow addresses are
the same as wide addresses and no conversion is necessary.

Paul

Colin(Du Li) wrote:
> Hi, guys,
>
> Because hotspot is developed for 32 bits address, I wonder if there is
> something, which might be a read barrier, to convert a 64 bit address to 32
> bits address. If so, where is it?
>
> Thanks a lot!
>
> Du Li
>   



More information about the hotspot-dev mailing list