8240254: Build is broken when cds is disabled after JDK-8236604

jiefu(傅杰) jiefu at tencent.com
Sat Feb 29 01:41:40 UTC 2020


Pushed.
Thank you so much, Claes.

On 2020/2/29, 9:25 AM, "jiefu(傅杰)" <jiefu at tencent.com> wrote:

    Thanks Claes for your review and valuable comments.
    I prefer NO_CDS_RETURN.
    
    I will do more testing and push it soon.
    
    Best regards,
    Jie
    
    On 2020/2/29, 9:21 AM, "Claes Redestad" <claes.redestad at oracle.com> wrote:
    
        Oops, wrong method:
        
        diff -r f227e770495f src/hotspot/share/classfile/systemDictionary.hpp
        --- a/src/hotspot/share/classfile/systemDictionary.hpp	Fri Feb 28 
        15:30:29 2020 -0800
        +++ b/src/hotspot/share/classfile/systemDictionary.hpp	Sat Feb 29 
        02:24:12 2020 +0100
        @@ -600,7 +600,7 @@
                                                    const ClassFileStream *cfs,
                                                    TRAPS);
            // Second part of load_shared_class
        -  static void load_shared_class_misc(InstanceKlass* ik, 
        ClassLoaderData* loader_data, TRAPS);
        +  static void load_shared_class_misc(InstanceKlass* ik, 
        ClassLoaderData* loader_data, TRAPS) NO_CDS_RETURN;
            static InstanceKlass* load_shared_boot_class(Symbol* class_name,
                                                         TRAPS);
            static InstanceKlass* load_instance_class(Symbol* class_name, Handle 
        class_loader, TRAPS);
        
        
        On 2020-02-29 02:21, Claes Redestad wrote:
        > Hi,
        > 
        > I think we typically add NOT_CDS_RETURN to the declaration of the method
        > in systemDictionary.hpp:
        > 
        > diff -r f227e770495f src/hotspot/share/classfile/systemDictionaryShared.hpp
        > --- a/src/hotspot/share/classfile/systemDictionaryShared.hpp    Fri Feb 
        > 28 15:30:29 2020 -0800
        > +++ b/src/hotspot/share/classfile/systemDictionaryShared.hpp    Sat Feb 
        > 29 02:20:09 2020 +0100
        > @@ -271,7 +271,7 @@
        >     }
        > 
        >     static void update_shared_entry(InstanceKlass* klass, int id);
        > -  static void set_shared_class_misc_info(InstanceKlass* k, 
        > ClassFileStream* cfs);
        > +  static void set_shared_class_misc_info(InstanceKlass* k, 
        > ClassFileStream* cfs) NO_CDS_RETURN;
        > 
        >     static InstanceKlass* lookup_from_stream(Symbol* class_name,
        >                                              Handle class_loader,
        > 
        > This should fix your issue with less clutter.
        > 
        > Looks good and trivial either way to me.
        > 
        > Thanks!
        > 
        > /Claes
        > 
        > On 2020-02-29 02:06, jiefu(傅杰) wrote:
        >> Hi all,
        >>
        >> JBS: https://bugs.openjdk.java.net/browse/JDK-8240254
        >>
        >> Build is broken when cds is disabled.
        >>
        >> It might be fixed by
        >> ------------------------------------
        >> diff -r f227e770495f src/hotspot/share/classfile/systemDictionary.cpp
        >> --- a/src/hotspot/share/classfile/systemDictionary.cpp  Fri Feb 28 
        >> 15:30:29 2020 -0800
        >> +++ b/src/hotspot/share/classfile/systemDictionary.cpp  Sat Feb 29 
        >> 08:42:41 2020 +0800
        >> @@ -1941,7 +1941,9 @@
        >>     }
        >>
        >>     klass->restore_unshareable_info(loader_data, domain, THREAD);
        >> +#if INCLUDE_CDS
        >>     load_shared_class_misc(klass, loader_data, CHECK);
        >> +#endif
        >>     Dictionary* dictionary = loader_data->dictionary();
        >>     unsigned int hash = dictionary->compute_hash(klass->name());
        >>     dictionary->add_klass(hash, klass->name(), klass);
        >> ------------------------------------
        >>
        >> Could you please review it and give me some advice?
        >>
        >> Thanks a lot.
        >> Best regards,
        >> Jie
        >>
        
        
    
    



More information about the hotspot-runtime-dev mailing list