compressed oops and 64-bit header words
Vladimir Kozlov
Vladimir.Kozlov at Sun.COM
Mon May 5 11:45:35 PDT 2008
Dan,
Only the mark word is 64 bits. The klass pointer is 32-bits but
in the current implementation the gap after klass is not used.
I am working on to use the gap for a field or array's length.
The mark word may contain a 64-bits tread pointer (for Biased Locking).
Thanks,
Vladimir
Dan Grove wrote:
> Hi-
>
> I talked some with the Nikolay Igotti about compressed oops in
> OpenJDK7. He tells me that the mark word and class pointer remain 64
> bits when compressed oops are being used. It seems that this leaves a
> fair amount of the bloat in place when moving from 32->64 bits.
>
> I'm interesting in deprecating 32-bit VM's at my employer at some
> point. Doing this is going to require that 64-bit VM's have as little
> bloat as possible. Has there been any consideration of making the mark
> word and class pointer 32 bits in cases where the VM fits within 4GB?
> It seems like this would be a major win. A second benefit here is that
> the "add and shift" currently required on dereference of compressed
> oops could be eliminated in cases where the VM fit inside 4GB.
>
> Dan
More information about the hotspot-runtime-dev
mailing list