serialize.cpp uses objArrayOopDesc::base_offset_in_bytes(T_BYTE)
Keith McGuigan
Keith.McGuigan at Sun.COM
Tue Jul 7 08:27:26 PDT 2009
Christian Thalinger wrote:
> Keith McGuigan wrote:
>> I suspect that's a bug that should be able to be safely converted to a
>> T_OBJECT.
>>
>> The code you reference in serialize.cpp is used to write out and read in
>> data to/from the shared class archive file for class data sharing (CDS).
>> It writes out a number of constants in the header of the file and then
>> verifies that these constants haven't changed when the archive file is
>> read back in. If you change this from T_BYTE to T_OBJECT, it will
>> likely change that value (unless we're real lucky with the alignments),
>> and this may prevent archive files created before your change from being
>> loaded into VMs after your change. I think that's ok, though, since
>> deployments run -Xshare:dump (creating a new archive) whenever a new JDK
>> is installed.
>
> Thanks for the explanation, that seems reasonable to me. Should I open
> a CR and propose a patch on hotspot-runtime-dev (Tom told me that this
> code is owned by the runtime team)?
Sure.
--
- Keith
More information about the hotspot-dev
mailing list