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

Ioi Lam ioi.lam at oracle.com
Wed Aug 15 17:46:58 UTC 2018


Hi Jiangli,

Thanks for the review. How about changing the comment to

// We have already called the compute_offsets() of the
// BASIC_JAVA_CLASSES_DO_PART1 classes (java_lang_String and 
java_lang_Class)
// earlier inside SystemDictionary::resolve_preloaded_classes()

Thanks
- Ioi

On 8/15/18 9:10 AM, Jiangli Zhou wrote:
> 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 
> java_lang_Class);
>
> Thanks,
> Jiangli
>
> 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