RFR: 8240254: Build is broken when cds is disabled after JDK-8236604
Claes Redestad
claes.redestad at oracle.com
Sat Feb 29 01:24:35 UTC 2020
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