RFR(t) 8217424 Remove the idempotent parameter to Method::sort_methods

coleen.phillimore at oracle.com coleen.phillimore at oracle.com
Tue Jan 22 20:17:42 UTC 2019



On 1/22/19 2:40 PM, Ioi Lam wrote:
> Hi Coleen, thanks for the archeological report. I can't really 
> understand what this comment means, either.
>
> Also thanks to Aleksey for the review. I'll push the changeset now.
>
> BTW, I wonder why we don't do a complete ordering using the method 
> name + signature. That way we can do a simple binary search, and 
> there's no need for the up and down walking in 
> InstanceKlass::find_method_index.

I don't know either.  It would help with redefinition in checking for 
matching methods.

Coleen
>
> Thanks
>
> - Ioi
>
> On 1/22/19 5:33 AM, coleen.phillimore at oracle.com wrote:
>>
>> I checked out of curiousity, this is what it used to do:
>>
>>   // Prevent qsort from reordering a previous valid sort by
>>   // considering the address of the methodOops if two methods
>>   // would otherwise compare as equal.  Required to preserve
>>   // optimal access order in the shared archive.  Slower than
>>   // method_compare, only used for shared archive creation.
>>   static int method_compare_idempotent(methodOop* a, methodOop* b) {
>>     int i = method_compare(a, b);
>>     if (i != 0) return i;
>>     return ( a < b ? -1 : (a == b ? 0 : 1));
>>   }
>>
>> So if the Method name was the same it would preserve the order in the 
>> CDS archive.  Not sure why that would have been optimial.
>> Looks good!
>> Coleen
>>
>> On 1/22/19 12:30 AM, Ioi Lam wrote:
>>> Please review this trivial change.
>>>
>>> The "idempotent" parameter to Method::sort_methods() is always 
>>> false, so let's just remove it.
>>>
>>> https://bugs.openjdk.java.net/browse/JDK-8217424
>>> http://cr.openjdk.java.net/~iklam/jdk13/8217424-sort-methods-idempotent-param.v01/ 
>>>
>>>
>>> Thanks
>>> - Ioi
>>



More information about the hotspot-runtime-dev mailing list