serialize.cpp uses objArrayOopDesc::base_offset_in_bytes(T_BYTE)

Christian Thalinger Christian.Thalinger at Sun.COM
Tue Jul 7 08:22:16 PDT 2009


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)?

-- Christian



More information about the hotspot-dev mailing list