RFR(trivial): 8217318: Unneeded handleization in InstanceKlass::restore_unshareable_info

coleen.phillimore at oracle.com coleen.phillimore at oracle.com
Fri Jan 18 15:10:50 UTC 2019



On 1/18/19 2:16 AM, Claes Redestad wrote:
> On 2019-01-17 20:26, coleen.phillimore at oracle.com wrote:
>> This looks good.
>
> Thanks!
>
>> I'd suggest a comment why methodHandle isn't needed for the place 
>> where you removed it but that would look strange:
>> methodHandle isn't needed here, even though it can safepoint, because 
>> this class can't be redefined because it's not added to the 
>> dictionary yet.
>
> +    // No need for a methodHandle here since methods not yet added
> +    // to SystemDictionary can't be redefined.
>

I think the comment might cause more confusion than it helps, since it's 
describing code not there.  Can you add this or similar in the Summary: 
when you check in?

Thanks,
Coleen
> ?
>
> /Claes
>>
>> Thanks,
>> Coleen
>>
>> On 1/17/19 9:50 AM, Claes Redestad wrote:
>>> Hi,
>>>
>>> a trivial(?) cleanup/optimization to avoid unneeded methodHandles when
>>> loading methods from a CDS archive.
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8217318
>>> Patch:
>>>
>>> diff -r 91ab128a65a3 src/hotspot/share/oops/instanceKlass.cpp
>>> --- a/src/hotspot/share/oops/instanceKlass.cpp    Wed Jan 16 
>>> 10:16:08 2019 +0100
>>> +++ b/src/hotspot/share/oops/instanceKlass.cpp    Thu Jan 17 
>>> 15:29:03 2019 +0100
>>> @@ -2375,8 +2375,7 @@
>>>    Array<Method*>* methods = this->methods();
>>>    int num_methods = methods->length();
>>>    for (int index2 = 0; index2 < num_methods; ++index2) {
>>> -    methodHandle m(THREAD, methods->at(index2));
>>> -    m->restore_unshareable_info(CHECK);
>>> + methods->at(index2)->restore_unshareable_info(CHECK);
>>>    }
>>>    if (JvmtiExport::has_redefined_a_class()) {
>>>      // Reinitialize vtable because RedefineClasses may have changed 
>>> some
>>>
>>> Testing: tier1-3 (completed)
>>>
>>> Thanks!
>>>
>>> /Claes
>>
>



More information about the hotspot-runtime-dev mailing list