RFR(S) 8206115 - Use shared macros for JavaClasses::compute_offsets and MetaspaceShared::serialize_well_known_classes

Jiangli Zhou jiangli.zhou at oracle.com
Wed Aug 15 16:10:17 UTC 2018

Hi Ioi,

Looks good!

I have a very minor suggestion. Could you please add some details in the 
following comment and describe where/when the compute_offsets() calls 
for java_lang_String and java_lang_Class are done.

4538   // We have already called the compute_offsets() of the
4539   // BASIC_JAVA_CLASSES_DO_PART1 classes (java_lang_String and 


On 8/14/18 9:37 PM, Ioi Lam wrote:
> https://bugs.openjdk.java.net/browse/JDK-8206115
> http://cr.openjdk.java.net/~iklam/jdk12/8206115_compute_offsets_macro.v01/ 
> As I noted in the comments on this RFE, we already have a bug where
> java_lang_Integer_IntegerCache was missing from
> MetaspaceShared::serialize_well_known_classes.
> To avoid such problems in the future, I added a new macro in 
> javaClasses.hpp,
> BASIC_JAVA_CLASSES_DO, which is used by JavaClasses::compute_offsets and
> JavaClasses::serialize_offsets.
> For clean up, I also renamed all the <Class>::serialize() functions to
> <Class>::serialize_offsets() to reflect what these functions really do.
> The old MetaspaceShared::serialize_well_known_classes function is now
> JavaClasses::serialize_offsets.
> Testing with hs tiers 1/2.
> Thanks
> - Ioi

More information about the hotspot-runtime-dev mailing list